Home: two floors of flat app pills (Claude, ChatGPT, two empty slots); hide VS Code and service pills

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
maksarsanjeev
2026-10-06 22:03:58 +03:00
parent 319cdc8b18
commit 3c8a9a1c12
3 changed files with 173 additions and 4 deletions
+7 -1
View File
@@ -292,7 +292,8 @@ final class AppState: ObservableObject {
}
// Active integration pills (main workspace pill excluded). Max 4.
@Published var activeIntegrations: Set<String> = ["integration_resend", "integration_n8n", "integration_vercel", "integration_github"] {
// BroV: no service pills by default (add them back in Settings → Pills).
@Published var activeIntegrations: Set<String> = [] {
didSet {
if let data = try? JSONEncoder().encode(Array(activeIntegrations)) {
UserDefaults.standard.set(data, forKey: "activeIntegrations")
@@ -452,6 +453,11 @@ final class AppState: ObservableObject {
let a = try? JSONDecoder().decode([String].self, from: d) { vercelProjectFilter = Set(a) }
if let d = ud.data(forKey: "n8nWorkflowFilter"),
let a = try? JSONDecoder().decode([String].self, from: d) { n8nWorkflowFilter = Set(a) }
// BroV home redesign: drop the four default service pills once.
if !ud.bool(forKey: "brovServicePillsCleared") {
ud.removeObject(forKey: "activeIntegrations")
ud.set(true, forKey: "brovServicePillsCleared")
}
if let d = ud.data(forKey: "activeIntegrations"),
let a = try? JSONDecoder().decode([String].self, from: d) { activeIntegrations = Set(a) }
if let v = ud.string(forKey: "mainPill"), !v.isEmpty,