diff --git a/client/src/components/Vacay/VacaySettings.tsx b/client/src/components/Vacay/VacaySettings.tsx
index 9c53c01..8513ada 100644
--- a/client/src/components/Vacay/VacaySettings.tsx
+++ b/client/src/components/Vacay/VacaySettings.tsx
@@ -238,26 +238,35 @@ function CalendarRow({ cal, countries, onUpdate, onDelete }: {
fetchRegionOptions(selectedCountry).then(setRegions)
}, [selectedCountry])
+ const PRESET_COLORS = ['#fecaca', '#fed7aa', '#fde68a', '#bbf7d0', '#a5f3fc', '#c7d2fe', '#e9d5ff', '#fda4af', '#6366f1', '#ef4444', '#22c55e', '#3b82f6']
+ const [showColorPicker, setShowColorPicker] = useState(false)
+
return (
-
-
setLocalColor(e.target.value)}
- onBlur={() => { if (localColor !== cal.color) onUpdate({ color: localColor }) }}
- className="w-7 h-7 shrink-0 rounded cursor-pointer p-0"
- style={{ border: 'none', background: 'transparent' }}
- title={t('vacay.calendarColor')}
- />
+
+
+
setLocalLabel(e.target.value)}
onBlur={() => { const v = localLabel.trim() || null; if (v !== cal.label) onUpdate({ label: v }) }}
+ onKeyDown={e => { if (e.key === 'Enter') (e.target as HTMLInputElement).blur() }}
placeholder={t('vacay.calendarLabel')}
- className="w-full text-xs px-2 py-1 rounded"
- style={{ background: 'var(--bg-card)', border: '1px solid var(--border-primary)', color: 'var(--text-primary)' }}
+ style={{ width: '100%', fontSize: 12, padding: '6px 10px', borderRadius: 8, background: 'var(--bg-input)', border: '1px solid var(--border-primary)', color: 'var(--text-primary)', fontFamily: 'inherit', outline: 'none' }}
/>
- setColor(e.target.value)}
- className="w-7 h-7 shrink-0 rounded cursor-pointer p-0"
- style={{ border: 'none', background: 'transparent' }}
- title={t('vacay.calendarColor')}
- />
+
+
+
setShowColorPicker(!showColorPicker)}
+ style={{ width: 28, height: 28, borderRadius: 8, background: color, border: '2px solid var(--border-primary)', cursor: 'pointer' }}
+ title={t('vacay.calendarColor')}
+ />
+ {showColorPicker && (
+
+ {PRESET_COLORS.map(c => (
+ { setColor(c); setShowColorPicker(false) }}
+ style={{ width: 24, height: 24, borderRadius: 6, background: c, border: color === c ? '2px solid var(--text-primary)' : '2px solid transparent', cursor: 'pointer' }} />
+ ))}
+
+ )}
+
setLabel(e.target.value)}
placeholder={t('vacay.calendarLabel')}
- className="w-full text-xs px-2 py-1 rounded"
- style={{ background: 'var(--bg-card)', border: '1px solid var(--border-primary)', color: 'var(--text-primary)' }}
+ style={{ width: '100%', fontSize: 12, padding: '6px 10px', borderRadius: 8, background: 'var(--bg-input)', border: '1px solid var(--border-primary)', color: 'var(--text-primary)', fontFamily: 'inherit', outline: 'none' }}
/>