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:
44
apps/client/src/app/event/[id].tsx
Normal file
44
apps/client/src/app/event/[id].tsx
Normal file
@@ -0,0 +1,44 @@
|
||||
import { View, Text, TextInput, Pressable } from 'react-native';
|
||||
import { useLocalSearchParams } from 'expo-router';
|
||||
import BaseBackground from '../../components/BaseBackground';
|
||||
|
||||
const EventDetailScreen = () => {
|
||||
const { id } = useLocalSearchParams<{ id: string }>();
|
||||
|
||||
// TODO: Fetch event by id using EventService.getById()
|
||||
// TODO: Display event details (title, description, start/end time)
|
||||
// TODO: Edit mode toggle
|
||||
// TODO: Save changes -> EventService.update()
|
||||
// TODO: Delete button -> EventService.delete()
|
||||
// TODO: Link to NoteScreen for this event
|
||||
// TODO: Loading and error states
|
||||
throw new Error('Not implemented');
|
||||
|
||||
return (
|
||||
<BaseBackground>
|
||||
<View className="flex-1 p-4">
|
||||
<Text className="text-2xl mb-4">Event Detail</Text>
|
||||
<Text className="text-gray-500 mb-4">ID: {id}</Text>
|
||||
<TextInput
|
||||
placeholder="Title"
|
||||
className="w-full border rounded p-2 mb-4"
|
||||
/>
|
||||
<TextInput
|
||||
placeholder="Description"
|
||||
multiline
|
||||
className="w-full border rounded p-2 mb-4 h-24"
|
||||
/>
|
||||
<View className="flex-row gap-2">
|
||||
<Pressable className="bg-blue-500 p-3 rounded flex-1">
|
||||
<Text className="text-white text-center">Save</Text>
|
||||
</Pressable>
|
||||
<Pressable className="bg-red-500 p-3 rounded flex-1">
|
||||
<Text className="text-white text-center">Delete</Text>
|
||||
</Pressable>
|
||||
</View>
|
||||
</View>
|
||||
</BaseBackground>
|
||||
);
|
||||
};
|
||||
|
||||
export default EventDetailScreen;
|
||||
Reference in New Issue
Block a user