feat(admin): modernize tenant admin PWA with cockpit layout and slate theme
Some checks failed
linter / quality (push) Has been cancelled
tests / ci (push) Has been cancelled
tests / ui (push) Has been cancelled

- Replaced rainbow grid with phase-aware cockpit layout
- Implemented smart lifecycle hero with readiness logic
- Introduced dark command bar header with context pill and search placeholder
- Updated global Tamagui theme to slate/indigo palette
- Refined bottom navigation with minimalist spotlight style
This commit is contained in:
Codex Agent
2026-01-17 14:46:19 +01:00
parent 7e77dd2931
commit 40bed1e44e
12 changed files with 17652 additions and 48608 deletions

View File

@@ -8,27 +8,24 @@ const tokens = {
...baseTokens,
color: {
...baseTokens.color,
primary: '#FF5C5C',
accent: '#3D5AFE',
accentSoft: '#E8ECFF',
success: '#22C55E',
warning: '#FBBF24',
danger: '#EF4444',
primary: '#4F46E5', // Indigo 600
accent: '#F43F5E', // Rose 500
accentSoft: '#E0E7FF', // Indigo 100
success: '#10B981', // Emerald 500
warning: '#F59E0B', // Amber 500
danger: '#EF4444', // Red 500
surface: '#ffffff',
muted: '#FFF6F0',
border: '#F3D6C9',
text: '#0B132B',
muted: '#F8FAFC', // Slate 50
border: '#E2E8F0', // Slate 200
text: '#0F172A', // Slate 900
},
radius: {
...baseTokens.radius,
card: 20,
// ... existing radius tokens ...
card: 16,
tile: 14,
pill: 999,
},
size: {
...baseTokens.size,
card: 20,
},
// ...
};
const themes = {
@@ -37,27 +34,27 @@ const themes = {
...baseThemes.light,
primary: tokens.color.primary,
accent: tokens.color.accent,
background: '#FFF1E8',
backgroundHover: '#FFE8DD',
backgroundPress: '#FFE1D2',
background: '#F1F5F9', // Slate 100
backgroundHover: '#E2E8F0',
backgroundPress: '#CBD5E1',
backgroundStrong: tokens.color.surface,
backgroundTransparent: 'rgba(255, 241, 232, 0)',
backgroundTransparent: 'rgba(241, 245, 249, 0)',
color: tokens.color.text,
colorHover: '#091024',
colorPress: '#091024',
colorFocus: '#091024',
colorHover: '#1E293B',
colorPress: '#1E293B',
colorFocus: '#1E293B',
borderColor: tokens.color.border,
borderColorHover: '#EBCABA',
borderColorPress: '#E1BFAE',
shadowColor: 'rgba(11, 19, 43, 0.16)',
shadowColorPress: 'rgba(11, 19, 43, 0.2)',
shadowColorFocus: 'rgba(11, 19, 43, 0.24)',
borderColorHover: '#CBD5E1',
borderColorPress: '#94A3B8',
shadowColor: 'rgba(15, 23, 42, 0.08)',
shadowColorPress: 'rgba(15, 23, 42, 0.12)',
shadowColorFocus: 'rgba(15, 23, 42, 0.12)',
surface: tokens.color.surface,
muted: tokens.color.muted,
blue3: tokens.color.accentSoft,
blue6: tokens.color.accent,
blue6: '#6366F1', // Indigo 500
blue10: tokens.color.primary,
blue11: '#1E36F1',
blue11: '#4338CA', // Indigo 700
},
dark: {
...baseThemes.dark,