mirror of
https://github.com/truewhile/MeBox.git
synced 2026-10-03 04:26:36 +08:00
@
feat: Warm Industrial UI redesign + social footer + code deduplication Design System (Phase A): - New palette: warm charcoal #111110 / amber gold #c9954a / sage green #7a9a8a - Fonts: Cabinet Grotesk (heading) + Geist (body) + JetBrains Mono (data) - SVG grain texture overlay, collapsed sidebar with hover expand - Bento grid dashboard with WideContinueCard + PosterCard + QuickLink - Backward-compatible CSS aliases for glass-panel/neon-button/input-base Social Footer (Phase B): - AppFooter component with GitHub repo / author homepage / TG group links - Embedded in LoginPage, Layout (global), and SettingsPage - TG group badge added to README.md Code Cleanup: - Removed deprecated DownloadClientCard / NotifyChannelCard components - Merged downloadClient/notify API clients into unified modules - Route deduplication: removed authed-group duplicates for admin endpoints - Removed redundant AdminPage tabs (sites/downloads/notify/scheduler) - UI fixes: blank pages (discover/download-clients/notify-channels) nil slice defense - Email channel support in NotifyChannelsPage @
This commit is contained in:
+96
-13
@@ -4,24 +4,107 @@ export default {
|
||||
theme: {
|
||||
extend: {
|
||||
fontFamily: {
|
||||
display: ['Orbitron', 'sans-serif'],
|
||||
body: ['Inter', 'PingFang SC', 'Microsoft YaHei', 'sans-serif'],
|
||||
display: ['"Cabinet Grotesk"', 'system-ui', 'sans-serif'],
|
||||
body: ['Geist', '"PingFang SC"', '"Microsoft YaHei"', 'sans-serif'],
|
||||
mono: ['"JetBrains Mono"', '"Fira Code"', 'monospace'],
|
||||
},
|
||||
colors: {
|
||||
primary: {
|
||||
400: '#00F0FF',
|
||||
500: '#00D4E0',
|
||||
600: '#00A8B8',
|
||||
// ── New Warm Industrial palette ──
|
||||
brand: {
|
||||
DEFAULT: '#c9954a',
|
||||
50: '#fdf8f0',
|
||||
100: '#f9edda',
|
||||
200: '#f2d8b0',
|
||||
300: '#e8bc7d',
|
||||
400: '#dca45c',
|
||||
500: '#c9954a',
|
||||
600: '#b07a38',
|
||||
700: '#936031',
|
||||
800: '#794e2d',
|
||||
900: '#654128',
|
||||
950: '#3a2214',
|
||||
},
|
||||
accent: {
|
||||
400: '#A855F7',
|
||||
500: '#8A2BE2',
|
||||
sage: {
|
||||
DEFAULT: '#7a9a8a',
|
||||
50: '#f3f7f4',
|
||||
100: '#e4ece6',
|
||||
200: '#c9d9ce',
|
||||
300: '#a6bfad',
|
||||
400: '#7a9a8a',
|
||||
500: '#5e7e6e',
|
||||
600: '#496558',
|
||||
700: '#3c5247',
|
||||
800: '#334339',
|
||||
900: '#2c3831',
|
||||
950: '#151f19',
|
||||
},
|
||||
surface: {
|
||||
700: '#1a2332',
|
||||
800: '#121a27',
|
||||
900: '#0b1120',
|
||||
950: '#060a13',
|
||||
DEFAULT: '#1a1a18',
|
||||
50: '#2e2e2a',
|
||||
100: '#2a2a26',
|
||||
200: '#242420',
|
||||
300: '#1e1e1b',
|
||||
400: '#1a1a18',
|
||||
500: '#161614',
|
||||
600: '#111110',
|
||||
// Backward-compat (old 700-950 → warm charcoal)
|
||||
700: '#242420',
|
||||
800: '#1a1a18',
|
||||
900: '#111110',
|
||||
950: '#0d0d0c',
|
||||
},
|
||||
cream: {
|
||||
DEFAULT: '#e8e4d9',
|
||||
50: '#faf8f4',
|
||||
100: '#f3f0e8',
|
||||
200: '#e8e4d9',
|
||||
300: '#c4bfb5',
|
||||
400: '#a09b92',
|
||||
500: '#7d7871',
|
||||
600: '#605c56',
|
||||
700: '#4a4742',
|
||||
800: '#363330',
|
||||
900: '#242220',
|
||||
},
|
||||
|
||||
// ── Backward-compat aliases (old class names → new warm colors) ──
|
||||
primary: {
|
||||
400: '#dca45c', // was cyan → now brand-400
|
||||
500: '#c9954a', // was cyan → now brand-500
|
||||
600: '#b07a38', // was cyan → now brand-600
|
||||
},
|
||||
accent: {
|
||||
400: '#7a9a8a', // was purple → now sage-400
|
||||
500: '#5e7e6e', // was purple → now sage-500
|
||||
},
|
||||
},
|
||||
fontSize: {
|
||||
'2xs': ['0.625rem', { lineHeight: '0.875rem' }],
|
||||
},
|
||||
spacing: {
|
||||
'18': '4.5rem',
|
||||
'88': '22rem',
|
||||
},
|
||||
transitionDuration: {
|
||||
'400': '400ms',
|
||||
},
|
||||
animation: {
|
||||
'slide-in-left': 'slideInLeft 0.3s ease-out',
|
||||
'fade-in': 'fadeIn 0.4s ease-out',
|
||||
'scale-in': 'scaleIn 0.3s ease-out',
|
||||
},
|
||||
keyframes: {
|
||||
slideInLeft: {
|
||||
'0%': { opacity: '0', transform: 'translateX(-8px)' },
|
||||
'100%': { opacity: '1', transform: 'translateX(0)' },
|
||||
},
|
||||
fadeIn: {
|
||||
'0%': { opacity: '0' },
|
||||
'100%': { opacity: '1' },
|
||||
},
|
||||
scaleIn: {
|
||||
'0%': { opacity: '0', transform: 'scale(0.96)' },
|
||||
'100%': { opacity: '1', transform: 'scale(1)' },
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user