Refactor frontend-mobile
Run Tests on Branches / Frontend Tests (push) Has been cancelled
Run Tests on Branches / Backend Tests (push) Has been cancelled

This commit is contained in:
Antoni Nuñez Romeu
2026-07-07 18:08:44 +02:00
parent 69d66729aa
commit 9949b85001
14 changed files with 771 additions and 100 deletions
+80 -18
View File
@@ -1,25 +1,47 @@
export const colors = {
// Primary
primary: '#007AFF',
primaryLight: '#4DA3FF',
primaryDark: '#0056CC',
// Primary - pastel green pharmacy palette (matching PWA)
primary: '#7fbf8f',
primaryLight: '#cfead0',
primaryDark: '#09310a',
onPrimary: '#09310a',
primaryContainer: '#cfead0',
onPrimaryContainer: '#0d2b12',
// Secondary - soft blue
secondary: '#a3b8ff',
secondaryContainer: '#dbe7ff',
// Tertiary - soft lavender
tertiary: '#c9b3ff',
tertiaryContainer: '#efe7ff',
// Scan button - vivid blue (intentionally prominent)
scanButton: '#2b5bb5',
scanButtonShadow: 'rgba(43, 91, 181, 0.32)',
// Semantic
success: '#34C759',
danger: '#FF3B30',
danger: '#b91c1c',
dangerContainer: '#feecec',
warning: '#FF9500',
// Neutral
background: '#F2F2F7',
card: '#FFFFFF',
border: '#E5E5EA',
separator: '#C6C6C8',
// Surface
background: '#fbfbfb',
card: '#ffffff',
surfaceLow: '#f2f4f5',
surface: '#eceeef',
surfaceHigh: '#e6e8e9',
border: '#c0c9bb',
separator: '#c0c9bb',
// Text
text: '#1C1C1E',
textSecondary: '#8E8E93',
textInverse: '#FFFFFF',
textLink: '#007AFF',
text: '#111417',
textSecondary: '#41493e',
textInverse: '#ffffff',
textLink: '#7fbf8f',
// Accent
accentWarm: '#f5a97a',
};
export const spacing = {
@@ -32,27 +54,67 @@ export const spacing = {
};
export const borderRadius = {
sm: 8,
md: 12,
lg: 16,
xl: 24,
sm: 4,
md: 8,
lg: 12,
xl: 16,
full: 9999,
};
export const typography = {
title: {
fontSize: 28,
fontWeight: 'bold' as const,
color: '#111417',
},
heading: {
fontSize: 20,
fontWeight: '600' as const,
color: '#111417',
},
body: {
fontSize: 16,
fontWeight: 'normal' as const,
color: '#111417',
},
bodyLarge: {
fontSize: 18,
fontWeight: '400' as const,
color: '#41493e',
lineHeight: 27,
},
caption: {
fontSize: 12,
fontWeight: 'normal' as const,
color: '#41493e',
},
label: {
fontSize: 14,
fontWeight: '500' as const,
color: '#41493e',
},
};
export const shadows = {
soft: {
shadowColor: '#000',
shadowOffset: { width: 0, height: 4 },
shadowOpacity: 0.08,
shadowRadius: 20,
elevation: 3,
},
card: {
shadowColor: '#000',
shadowOffset: { width: 0, height: 2 },
shadowOpacity: 0.06,
shadowRadius: 8,
elevation: 2,
},
scanButton: {
shadowColor: '#2b5bb5',
shadowOffset: { width: 0, height: 8 },
shadowOpacity: 0.32,
shadowRadius: 26,
elevation: 8,
},
};