Add About screen with 7-tap joelangel easter egg; fix deps
- About screen surfaces getAbout() content; tapping the title 7x reveals assets/joelangel.png (placeholder committed; replace with the real image) - Correct UnifiedPush package to react-native-unifiedpush-connector (lazy-required) - Fix expo-notifications NotificationBehavior (shouldShowAlert) - Reachable via an ⓘ header button on the main tabs Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
170f2fa63c
commit
6b19fc79dd
10 changed files with 9699 additions and 17 deletions
|
|
@ -1,7 +1,10 @@
|
|||
import React from 'react';
|
||||
import { ActivityIndicator, View } from 'react-native';
|
||||
import { NavigationContainer } from '@react-navigation/native';
|
||||
import { createNativeStackNavigator } from '@react-navigation/native-stack';
|
||||
import { ActivityIndicator, Text, TouchableOpacity, View } from 'react-native';
|
||||
import { NavigationContainer, useNavigation } from '@react-navigation/native';
|
||||
import {
|
||||
createNativeStackNavigator,
|
||||
type NativeStackNavigationProp,
|
||||
} from '@react-navigation/native-stack';
|
||||
import { createBottomTabNavigator } from '@react-navigation/bottom-tabs';
|
||||
import { useAuth } from '@/auth/AuthContext';
|
||||
import { LoginScreen } from '@/screens/LoginScreen';
|
||||
|
|
@ -10,11 +13,13 @@ import { ScanScreen } from '@/screens/ScanScreen';
|
|||
import { FavoritesScreen } from '@/screens/FavoritesScreen';
|
||||
import { SessionsScreen } from '@/screens/SessionsScreen';
|
||||
import { MeterDetailScreen } from '@/screens/MeterDetailScreen';
|
||||
import { AboutScreen } from '@/screens/AboutScreen';
|
||||
import type { Zone } from 'parksmarter-client';
|
||||
|
||||
export type RootStackParamList = {
|
||||
Tabs: undefined;
|
||||
MeterDetail: { zone: Zone };
|
||||
About: undefined;
|
||||
};
|
||||
|
||||
export type TabParamList = {
|
||||
|
|
@ -27,9 +32,20 @@ export type TabParamList = {
|
|||
const Stack = createNativeStackNavigator<RootStackParamList>();
|
||||
const Tab = createBottomTabNavigator<TabParamList>();
|
||||
|
||||
function AboutButton() {
|
||||
const navigation = useNavigation<NativeStackNavigationProp<RootStackParamList>>();
|
||||
return (
|
||||
<TouchableOpacity onPress={() => navigation.navigate('About')} style={{ paddingHorizontal: 12 }}>
|
||||
<Text style={{ fontSize: 18 }}>ⓘ</Text>
|
||||
</TouchableOpacity>
|
||||
);
|
||||
}
|
||||
|
||||
function Tabs() {
|
||||
return (
|
||||
<Tab.Navigator screenOptions={{ headerShown: true }}>
|
||||
<Tab.Navigator
|
||||
screenOptions={{ headerShown: true, headerRight: () => <AboutButton /> }}
|
||||
>
|
||||
<Tab.Screen name="Map" component={MapScreen} />
|
||||
<Tab.Screen name="Scan" component={ScanScreen} />
|
||||
<Tab.Screen name="Favorites" component={FavoritesScreen} />
|
||||
|
|
@ -59,6 +75,7 @@ export function RootNavigator() {
|
|||
component={MeterDetailScreen}
|
||||
options={{ title: 'Meter' }}
|
||||
/>
|
||||
<Stack.Screen name="About" component={AboutScreen} options={{ title: 'About' }} />
|
||||
</Stack.Navigator>
|
||||
) : (
|
||||
<LoginScreen />
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue