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,36 @@
import { View, Text, Modal, Pressable } from 'react-native';
import { CreateEventDTO } from '@caldav/shared';
type EventConfirmDialogProps = {
visible: boolean;
proposedEvent: CreateEventDTO | null;
onConfirm: () => void;
onReject: () => void;
onClose: () => void;
};
const EventConfirmDialog = ({
visible: _visible,
proposedEvent: _proposedEvent,
onConfirm: _onConfirm,
onReject: _onReject,
onClose: _onClose,
}: EventConfirmDialogProps) => {
// TODO: Display proposed event details (title, time, description)
// TODO: Confirm button calls onConfirm and closes dialog
// TODO: Reject button calls onReject and closes dialog
// TODO: Close button or backdrop tap calls onClose
throw new Error('Not implemented');
return (
<Modal visible={false} transparent animationType="fade">
<View>
<Pressable>
<Text>EventConfirmDialog - Not Implemented</Text>
</Pressable>
</View>
</Modal>
);
};
export default EventConfirmDialog;