feat: Sprint 5 - Toast, ConfirmDialog, EmptyStates, Settings, Export/Import, Accessibility (TERLOG-52/53/54/55/56/57/58/59)

This commit is contained in:
root
2026-02-19 22:05:40 +08:00
parent 6fe6ebef13
commit c8fe67f346
20 changed files with 1416 additions and 619 deletions

View File

@@ -40,6 +40,10 @@ export function DatePicker({ label, value, onChange }: Props) {
<TouchableOpacity
onPress={() => setShow(true)}
className="flex-row items-center border border-gray-200 rounded-xl px-4 py-3 bg-white"
accessibilityRole="button"
accessibilityLabel={label ? `${label}: ${displayDate}` : displayDate}
accessibilityHint="Opens date picker"
style={{ minHeight: 48 }}
>
<Calendar size={16} color="#1A6B72" />
<Text className={`ml-2 flex-1 ${value ? 'text-charcoal' : 'text-gray-400'}`}>{displayDate}</Text>
@@ -88,7 +92,13 @@ export function DatePicker({ label, value, onChange }: Props) {
</View>
</View>
<TouchableOpacity onPress={handleConfirm} className="bg-primary rounded-xl py-4">
<TouchableOpacity
onPress={handleConfirm}
className="bg-primary rounded-xl py-4"
accessibilityRole="button"
accessibilityLabel="Confirm date selection"
style={{ minHeight: 52 }}
>
<Text className="text-white text-center font-semibold text-base">Confirm</Text>
</TouchableOpacity>
</View>