diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 9a37061..b542f6e 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -9,6 +9,7 @@ "version": "1.0.0", "dependencies": { "@expo/ui": "~56.0.11", + "@expo/vector-icons": "^15.1.1", "expo": "~56.0.3", "expo-constants": "~56.0.14", "expo-device": "~56.0.4", @@ -1659,6 +1660,17 @@ } } }, + "node_modules/@expo/vector-icons": { + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/@expo/vector-icons/-/vector-icons-15.1.1.tgz", + "integrity": "sha512-Iu2VkcoI5vygbtYngm7jb4ifxElNVXQYdDrYkT7UCEIiKLeWnQY0wf2ZhHZ+Wro6Sc5TaumpKUOqDRpLi5rkvw==", + "license": "MIT", + "peerDependencies": { + "expo-font": ">=14.0.4", + "react": "*", + "react-native": "*" + } + }, "node_modules/@expo/ws-tunnel": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/@expo/ws-tunnel/-/ws-tunnel-1.0.6.tgz", @@ -5196,9 +5208,6 @@ "cpu": [ "arm64" ], - "libc": [ - "glibc" - ], "license": "MPL-2.0", "optional": true, "os": [ @@ -5219,9 +5228,6 @@ "cpu": [ "arm64" ], - "libc": [ - "musl" - ], "license": "MPL-2.0", "optional": true, "os": [ @@ -5242,9 +5248,6 @@ "cpu": [ "x64" ], - "libc": [ - "glibc" - ], "license": "MPL-2.0", "optional": true, "os": [ @@ -5265,9 +5268,6 @@ "cpu": [ "x64" ], - "libc": [ - "musl" - ], "license": "MPL-2.0", "optional": true, "os": [ diff --git a/frontend/package.json b/frontend/package.json index 8a855db..9f88bec 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -4,6 +4,7 @@ "version": "1.0.0", "dependencies": { "@expo/ui": "~56.0.11", + "@expo/vector-icons": "^15.1.1", "expo": "~56.0.3", "expo-constants": "~56.0.14", "expo-device": "~56.0.4", diff --git a/frontend/src/app/_layout.tsx b/frontend/src/app/_layout.tsx index b58e11f..7a02f47 100644 --- a/frontend/src/app/_layout.tsx +++ b/frontend/src/app/_layout.tsx @@ -1,15 +1,64 @@ -import { DarkTheme, DefaultTheme, ThemeProvider } from 'expo-router'; -import { useColorScheme } from 'react-native'; +import { Tabs } from "expo-router"; +import { Ionicons } from "@expo/vector-icons"; -import { AnimatedSplashOverlay } from '@/components/animated-icon'; -import AppTabs from '@/components/app-tabs'; - -export default function TabLayout() { - const colorScheme = useColorScheme(); +export default function Layout() { return ( - - - - + + ( + + ), + }} + /> + + ( + + ), + }} + /> + + ( + + ), + }} + /> + + ( + + ), + }} + /> + ); } diff --git a/frontend/src/app/alerts.tsx b/frontend/src/app/alerts.tsx new file mode 100644 index 0000000..77aabd8 --- /dev/null +++ b/frontend/src/app/alerts.tsx @@ -0,0 +1,15 @@ +import { View, Text } from "react-native"; + +export default function AlertsScreen() { + return ( + + Alertas + + ); +} \ No newline at end of file diff --git a/frontend/src/app/guide.tsx b/frontend/src/app/guide.tsx new file mode 100644 index 0000000..fbdcea9 --- /dev/null +++ b/frontend/src/app/guide.tsx @@ -0,0 +1,15 @@ +import { View, Text } from "react-native"; + +export default function GuideScreen() { + return ( + + Guía + + ); +} \ No newline at end of file diff --git a/frontend/src/app/index.tsx b/frontend/src/app/index.tsx index e69de29..648f45d 100644 --- a/frontend/src/app/index.tsx +++ b/frontend/src/app/index.tsx @@ -0,0 +1,15 @@ +import { View, Text } from "react-native"; + +export default function HomeScreen() { + return ( + + Inicio + + ); +} diff --git a/frontend/src/app/profile.tsx b/frontend/src/app/profile.tsx new file mode 100644 index 0000000..23dee45 --- /dev/null +++ b/frontend/src/app/profile.tsx @@ -0,0 +1,15 @@ +import { View, Text } from "react-native"; + +export default function ProfileScreen() { + return ( + + Perfil + + ); +} \ No newline at end of file diff --git a/frontend/src/components/Alertltem.tsx b/frontend/src/components/Alertltem.tsx new file mode 100644 index 0000000..e69de29 diff --git a/frontend/src/components/EtaCard.tsx b/frontend/src/components/EtaCard.tsx new file mode 100644 index 0000000..3087258 --- /dev/null +++ b/frontend/src/components/EtaCard.tsx @@ -0,0 +1,54 @@ +import { View, Text, StyleSheet } from 'react-native'; +import { Colors } from '../constants/theme'; + +type EtaCardProps = { + minutes?: number; + status?: string; +}; + +export default function EtaCard({ + minutes = 12, + status = 'En Camino', +}: EtaCardProps) { + + const theme = Colors.light; + + return ( + + + + ETA estimado + + + + {minutes} min + + + + {status} + + + + ); +} + +const styles = StyleSheet.create({ + card: { + margin: 15, + padding: 20, + borderRadius: 16, + }, + label: { + fontSize: 12, + marginBottom: 6, + }, + time: { + fontSize: 32, + fontWeight: 'bold', + marginBottom: 6, + }, + status: { + fontSize: 14, + fontWeight: '600', + }, +}); diff --git a/frontend/src/components/InputField.tsx b/frontend/src/components/InputField.tsx new file mode 100644 index 0000000..e69de29 diff --git a/frontend/src/components/PrimaryButton.tsx b/frontend/src/components/PrimaryButton.tsx new file mode 100644 index 0000000..e69de29 diff --git a/frontend/src/components/QuickAction.tsx b/frontend/src/components/QuickAction.tsx new file mode 100644 index 0000000..e69de29 diff --git a/frontend/src/components/SectionTitle.tsx b/frontend/src/components/SectionTitle.tsx new file mode 100644 index 0000000..e69de29 diff --git a/frontend/src/components/StatusBadge.tsx b/frontend/src/components/StatusBadge.tsx new file mode 100644 index 0000000..e69de29