efc7af4a4a
- ThemeContext: dynamic palette (Default/Giro/Tour/Vuelta), font size (small/medium/large), bold labels — all persisted to AsyncStorage - Settings: three top tabs; Interface tab has palette picker + font size pills + bold labels toggle; App tab has km notifications; Sync tab has bincio instance login + autarchive placeholder - RecordingScreen: stat labels now use theme accent colour and scale with fontSize; font weight follows boldLabels setting - All accent/accentDim usages migrated from static colors to useTheme()
37 lines
1.1 KiB
TypeScript
37 lines
1.1 KiB
TypeScript
export const colors = {
|
|
bg: '#09090b',
|
|
surface: '#18181b',
|
|
border: '#27272a',
|
|
borderStrong: '#3f3f46',
|
|
|
|
text: '#f4f4f5',
|
|
textSub: '#a1a1aa',
|
|
textMuted: '#71717a',
|
|
placeholder: '#52525b',
|
|
|
|
success: '#86efac',
|
|
successBg: '#14532d',
|
|
error: '#fca5a5',
|
|
errorBg: '#7f1d1d',
|
|
|
|
btnStart: '#16a34a',
|
|
btnPause: '#d97706',
|
|
btnStop: '#dc2626',
|
|
} as const;
|
|
|
|
export type PaletteKey = 'default' | 'giro' | 'tour' | 'vuelta';
|
|
export type FontSizeKey = 'small' | 'medium' | 'large';
|
|
|
|
export const PALETTES: Record<PaletteKey, { accent: string; accentDim: string; label: string }> = {
|
|
default: { accent: '#60a5fa', accentDim: 'rgba(96,165,250,0.15)', label: 'Default' },
|
|
giro: { accent: '#f472b6', accentDim: 'rgba(244,114,182,0.15)', label: "Giro d'Italia" },
|
|
tour: { accent: '#facc15', accentDim: 'rgba(250,204,21,0.15)', label: 'Tour de France' },
|
|
vuelta: { accent: '#ef4444', accentDim: 'rgba(239,68,68,0.15)', label: 'Vuelta a España' },
|
|
};
|
|
|
|
export const FONT_SCALE: Record<FontSizeKey, number> = {
|
|
small: 0.88,
|
|
medium: 1.00,
|
|
large: 1.15,
|
|
};
|