feat(app): add flow diagnostics and refine interface
CI / Validate manifests (push) Has been cancelled
CI / SwiftLint (push) Has been cancelled
CI / iOS / Extension (push) Has been cancelled
CI / macOS (push) Has been cancelled

Improve failure recovery visibility, strengthen account-session handling, and make the cross-platform interface more consistent.
This commit is contained in:
Rocky
2026-08-26 14:40:06 +08:00
parent 1ee032bdb9
commit 39002336c0
78 changed files with 2737 additions and 735 deletions
+18 -13
View File
@@ -30,6 +30,7 @@ enum MacSystemPalette {
ThemePalette(
background: resolved(dark ? darkBackground : warmBackground, dark: dark),
surface: resolved(dark ? darkSurface : warmSurface, dark: dark),
formSurface: resolved(dark ? darkFormSurface : warmFormSurface, dark: dark),
surfaceElevated: resolved(dark ? darkElevated : warmElevated, dark: dark),
surfaceMuted: resolved(dark ? darkMuted : warmMuted, dark: dark),
@@ -45,14 +46,14 @@ enum MacSystemPalette {
textPrimary: resolved(.labelColor, dark: dark),
textSecondary: resolved(.secondaryLabelColor, dark: dark),
textTertiary: resolved(.tertiaryLabelColor, dark: dark),
textOnAccent: Color.white,
textOnAccent: OSGColor.fixedLightContent,
divider: dark
? Color.white.opacity(0.08)
: Color.black.opacity(0.06),
? OSGColor.macDarkDivider
: OSGColor.lightDivider,
dividerStrong: dark
? Color.white.opacity(0.12)
: Color.black.opacity(0.10),
? OSGColor.macDarkDividerStrong
: OSGColor.lightDividerStrong,
recordRed: resolved(.systemRed, dark: dark),
recordBlue: resolved(.systemBlue, dark: dark)
@@ -62,13 +63,15 @@ enum MacSystemPalette {
// MARK: - Warm Light-mode surfaces (matched to iOS `Palette.light`)
/// #F2F1EE warm gray page background.
private static let warmBackground = NSColor(srgbRed: 0.949, green: 0.945, blue: 0.933, alpha: 1)
private static let warmBackground = NSColor(OSGColor.lightBackground)
/// #FCFBF9 warm off-white card/control surface.
private static let warmSurface = NSColor(srgbRed: 0.988, green: 0.984, blue: 0.976, alpha: 1)
private static let warmSurface = NSColor(OSGColor.lightSurface)
/// #FCFBF9 forms retain the ordinary card fill in light mode.
private static let warmFormSurface = warmSurface
/// #EBEAE7 slightly recessed elevated surface.
private static let warmElevated = NSColor(srgbRed: 0.922, green: 0.918, blue: 0.906, alpha: 1)
private static let warmElevated = NSColor(OSGColor.lightSurfaceElevated)
/// #EEEDE9 muted fill between background and surface.
private static let warmMuted = NSColor(srgbRed: 0.933, green: 0.929, blue: 0.918, alpha: 1)
private static let warmMuted = NSColor(OSGColor.lightSurfaceMuted)
// MARK: - Dark-mode surfaces (Apple standard elevated grays)
//
@@ -78,13 +81,15 @@ enum MacSystemPalette {
// clearly elevated above the background mirroring the iOS dark palette.
/// #1C1C1E page background.
private static let darkBackground = NSColor(srgbRed: 0.110, green: 0.110, blue: 0.118, alpha: 1)
private static let darkBackground = NSColor(OSGColor.macDarkBackground)
/// #2C2C2E card / control surface, clearly lighter than the background.
private static let darkSurface = NSColor(srgbRed: 0.173, green: 0.173, blue: 0.180, alpha: 1)
private static let darkSurface = NSColor(OSGColor.macDarkSurface)
/// #343438 interactive form fill between cards and elevated chrome.
private static let darkFormSurface = NSColor(OSGColor.macDarkFormSurface)
/// #3A3A3C elevated fill for selected / raised chrome.
private static let darkElevated = NSColor(srgbRed: 0.227, green: 0.227, blue: 0.235, alpha: 1)
private static let darkElevated = NSColor(OSGColor.macDarkSurfaceElevated)
/// #242426 muted fill between background and surface.
private static let darkMuted = NSColor(srgbRed: 0.141, green: 0.141, blue: 0.149, alpha: 1)
private static let darkMuted = NSColor(OSGColor.macDarkSurfaceMuted)
/// Resolves a (possibly dynamic) AppKit colour to its concrete value under
/// the requested appearance, so the two static palettes differ by value.