diff --git a/app/(app)/todo-detail.tsx b/app/(app)/todo-detail.tsx index 6c209ec..b7e21f0 100644 --- a/app/(app)/todo-detail.tsx +++ b/app/(app)/todo-detail.tsx @@ -18,6 +18,13 @@ import { useKeyboardShift } from '@/hooks/useKeyboardShift'; export default function TodoDetailScreen() { const { id } = useLocalSearchParams<{ id: string }>(); + + if (!id) return null; + + return ; +} + +function TodoDetailContent({ id }: { id: string }) { const { t } = useTranslation(); const router = useRouter(); const { colors } = useTheme(); diff --git a/providers/theme.tsx b/providers/theme.tsx index ff51ddb..4fe454e 100644 --- a/providers/theme.tsx +++ b/providers/theme.tsx @@ -35,8 +35,8 @@ export function ThemeProvider({ children }: { children: ReactNode }) { ); const toggleTheme = useCallback(() => { - setPreference(isDark ? 'light' : 'dark'); - }, [isDark, setPreference]); + setPreference(preference !== 'system' ? 'system' : isDark ? 'light' : 'dark'); + }, [preference, isDark, setPreference]); const value = useMemo( () => ({ colors, isDark, shadow, toggleTheme }),