implement frontend skeleton with tab navigation and service layer

- Add tab-based navigation (Chat, Calendar) using Expo-Router
- Create auth screens (login, register) as skeletons
- Add dynamic routes for event detail and note editing
- Implement service layer (ApiClient, AuthService, EventService, ChatService)
- Add Zustand stores (AuthStore, EventsStore) for state management
- Create EventCard and EventConfirmDialog components
- Update CLAUDE.md with new frontend architecture documentation
- Add Zustand and FlashList to technology stack
This commit is contained in:
2026-01-03 10:47:12 +01:00
parent 5cc1ce7f1c
commit 9cc6d17607
24 changed files with 537 additions and 75 deletions

View File

@@ -0,0 +1,34 @@
import { View, Text, TextInput, Pressable } from 'react-native';
import { useLocalSearchParams } from 'expo-router';
import BaseBackground from '../../components/BaseBackground';
const NoteScreen = () => {
const { id } = useLocalSearchParams<{ id: string }>();
// TODO: Fetch event by id using EventService.getById()
// TODO: Display and edit the event's note field
// TODO: Auto-save or manual save button
// TODO: Save changes -> EventService.update({ note: ... })
// TODO: Loading and error states
throw new Error('Not implemented');
return (
<BaseBackground>
<View className="flex-1 p-4">
<Text className="text-2xl mb-4">Note</Text>
<Text className="text-gray-500 mb-4">Event ID: {id}</Text>
<TextInput
placeholder="Write your note here..."
multiline
className="w-full border rounded p-2 flex-1 mb-4"
textAlignVertical="top"
/>
<Pressable className="bg-blue-500 p-3 rounded">
<Text className="text-white text-center">Save Note</Text>
</Pressable>
</View>
</BaseBackground>
);
};
export default NoteScreen;