BroV look: swamp-zombie unibrow character, new app and menu bar icons, BroV naming in UI
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -119,7 +119,7 @@ struct SettingsView: View {
|
||||
.resizable()
|
||||
.frame(width: 32, height: 32)
|
||||
VStack(alignment: .leading, spacing: 1) {
|
||||
Text("Coucou")
|
||||
Text("BroV")
|
||||
.font(.system(size: 13, weight: .semibold))
|
||||
Text(appVersion)
|
||||
.font(.system(size: 11))
|
||||
@@ -301,14 +301,14 @@ struct SettingsView: View {
|
||||
VStack(alignment: .leading, spacing: 6) {
|
||||
Toggle("Show my agent sessions on my iPhone", isOn: $iPhoneSyncEnabled)
|
||||
.onChange(of: iPhoneSyncEnabled) { _, on in CloudProbe.shared.setEnabled(on) }
|
||||
Text("Sends your sessions to your private iCloud for the Coucou iPhone app. Project names, commands and questions are encrypted with your iCloud keys. Turning it off deletes them from iCloud.")
|
||||
Text("Sends your sessions to your private iCloud for the BroV iPhone app. Project names, commands and questions are encrypted with your iCloud keys. Turning it off deletes them from iCloud.")
|
||||
.font(.system(size: 11))
|
||||
.foregroundColor(.secondary)
|
||||
.fixedSize(horizontal: false, vertical: true)
|
||||
Toggle("Move Mochi to my iPhone's Dynamic Island when my Mac is locked", isOn: $iPhoneLiveActivityEnabled)
|
||||
.disabled(!iPhoneSyncEnabled)
|
||||
.onChange(of: iPhoneLiveActivityEnabled) { _, on in LiveActivityRelay.shared.setEnabled(on) }
|
||||
Text("Goes through the Coucou relay to Apple's push service. Only the agent's name and state are sent: no project name, command or path.")
|
||||
Text("Goes through the BroV relay to Apple's push service. Only the agent's name and state are sent: no project name, command or path.")
|
||||
.font(.system(size: 11))
|
||||
.foregroundColor(.secondary)
|
||||
.fixedSize(horizontal: false, vertical: true)
|
||||
@@ -332,7 +332,7 @@ struct SettingsView: View {
|
||||
@ViewBuilder private var activePillsSection: some View {
|
||||
GroupBox {
|
||||
VStack(alignment: .leading, spacing: 10) {
|
||||
Text("Choose the tools you use. Coucou only shows what you declare here.")
|
||||
Text("Choose the tools you use. BroV only shows what you declare here.")
|
||||
.font(.system(size: 11))
|
||||
.foregroundColor(.secondary)
|
||||
|
||||
@@ -534,7 +534,7 @@ struct SettingsView: View {
|
||||
|
||||
GroupBox("Plan usage") {
|
||||
VStack(alignment: .leading, spacing: 10) {
|
||||
Text("Shows your Claude plan usage (5-hour and weekly limits) in the notch header. Coucou adds a status line relay to ~/.claude/settings.json. If you already have a status line, it keeps working as before. Pro and Max plans only.")
|
||||
Text("Shows your Claude plan usage (5-hour and weekly limits) in the notch header. BroV adds a status line relay to ~/.claude/settings.json. If you already have a status line, it keeps working as before. Pro and Max plans only.")
|
||||
.font(.system(size: 11))
|
||||
.foregroundColor(.secondary)
|
||||
.fixedSize(horizontal: false, vertical: true)
|
||||
@@ -936,7 +936,7 @@ struct SettingsView: View {
|
||||
private func installHooksAppStore() {
|
||||
guard let claudeURL = pickClaudeFolder(prompt: "Select") else { return }
|
||||
let alert = NSAlert()
|
||||
alert.messageText = "Install Coucou hooks in ~/.claude?"
|
||||
alert.messageText = "Install BroV hooks in ~/.claude?"
|
||||
alert.informativeText = "Will write:\n• ~/.claude/coucou/nb-hook\n• ~/.claude/settings.json (backup created first)"
|
||||
alert.addButton(withTitle: "Install")
|
||||
alert.addButton(withTitle: "Cancel")
|
||||
@@ -1036,7 +1036,7 @@ struct SettingsView: View {
|
||||
pendingGeminiJSON = try HookServer.shared.previewGeminiHooks(install: install)
|
||||
showGeminiDiff = true
|
||||
statusMessage = "Review the JSON below before confirming."
|
||||
} catch let e as NSError where e.domain == "CoucouNoop" {
|
||||
} catch let e as NSError where e.domain == "BroVNoop" {
|
||||
statusMessage = e.localizedDescription
|
||||
} catch {
|
||||
statusMessage = "❌ \(error.localizedDescription)"
|
||||
@@ -1063,7 +1063,7 @@ struct SettingsView: View {
|
||||
pendingAgyJSON = try HookServer.shared.previewAgyHooks(install: install)
|
||||
showAgyDiff = true
|
||||
statusMessage = "Review the JSON below before confirming."
|
||||
} catch let e as NSError where e.domain == "CoucouNoop" {
|
||||
} catch let e as NSError where e.domain == "BroVNoop" {
|
||||
statusMessage = e.localizedDescription
|
||||
} catch {
|
||||
statusMessage = "❌ \(error.localizedDescription)"
|
||||
@@ -1090,7 +1090,7 @@ struct SettingsView: View {
|
||||
pendingCodexJSON = try HookServer.shared.previewCodexHooks(install: install)
|
||||
showCodexDiff = true
|
||||
statusMessage = "Review the JSON below before confirming."
|
||||
} catch let e as NSError where e.domain == "CoucouNoop" {
|
||||
} catch let e as NSError where e.domain == "BroVNoop" {
|
||||
statusMessage = e.localizedDescription
|
||||
} catch {
|
||||
statusMessage = "❌ \(error.localizedDescription)"
|
||||
|
||||
Reference in New Issue
Block a user