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:
34
apps/client/src/app/note/[id].tsx
Normal file
34
apps/client/src/app/note/[id].tsx
Normal 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;
|
||||
Reference in New Issue
Block a user