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,39 @@
import {
SendMessageDTO,
ChatResponse,
ChatMessage,
ConversationSummary,
GetMessagesOptions,
CalendarEvent,
} from '@caldav/shared';
export const ChatService = {
sendMessage: async (_data: SendMessageDTO): Promise<ChatResponse> => {
throw new Error('Not implemented');
},
confirmEvent: async (
_conversationId: string,
_messageId: string
): Promise<CalendarEvent> => {
throw new Error('Not implemented');
},
rejectEvent: async (
_conversationId: string,
_messageId: string
): Promise<void> => {
throw new Error('Not implemented');
},
getConversations: async (): Promise<ConversationSummary[]> => {
throw new Error('Not implemented');
},
getConversation: async (
_id: string,
_options?: GetMessagesOptions
): Promise<ChatMessage[]> => {
throw new Error('Not implemented');
},
};