feat: GeoScene frontend POC + Docker deploy for remote host
Migrate maps to @geoscene/core, polish monitoring/alerts UX, fix timeline basemap flicker and district alert regions, and ship compose/nginx Docker deploy assets with CBPOA_ROOT data mounts. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -8,41 +8,73 @@ export default {
|
||||
extend: {
|
||||
colors: {
|
||||
primary: {
|
||||
DEFAULT: '#2563EB',
|
||||
light: '#3B82F6',
|
||||
muted: '#DBEAFE',
|
||||
DEFAULT: '#0F766E',
|
||||
light: '#14B8A6',
|
||||
muted: '#CCFBF1',
|
||||
deep: '#0D5C56',
|
||||
},
|
||||
mist: {
|
||||
DEFAULT: '#5B8FA8',
|
||||
light: '#E8F2F6',
|
||||
deep: '#3D6B82',
|
||||
},
|
||||
success: {
|
||||
DEFAULT: '#059669',
|
||||
light: '#D1FAE5',
|
||||
DEFAULT: '#0D9488',
|
||||
light: '#CCFBF1',
|
||||
},
|
||||
warning: {
|
||||
DEFAULT: '#D97706',
|
||||
DEFAULT: '#C27803',
|
||||
light: '#FEF3C7',
|
||||
},
|
||||
danger: {
|
||||
DEFAULT: '#DC2626',
|
||||
light: '#FEE2E2',
|
||||
DEFAULT: '#C2410C',
|
||||
light: '#FFEDD5',
|
||||
},
|
||||
bg: {
|
||||
page: '#F8FAFC',
|
||||
page: '#F0F4F6',
|
||||
card: '#FFFFFF',
|
||||
hover: '#F1F5F9',
|
||||
active: '#E2E8F0',
|
||||
hover: '#E8EEF1',
|
||||
active: '#D8E4E9',
|
||||
elevated: '#FAFCFD',
|
||||
},
|
||||
text: {
|
||||
primary: '#1E293B',
|
||||
secondary: '#64748B',
|
||||
muted: '#94A3B8',
|
||||
primary: '#1A2B33',
|
||||
secondary: '#5A6F7A',
|
||||
muted: '#8A9BA5',
|
||||
},
|
||||
border: {
|
||||
DEFAULT: '#E2E8F0',
|
||||
light: '#F1F5F9',
|
||||
DEFAULT: '#D4DEE4',
|
||||
light: '#E8EEF1',
|
||||
},
|
||||
},
|
||||
fontFamily: {
|
||||
sans: ['Inter', 'Noto Sans SC', 'system-ui', 'sans-serif'],
|
||||
display: ['Source Sans Pro', 'sans-serif'],
|
||||
sans: ['"Noto Sans SC"', '"Outfit"', 'sans-serif'],
|
||||
display: ['"Outfit"', '"Noto Sans SC"', 'sans-serif'],
|
||||
mono: ['"IBM Plex Mono"', 'ui-monospace', 'monospace'],
|
||||
},
|
||||
boxShadow: {
|
||||
soft: '0 1px 2px rgba(26, 43, 51, 0.04), 0 4px 16px rgba(26, 43, 51, 0.05)',
|
||||
lift: '0 2px 8px rgba(15, 118, 110, 0.08), 0 8px 24px rgba(26, 43, 51, 0.06)',
|
||||
brand: '0 8px 32px rgba(15, 118, 110, 0.18)',
|
||||
},
|
||||
keyframes: {
|
||||
'fade-up': {
|
||||
'0%': { opacity: '0', transform: 'translateY(10px)' },
|
||||
'100%': { opacity: '1', transform: 'translateY(0)' },
|
||||
},
|
||||
'fade-in': {
|
||||
'0%': { opacity: '0' },
|
||||
'100%': { opacity: '1' },
|
||||
},
|
||||
'breath': {
|
||||
'0%, 100%': { opacity: '0.35' },
|
||||
'50%': { opacity: '0.55' },
|
||||
},
|
||||
},
|
||||
animation: {
|
||||
'fade-up': 'fade-up 0.5s ease-out both',
|
||||
'fade-in': 'fade-in 0.4s ease-out both',
|
||||
breath: 'breath 8s ease-in-out infinite',
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user