chore: style changes 098b0849
Steve · 2025-12-22 22:31 2 file(s) · +22 −26
Titan/Views/ContentView.swift +22 −24
47 47
                .contentMargins(.top, 60, for: .scrollContent)
48 48
            }
49 49
50 -
            HStack(spacing: 20) {
51 -
                // Back button
50 +
            HStack(spacing: 12) {
51 +
                // Back button - always visible, grayed out when disabled
52 52
                Button(action: goBack) {
53 53
                    Image(systemName: "chevron.left")
54 54
                        .font(.title2)
55 -
                        .padding(.leading, 6)
56 -
                        .foregroundColor(.orange)
55 +
                        .foregroundColor(canGoBack && !isLoading ? .orange : .gray.opacity(0.4))
57 56
                }
58 57
                .disabled(!canGoBack || isLoading)
59 58
60 -
                // Forward button
61 -
                Button(action: goForward) {
62 -
                    Image(systemName: "chevron.right")
63 -
                        .font(.title2)
64 -
                        .foregroundColor(.orange)
59 +
                // Forward button - only visible when there's history to go forward
60 +
                if canGoForward {
61 +
                    Button(action: goForward) {
62 +
                        Image(systemName: "chevron.right")
63 +
                            .font(.title2)
64 +
                            .foregroundColor(isLoading ? .gray.opacity(0.4) : .orange)
65 +
                    }
66 +
                    .disabled(isLoading)
65 67
                }
66 -
                .disabled(!canGoForward || isLoading)
67 68
68 -
                TextField("Enter Gemini URL", text: $urlText)
69 -
                    .textFieldStyle(.roundedBorder)
70 -
                    .autocapitalization(.none)
71 -
                    .disableAutocorrection(true)
72 -
                    .keyboardType(.URL)
73 -
                    .onSubmit {
74 -
                        navigateTo(urlText)
75 -
                    }
69 +
                ZStack(alignment: .trailing) {
70 +
                    TextField("Enter Gemini URL", text: $urlText)
71 +
                        .textFieldStyle(.roundedBorder)
72 +
                        .autocapitalization(.none)
73 +
                        .disableAutocorrection(true)
74 +
                        .keyboardType(.URL)
75 +
                        .submitLabel(.go)
76 +
                        .onSubmit {
77 +
                            navigateTo(urlText)
78 +
                        }
76 79
77 -
                Button(action: { navigateTo(urlText) }) {
78 80
                    if isLoading {
79 81
                        ProgressView()
80 82
                            .progressViewStyle(CircularProgressViewStyle())
81 -
                    } else {
82 -
                        Image(systemName: "arrow.right.circle.fill")
83 -
                            .font(.title2)
84 -
                            .foregroundColor(.orange)
83 +
                            .padding(.trailing, 8)
85 84
                    }
86 85
                }
87 -
                .disabled(isLoading || urlText.isEmpty)
88 86
            }
89 87
            .padding(.horizontal)
90 88
            .padding(.bottom, 8)
Titan/Views/TitanContentView.swift +0 −2
37 37
        case .link(let url, let label):
38 38
            Button(action: { onLinkTap(url) }) {
39 39
                HStack(alignment:.top, spacing: 4) {
40 -
                    Text("=>")
41 -
                        .font(.system(size: 14, design: .monospaced))
42 40
                    Text(label)
43 41
                        .multilineTextAlignment(.leading)
44 42
                        .font(.system(size: 14, design: .monospaced))