diff --git a/ios/Apps/Sybil/Resources/Fonts/StalinistOne-Regular.ttf b/ios/Apps/Sybil/Resources/Fonts/StalinistOne-Regular.ttf new file mode 100644 index 0000000..cca34c0 Binary files /dev/null and b/ios/Apps/Sybil/Resources/Fonts/StalinistOne-Regular.ttf differ diff --git a/ios/Packages/Sybil/Sources/Sybil/SybilPhoneShellView.swift b/ios/Packages/Sybil/Sources/Sybil/SybilPhoneShellView.swift index 1b48086..4957767 100644 --- a/ios/Packages/Sybil/Sources/Sybil/SybilPhoneShellView.swift +++ b/ios/Packages/Sybil/Sources/Sybil/SybilPhoneShellView.swift @@ -34,7 +34,7 @@ struct SybilPhoneShellView: View { .navigationBarTitleDisplayMode(.inline) .toolbar { ToolbarItem(placement: .topBarLeading) { - SybilWordmark(size: 18) + SybilWordmark(size: 21) } } .navigationDestination(for: PhoneRoute.self) { route in @@ -137,12 +137,15 @@ private struct SybilPhoneSidebarRoot: View { .padding(16) } else { ScrollView { - LazyVStack(alignment: .leading, spacing: 8) { + LazyVStack(alignment: .leading, spacing: 0) { ForEach(viewModel.sidebarItems) { item in Button { open(item.selection) } label: { - SybilPhoneSidebarRow(item: item) + VStack(spacing: 0.0) { + SybilPhoneSidebarRow(item: item) + Divider() + } } .buttonStyle( SybilPhoneSidebarRowButtonStyle( @@ -160,7 +163,6 @@ private struct SybilPhoneSidebarRoot: View { } } } - .padding(10) } } } @@ -279,19 +281,18 @@ private struct SybilPhoneSidebarRow: View { var item: SidebarItem var body: some View { - VStack(alignment: .leading, spacing: 6) { + let leadingWidth = 22.0 + + VStack(alignment: .leading, spacing: 8) { HStack(spacing: 8) { Image(systemName: item.kind == .chat ? "message" : "globe") .font(.system(size: 12, weight: .semibold)) .foregroundStyle(isHighlighted ? SybilTheme.accent : SybilTheme.textMuted) - .frame(width: 22, height: 22) + .frame(width: leadingWidth, height: leadingWidth) .background( - RoundedRectangle(cornerRadius: 7) + Rectangle() .fill(isHighlighted ? SybilTheme.accent.opacity(0.12) : SybilTheme.surface.opacity(0.72)) - .overlay( - RoundedRectangle(cornerRadius: 7) - .stroke(isHighlighted ? SybilTheme.accent.opacity(0.36) : SybilTheme.border.opacity(0.72), lineWidth: 1) - ) + ) Text(item.title) @@ -300,6 +301,9 @@ private struct SybilPhoneSidebarRow: View { } HStack(spacing: 8) { + Spacer() + .frame(width: leadingWidth) + Text(item.updatedAt.sybilRelativeLabel) .font(.sybil(.caption2)) .foregroundStyle(SybilTheme.textMuted) @@ -316,21 +320,17 @@ private struct SybilPhoneSidebarRow: View { } } .foregroundStyle(SybilTheme.text) - .padding(.horizontal, 12) - .padding(.vertical, 10) + .padding(18.0) .frame(maxWidth: .infinity, alignment: .leading) .background( - RoundedRectangle(cornerRadius: 12) + Rectangle() .fill( isHighlighted ? SybilTheme.selectedRowGradient : LinearGradient(colors: [SybilTheme.surface.opacity(0.56), SybilTheme.surface.opacity(0.36)], startPoint: .topLeading, endPoint: .bottomTrailing) ) ) - .overlay( - RoundedRectangle(cornerRadius: 12) - .stroke(isHighlighted ? SybilTheme.primary.opacity(0.55) : SybilTheme.border.opacity(0.72), lineWidth: 1) - ) + } } diff --git a/ios/Packages/Sybil/Sources/Sybil/SybilTheme.swift b/ios/Packages/Sybil/Sources/Sybil/SybilTheme.swift index a8162d4..40faed4 100644 --- a/ios/Packages/Sybil/Sources/Sybil/SybilTheme.swift +++ b/ios/Packages/Sybil/Sources/Sybil/SybilTheme.swift @@ -9,7 +9,7 @@ enum SybilFontRegistry { } private static let registeredFonts: Void = { - for fontName in ["Inter", "Orbitron"] { + for fontName in ["Inter", "Orbitron", "StalinistOne-Regular"] { guard let url = Bundle.main.url(forResource: fontName, withExtension: "ttf", subdirectory: "Fonts") ?? Bundle.main.url(forResource: fontName, withExtension: "ttf") else { @@ -203,7 +203,7 @@ struct SybilWordmark: View { var body: some View { Text("SYBIL") - .font(.custom("Orbitron", size: size)) + .font(.custom("Stalinist One", size: size)) .fontWeight(.black) .tracking(0) .foregroundStyle(SybilTheme.brandGradient) diff --git a/ios/Packages/Sybil/Sources/Sybil/SybilViewModel.swift b/ios/Packages/Sybil/Sources/Sybil/SybilViewModel.swift index 12858e9..26a7330 100644 --- a/ios/Packages/Sybil/Sources/Sybil/SybilViewModel.swift +++ b/ios/Packages/Sybil/Sources/Sybil/SybilViewModel.swift @@ -332,7 +332,7 @@ final class SybilViewModel { kind: .search, title: searchTitle(title: search.title, query: search.query), updatedAt: search.updatedAt, - initiatedLabel: nil + initiatedLabel: "exa" ) } diff --git a/ios/Packages/Sybil/Sources/Sybil/SybilWorkspaceView.swift b/ios/Packages/Sybil/Sources/Sybil/SybilWorkspaceView.swift index 81099c4..325a8cf 100644 --- a/ios/Packages/Sybil/Sources/Sybil/SybilWorkspaceView.swift +++ b/ios/Packages/Sybil/Sources/Sybil/SybilWorkspaceView.swift @@ -63,7 +63,7 @@ struct SybilWorkspaceView: View { } private var shouldAutoFocusComposer: Bool { - viewModel.displayedMessages.isEmpty + viewModel.draftKind == .chat && viewModel.displayedMessages.isEmpty } private var composerFocusPolicyID: String {