Production-grade visual upgrade. Pulls the violet→blue gradient from
the H glass app icon up into a coherent design system: brand color,
focus rings, button gradients, sidebar accents, selection highlight,
shadow tints all derive from the same palette. Result: login surface
no longer clashes with the app icon, post-login UI feels like a
single product instead of a Tauri shell.
Changes
-------
src/theme/globals.css — Iris design tokens:
- --color-primary #C5A572 (gold) → #7B6BE3 (violet, from logo)
- --color-secondary slate → #6B7CE0 (blue from logo)
- --color-tertiary gold → #9A8DEC (lighter violet)
- Surface stack rebased to slight cool/blue undertone (#13131A,
#181820, …) so violet accents pop without clashing
- Borders softened: --color-border 0.08 → 0.06, separator 0.06 → 0.04
- Radii loosened: sm 4 → 6, md 8 → 10, lg 12 → 14, xl 16 → 18
- --gradient-btn-primary: 3-stop violet→primary→blue (replaces flat
gold gradient); CTA glow shadow tinted violet
- --gradient-brand-wordmark exposed as a token so wordmark / avatar
gradient stays consistent across surfaces
- --shadow-dropdown: 3-stop layered, dark stop tinted violet so
floating menus feel of-a-piece with brand
- --shadow-focus-ring: violet 55% so input focus is visible
- --color-selection-bg: violet 32%
- Sidebar item hover/active: rgba violet base instead of plain white
- Sidebar panel backdrop: 2-stop radial (violet top-left + blue
bottom-right) replacing plain gold radial
- Type scale tokens: --text-xxs … --text-display
- Body font-feature-settings: 'kern','liga','cv11' +
text-rendering: optimizeLegibility for crisp Inter / Manrope
- .tabular-nums utility for status counters
src/components/login/HeicodeLoginPage.tsx — login redesign:
- Embeds /app-icon.png (the H glass logo) above wordmark
- Drop-shadow violet-tinted so icon feels continuous with backdrop
- Layered backdrop: violet halo top, blue glow bottom, faint SVG
grain texture for tactile premium feel
- Wordmark + tagline use --gradient-brand-wordmark token
- Card max-width tightened to sm (was md) for taller, more focused
composition (Linear / Vercel / Raycast desktop login style)
- Chrome strip: blurred translucent surface
src/components/login/ProviderLoginCard.tsx:
- Card gets faint violet→neutral surface gradient (lifts off backdrop
without heavy 1px border)
- Top hairline accent (centered violet line) at card top edge
- CTA button uses --gradient-btn-primary; hover glow stronger;
active scale 0.99 microinteraction
- Removed hardcoded rgba(197,165,114,…) gold artifact
src/components/layout/TitleBar.tsx:
- UserPill avatar gradient now uses --gradient-brand-wordmark token
(was inline hardcoded violet) so future palette tweaks propagate
src-tauri (Cargo.toml + src/lib.rs):
- Add tauri-plugin-single-instance and register it as the FIRST
plugin in the Builder chain. Subsequent Heicode launches focus
the existing window via show_main_window() instead of spawning
a new sidecar / new server port. Fixes "every shortcut click
starts a new instance" behavior.
Verification
------------
- bunx tsc -b --noEmit (desktop) clean
- cargo check (src-tauri) clean
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
24 lines
536 B
TOML
24 lines
536 B
TOML
[package]
|
|
name = "heicode-desktop"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
|
|
[lib]
|
|
name = "heicode_desktop_lib"
|
|
crate-type = ["staticlib", "cdylib", "rlib"]
|
|
|
|
[build-dependencies]
|
|
tauri-build = { version = "2", features = [] }
|
|
|
|
[dependencies]
|
|
tauri = { version = "2", features = ["tray-icon"] }
|
|
tauri-plugin-shell = "2"
|
|
tauri-plugin-dialog = "2"
|
|
tauri-plugin-process = "2"
|
|
tauri-plugin-updater = "2"
|
|
tauri-plugin-single-instance = "2"
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
anyhow = "1.0.102"
|
|
portable-pty = "0.9.0"
|