chore: refactored buttons
e8006c67
1 file(s) · +19 −15
| 79 | 79 | ||
| 80 | 80 | GlassEffectContainer { |
|
| 81 | 81 | HStack(spacing: 12) { |
|
| 82 | - | // Navigation buttons with glass effect |
|
| 83 | - | Button(action: goBack) { |
|
| 84 | - | Image(systemName: "chevron.left") |
|
| 85 | - | .font(.title2) |
|
| 86 | - | .foregroundStyle(canGoBack && !isLoading ? .primary : .tertiary) |
|
| 87 | - | .frame(width: 44, height: 44) |
|
| 88 | - | } |
|
| 89 | - | .disabled(!canGoBack || isLoading) |
|
| 90 | - | .glassEffect(.regular.interactive()) |
|
| 82 | + | // Navigation buttons in a single pill |
|
| 83 | + | HStack(spacing: 0) { |
|
| 84 | + | Button(action: goBack) { |
|
| 85 | + | Image(systemName: "chevron.left") |
|
| 86 | + | .font(.title2) |
|
| 87 | + | .foregroundStyle(canGoBack && !isLoading ? .primary : .tertiary) |
|
| 88 | + | .frame(width: 44, height: 44) |
|
| 89 | + | } |
|
| 90 | + | .disabled(!canGoBack || isLoading) |
|
| 91 | 91 | ||
| 92 | - | Button(action: goForward) { |
|
| 93 | - | Image(systemName: "chevron.right") |
|
| 94 | - | .font(.title2) |
|
| 95 | - | .foregroundStyle(canGoForward && !isLoading ? .primary : .tertiary) |
|
| 96 | - | .frame(width: 44, height: 44) |
|
| 92 | + | Divider() |
|
| 93 | + | .frame(height: 24) |
|
| 94 | + | ||
| 95 | + | Button(action: goForward) { |
|
| 96 | + | Image(systemName: "chevron.right") |
|
| 97 | + | .font(.title2) |
|
| 98 | + | .foregroundStyle(canGoForward && !isLoading ? .primary : .tertiary) |
|
| 99 | + | .frame(width: 44, height: 44) |
|
| 100 | + | } |
|
| 101 | + | .disabled(!canGoForward || isLoading) |
|
| 97 | 102 | } |
|
| 98 | - | .disabled(!canGoForward || isLoading) |
|
| 99 | 103 | .glassEffect(.regular.interactive()) |
|
| 100 | 104 | ||
| 101 | 105 | TextField("Enter Gemini URL", text: $urlText) |