feat: complete Sprint 3 Expo mobile app scaffold + all screens

This commit is contained in:
Nemo
2026-03-23 18:44:25 +08:00
parent 745321e5bd
commit e90ffc9fb3
15 changed files with 1741 additions and 250 deletions

View File

@@ -1,18 +1,23 @@
import { View, Text, TouchableOpacity } from 'react-native';
import { useRouter } from 'expo-router';
import { router } from 'expo-router';
export default function PaymentsScreen() {
const router = useRouter();
return (
<View className="flex-1 bg-gray-50 pt-14 px-4">
<Text className="text-2xl font-bold text-gray-900 mb-6">Payments</Text>
<TouchableOpacity
className="bg-primary rounded-2xl p-5 items-center"
onPress={() => router.push('/(app)/payments/record')}
>
<Text className="text-white text-lg font-semibold">💳 Record Payment</Text>
<Text className="text-blue-100 text-sm mt-1">Accept cash, GCash, or bank transfer</Text>
</TouchableOpacity>
<View className="flex-1 bg-gray-50">
<View className="px-4 pt-14 pb-4 bg-primary">
<Text className="text-white text-xl font-bold">Payments</Text>
</View>
<View className="flex-1 items-center justify-center px-8">
<Text className="text-6xl mb-4">💰</Text>
<Text className="text-xl font-bold text-gray-900 mb-2">Record a Payment</Text>
<Text className="text-gray-500 text-center mb-8">Collect payments from clients in the field</Text>
<TouchableOpacity
className="bg-primary rounded-xl py-4 px-8 w-full items-center"
onPress={() => router.push('/(app)/payments/record')}
>
<Text className="text-white font-semibold text-base">Record Payment</Text>
</TouchableOpacity>
</View>
</View>
);
}