Files
bincio-rec/src/theme.ts
T
Davide Scaini efc7af4a4a feat: ThemeContext + Settings tabs (Interface / App / Sync)
- 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()
2026-06-03 10:00:27 +02:00

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,
};