style: align uninstall and translation visuals
This commit is contained in:
@@ -149,7 +149,7 @@ The red **Uninstall application** action morphs the existing launcher into a fil
|
||||
|
||||
The application's name and keyboard guidance remain visible throughout file review: Return toggles inclusion; Command-Return opens confirmation. Filtering preserves discovery progress or errors until discovery succeeds, then shows selection counts and no-match feedback without changing checked files.
|
||||
|
||||
Keyboard file toggles update the existing checkbox without reloading or fading the list, preserving both the highlighted row and scroll position. The launcher's footer Open and Actions labels use 12-point medium text. All custom shortcut hints—in the launcher footer, numbered application rows, uninstall footer, and actions selector—use `ShortcutIndicator` from `Sources/Conjure/ShortcutIndicator.swift` (for example, `ShortcutIndicator("⌘", "K")`). It owns 12-point medium key text, square 18×18-point containers, visible-glyph centering, border styling, and 2-point gaps between adjacent keys; callers position or hide the whole indicator, and numbered rows update their single key without rebuilding the cell. Native menus and shortcut-recording controls retain their platform styling.
|
||||
Keyboard file toggles update the existing checkbox without reloading or fading the list, preserving both the highlighted row and scroll position. Launcher, Translate, and uninstall footer buttons use 12-point medium text, with plain brown-filled action pills inset 8 points from the right and bottom edges. Uninstall retains destructive red text and Command-Return confirmation. All custom shortcut hints—in the launcher footer, numbered application rows, uninstall footer, and actions selector—use `ShortcutIndicator` from `Sources/Conjure/ShortcutIndicator.swift` (for example, `ShortcutIndicator("⌘", "K")`). It owns 12-point medium key text, square 18×18-point containers, visible-glyph centering, border styling, and 2-point gaps between adjacent keys; callers position or hide the whole indicator, and numbered rows update their single key without rebuilding the cell. Native menus and shortcut-recording controls retain their platform styling.
|
||||
|
||||
Numbered row overlays use 13-point numbers in 22×22-point boxes with a lighter opaque warm-brown backing. Their label fade begins 36 points before the badge, twice the original lead-in; other shortcut hints retain their 12-point text and 18×18-point boxes.
|
||||
|
||||
|
||||
@@ -131,7 +131,7 @@ final class SettingsWindowController: NSWindowController, NSWindowDelegate {
|
||||
for label in [instructions, statusLabel, spotlight, loginStatus] {
|
||||
label.textColor = SunsetPalette.secondaryText
|
||||
}
|
||||
for button in [recorder, commandSpaceButton, clearButton, keyboardSettings, loginToggle, loginSettings] {
|
||||
for button in [recorder, commandSpaceButton, clearButton, keyboardSettings, loginToggle, loginSettings, recoveryButton] {
|
||||
button.contentTintColor = SunsetPalette.accent
|
||||
}
|
||||
let loginHeading = NSTextField(labelWithString: "Startup")
|
||||
|
||||
@@ -25,6 +25,7 @@ final class TranslationController: NSViewController, NSTextFieldDelegate, NSText
|
||||
view = NSView()
|
||||
let title = NSTextField(labelWithString: "Conjure Translate · English → Japanese")
|
||||
title.font = .systemFont(ofSize: 13, weight: .semibold)
|
||||
title.textColor = SunsetPalette.text
|
||||
let back = NSButton(title: "", target: self, action: #selector(goBack))
|
||||
back.image = IconStyle.symbol("chevron.left", for: title.font!)
|
||||
back.imageScaling = .scaleProportionallyDown
|
||||
|
||||
@@ -101,7 +101,7 @@ final class UninstallReviewController: NSViewController, NSSearchFieldDelegate,
|
||||
remove.action = #selector(confirmUninstall)
|
||||
remove.contentTintColor = .systemRed
|
||||
remove.isBordered = false
|
||||
remove.font = .systemFont(ofSize: 14, weight: .medium)
|
||||
remove.font = .systemFont(ofSize: 12, weight: .medium)
|
||||
remove.keyEquivalent = "\r"
|
||||
remove.keyEquivalentModifierMask = .command
|
||||
remove.toolTip = "Confirm uninstall (Command-Return). Return toggles the highlighted file."
|
||||
@@ -124,14 +124,12 @@ final class UninstallReviewController: NSViewController, NSSearchFieldDelegate,
|
||||
scroll.autohidesScrollers = true
|
||||
scroll.drawsBackground = false
|
||||
scroll.contentView.drawsBackground = false
|
||||
let pill = NSVisualEffectView()
|
||||
pill.material = .popover
|
||||
pill.blendingMode = .withinWindow
|
||||
pill.state = .active
|
||||
roundMaterialCorners(pill, radius: 18)
|
||||
let pill = NSView()
|
||||
pill.wantsLayer = true
|
||||
pill.layer?.cornerRadius = 18
|
||||
pill.layer?.borderWidth = 0.5
|
||||
pill.layer?.borderColor = SunsetPalette.accent.withAlphaComponent(0.35).cgColor
|
||||
pill.layer?.backgroundColor = SunsetPalette.accent.withAlphaComponent(0.08).cgColor
|
||||
pill.layer?.backgroundColor = SunsetPalette.background.withAlphaComponent(0.25).cgColor
|
||||
let shortcut = ShortcutIndicator("⌘", "↵")
|
||||
for child in [remove, shortcut] {
|
||||
child.translatesAutoresizingMaskIntoConstraints = false
|
||||
@@ -174,8 +172,8 @@ final class UninstallReviewController: NSViewController, NSSearchFieldDelegate,
|
||||
scroll.trailingAnchor.constraint(equalTo: content.trailingAnchor, constant: -12),
|
||||
scroll.bottomAnchor.constraint(equalTo: footer.topAnchor, constant: -16),
|
||||
footer.leadingAnchor.constraint(equalTo: search.leadingAnchor),
|
||||
footer.trailingAnchor.constraint(equalTo: search.trailingAnchor),
|
||||
footer.bottomAnchor.constraint(equalTo: content.bottomAnchor, constant: -16),
|
||||
footer.trailingAnchor.constraint(equalTo: content.trailingAnchor, constant: -8),
|
||||
footer.bottomAnchor.constraint(equalTo: content.bottomAnchor, constant: -8),
|
||||
footer.heightAnchor.constraint(equalToConstant: 36)
|
||||
])
|
||||
}
|
||||
|
||||
@@ -13,12 +13,12 @@
|
||||
|
||||
### Visual consistency
|
||||
|
||||
- [ ] Match uninstall footer text to the launcher/Translate baseline: 12pt medium rather than 14pt; retain destructive red.
|
||||
- [ ] Align the uninstall footer with launcher/Translate: 8pt right/bottom insets rather than 24pt right and 16pt bottom.
|
||||
- [ ] Use the launcher/Translate footer's plain brown-filled view for uninstall instead of adding a popover material and orange tint.
|
||||
- [x] Match uninstall footer text to the launcher/Translate baseline: 12pt medium rather than 14pt; retain destructive red.
|
||||
- [x] Align the uninstall footer with launcher/Translate: 8pt right/bottom insets rather than 24pt right and 16pt bottom.
|
||||
- [x] Use the launcher/Translate footer's plain brown-filled view for uninstall instead of adding a popover material and orange tint.
|
||||
- [x] Apply Actions' SF Symbol optical-inset handling to launcher icons. Native layout measured a 22×29pt command icon view versus 22×22pt action icon views.
|
||||
- [x] Render application and command favorite markers consistently: use the configured star symbol rather than a literal ★ for commands.
|
||||
- [ ] Apply the existing Sunset palette to Translate's custom heading and the Settings recovery button, matching equivalent headings/actions.
|
||||
- [x] Apply the existing Sunset palette to Translate's custom heading and the Settings recovery button, matching equivalent headings/actions.
|
||||
|
||||
### Documentation and visual verification
|
||||
|
||||
|
||||
Reference in New Issue
Block a user