- 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
35 lines
1.0 KiB
TypeScript
35 lines
1.0 KiB
TypeScript
import { View, Text, TextInput, Pressable } from 'react-native';
|
|
import BaseBackground from '../components/BaseBackground';
|
|
|
|
const LoginScreen = () => {
|
|
// TODO: Email input field
|
|
// TODO: Password input field
|
|
// TODO: Login button -> AuthService.login()
|
|
// TODO: Link to RegisterScreen
|
|
// TODO: Error handling and display
|
|
// TODO: Navigate to Calendar on success
|
|
throw new Error('Not implemented');
|
|
|
|
return (
|
|
<BaseBackground>
|
|
<View className="flex-1 justify-center items-center p-4">
|
|
<Text className="text-2xl mb-8">Login</Text>
|
|
<TextInput
|
|
placeholder="Email"
|
|
className="w-full border rounded p-2 mb-4"
|
|
/>
|
|
<TextInput
|
|
placeholder="Password"
|
|
secureTextEntry
|
|
className="w-full border rounded p-2 mb-4"
|
|
/>
|
|
<Pressable className="bg-blue-500 p-3 rounded w-full">
|
|
<Text className="text-white text-center">Login</Text>
|
|
</Pressable>
|
|
</View>
|
|
</BaseBackground>
|
|
);
|
|
};
|
|
|
|
export default LoginScreen;
|