From 869f21ee2efaefed6a5aa4fbd417c25df8dec02a Mon Sep 17 00:00:00 2001 From: soryu Date: Sun, 18 Jan 2026 17:44:50 +0000 Subject: Add React Native mobile app for Makima (#3) * [WIP] Heartbeat checkpoint - 2026-01-18 02:58:27 UTC * feat(mobile): complete mobile app integration and verification - Add ThemeColors type export to Colors.ts for type safety - Export SUPABASE_URL from supabase.ts and use environment variables - Update .env.example with correct default URLs - Add comprehensive README.md with setup instructions Verified: - TypeScript compiles without errors - App exports successfully for iOS and Android - All screens accessible (login, dashboard, tasks, settings, task detail) - Auth flow working with Zustand store and Supabase Co-Authored-By: Claude Opus 4.5 * Task completion checkpoint --------- Co-authored-by: Claude Opus 4.5 --- apps/mobile/components/LoadingScreen.tsx | 55 ++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 apps/mobile/components/LoadingScreen.tsx (limited to 'apps/mobile/components/LoadingScreen.tsx') diff --git a/apps/mobile/components/LoadingScreen.tsx b/apps/mobile/components/LoadingScreen.tsx new file mode 100644 index 0000000..c64c79d --- /dev/null +++ b/apps/mobile/components/LoadingScreen.tsx @@ -0,0 +1,55 @@ +import React from 'react'; +import { View, Text, ActivityIndicator, StyleSheet, useColorScheme } from 'react-native'; +import { Colors } from '../constants/Colors'; + +interface LoadingScreenProps { + /** Optional message to display */ + message?: string; +} + +/** + * Loading screen component + * Displayed while checking authentication state + */ +export function LoadingScreen({ message = 'Loading...' }: LoadingScreenProps) { + const colorScheme = useColorScheme() ?? 'dark'; + const colors = Colors[colorScheme]; + + return ( + + + Makima + + + {message} + + + + ); +} + +const styles = StyleSheet.create({ + container: { + flex: 1, + justifyContent: 'center', + alignItems: 'center', + }, + content: { + alignItems: 'center', + }, + title: { + fontSize: 42, + fontWeight: 'bold', + marginBottom: 24, + }, + spinner: { + marginBottom: 16, + }, + message: { + fontSize: 14, + }, +}); -- cgit v1.2.3