feat: add calendar date picker, nav icons, and input-focused keyboard scrolling
All checks were successful
Luggage List Build / build-web (push) Successful in 28s
Luggage List Build / build-android (push) Successful in 5m59s
Luggage List Build / release (push) Successful in 11s

This commit is contained in:
2026-04-18 13:12:51 +02:00
parent 23a5f0ebae
commit 30ee53fe75
7 changed files with 260 additions and 47 deletions

View File

@@ -1,13 +1,14 @@
import React from 'react';
import { Pressable, Text, View } from 'react-native';
import Ionicons from '@expo/vector-icons/Ionicons';
import { styles } from '../styles';
export default function BottomTab({ current, onChange }) {
const tabs = [
{ key: 'trips', label: 'Trips' },
{ key: 'items', label: 'Items' },
{ key: 'checkup', label: 'Check-Up' },
{ key: 'history', label: 'History' },
{ key: 'trips', label: 'Trips', icon: 'airplane-outline', iconActive: 'airplane' },
{ key: 'items', label: 'Items', icon: 'briefcase-outline', iconActive: 'briefcase' },
{ key: 'checkup', label: 'Check-Up', icon: 'checkmark-circle-outline', iconActive: 'checkmark-circle' },
{ key: 'history', label: 'History', icon: 'time-outline', iconActive: 'time' },
];
return (
@@ -17,7 +18,11 @@ export default function BottomTab({ current, onChange }) {
const active = current === tab.key;
return (
<Pressable key={tab.key} onPress={() => onChange(tab.key)} style={styles.tabItem}>
<View style={[styles.tabDot, active && styles.tabDotActive]} />
<Ionicons
name={active ? tab.iconActive : tab.icon}
size={18}
color={active ? '#dbeafe' : '#94a3b8'}
/>
<Text style={[styles.tabLabel, active && styles.tabLabelActive]}>{tab.label}</Text>
</Pressable>
);