feat: add theme system with light/dark mode support
- Add ThemeStore (Zustand) for reactive theme switching - Add Themes.tsx with THEMES object (defaultLight, defaultDark) - Add Settings screen with theme switcher and logout button - Add BaseButton component for reusable themed buttons - Migrate all components from static currentTheme to useThemeStore() - Add shadowColor to theme (iOS only, Android uses elevation) - All text elements now use theme colors (textPrimary, textSecondary, etc.) - Update tab navigation to include Settings tab - Move logout from Header to Settings screen
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
import { View, Text, Modal, Pressable } from "react-native";
|
||||
import { CreateEventDTO } from "@calchat/shared";
|
||||
import { useThemeStore } from "../stores/ThemeStore";
|
||||
|
||||
type EventConfirmDialogProps = {
|
||||
visible: boolean;
|
||||
@@ -16,6 +17,8 @@ const EventConfirmDialog = ({
|
||||
onReject: _onReject,
|
||||
onClose: _onClose,
|
||||
}: EventConfirmDialogProps) => {
|
||||
const { theme } = useThemeStore();
|
||||
|
||||
// TODO: Display proposed event details (title, time, description)
|
||||
// TODO: Confirm button calls onConfirm and closes dialog
|
||||
// TODO: Reject button calls onReject and closes dialog
|
||||
@@ -26,7 +29,7 @@ const EventConfirmDialog = ({
|
||||
<Modal visible={false} transparent animationType="fade">
|
||||
<View>
|
||||
<Pressable>
|
||||
<Text>EventConfirmDialog - Not Implemented</Text>
|
||||
<Text style={{ color: theme.textPrimary }}>EventConfirmDialog - Not Implemented</Text>
|
||||
</Pressable>
|
||||
</View>
|
||||
</Modal>
|
||||
|
||||
Reference in New Issue
Block a user