create-gufran-expo-app 2.0.4 → 2.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +3 -3
- package/template/src/navigation/AuthStack.tsx +6 -25
- package/template/src/navigation/MainStack.tsx +0 -148
- package/template/src/navigation/RootNavigator.tsx +4 -26
- package/template/src/navigation/index.ts +0 -1
- package/template/src/navigation/navigationRef.ts +1 -1
- package/template/src/screens/HomeScreen.tsx +3 -215
- package/template/src/screens/auth/LoginScreen.tsx +13 -13
- package/template/src/screens/auth/index.ts +1 -6
- package/template/src/screens/index.ts +0 -35
- package/template/src/services/api.ts +5 -5
- package/template/src/services/authService.ts +3 -299
- package/template/src/services/mainServices.ts +19 -1914
- package/template/src/types/navigation.ts +5 -155
- package/template/src/utils/index.ts +5 -8
- package/template/src/navigation/MiddleStack.tsx +0 -35
- package/template/src/screens/auth/AddMamber.tsx +0 -428
- package/template/src/screens/auth/ForgotPasswordScreen.tsx +0 -176
- package/template/src/screens/auth/OTPVerifyScreen.tsx +0 -359
- package/template/src/screens/auth/RegisterScreen.tsx +0 -430
- package/template/src/screens/auth/SuccessScreen.tsx +0 -201
- package/template/src/screens/chat/ChatScreen.tsx +0 -1819
- package/template/src/screens/chat/ChatThreadsScreen.tsx +0 -360
- package/template/src/screens/chat/ReportMessageScreen.tsx +0 -238
- package/template/src/screens/clubs/Announcements.tsx +0 -426
- package/template/src/screens/clubs/BuyRaffleTicketsScreen.tsx +0 -568
- package/template/src/screens/clubs/ClubDeteils.tsx +0 -497
- package/template/src/screens/clubs/JoinClub.tsx +0 -841
- package/template/src/screens/events/EventScreen.tsx +0 -460
- package/template/src/screens/raffles/MyReferralMembersScreen.tsx +0 -758
- package/template/src/screens/raffles/RaffleDetailsScreen.tsx +0 -762
- package/template/src/screens/raffles/RafflesScreen.tsx +0 -495
- package/template/src/screens/raffles/SetRaffleReminderScreen.tsx +0 -390
- package/template/src/screens/teams/JoinTeamScreen.tsx +0 -464
- package/template/src/screens/teams/MyTeamDetailsScreen.tsx +0 -979
- package/template/src/screens/teams/MyTeamScreen.tsx +0 -568
- package/template/src/screens/teams/PendingRequestsScreen.tsx +0 -426
- package/template/src/screens/volunteerOpportunities/SetReminderScreen.tsx +0 -631
- package/template/src/screens/volunteerOpportunities/VolunteerOpportunitiesDetailsScreen.tsx +0 -1049
- package/template/src/screens/volunteerOpportunities/VolunteerOpportunitiesScreen.tsx +0 -608
- package/template/src/utils/ClubSearchManager.ts +0 -222
|
@@ -4,16 +4,9 @@ import type { NativeStackScreenProps } from '@react-navigation/native-stack';
|
|
|
4
4
|
export type AuthStackParamList = {
|
|
5
5
|
Welcome: undefined;
|
|
6
6
|
Login: undefined;
|
|
7
|
-
Register: undefined;
|
|
8
|
-
ForgotPassword: undefined;
|
|
9
|
-
OTPVerify: undefined;
|
|
10
|
-
Success: undefined;
|
|
11
7
|
};
|
|
12
8
|
|
|
13
|
-
|
|
14
|
-
export type MiddleStackParamList = {
|
|
15
|
-
AddMember: undefined;
|
|
16
|
-
};
|
|
9
|
+
|
|
17
10
|
|
|
18
11
|
// Main App Stack Parameter List
|
|
19
12
|
export type MainStackParamList = {
|
|
@@ -21,162 +14,27 @@ export type MainStackParamList = {
|
|
|
21
14
|
Profile: { userId: string };
|
|
22
15
|
Settings: undefined;
|
|
23
16
|
Details: { itemId: string; title?: string };
|
|
24
|
-
|
|
25
|
-
JoinTeam: {
|
|
26
|
-
selectedClub?: any;
|
|
27
|
-
selectedMember?: any;
|
|
28
|
-
};
|
|
29
|
-
MyTeam: {
|
|
30
|
-
selectedClub?: any;
|
|
31
|
-
selectedMember?: any;
|
|
32
|
-
};
|
|
33
|
-
MyTeamDetails: {
|
|
34
|
-
club?: any;
|
|
35
|
-
selectedClub?: any;
|
|
36
|
-
selectedMember?: any;
|
|
37
|
-
};
|
|
38
|
-
Announcements: {
|
|
39
|
-
selectedClub?: any;
|
|
40
|
-
selectedMember?: any;
|
|
41
|
-
};
|
|
42
|
-
PendingRequests: any;
|
|
43
|
-
ClubDetails: {
|
|
44
|
-
TeamDetails?: any;
|
|
45
|
-
clubName?: string;
|
|
46
|
-
totalMembers?: number;
|
|
47
|
-
clubCode?: string;
|
|
48
|
-
clubAddress?: string;
|
|
49
|
-
selectedMember?: any;
|
|
50
|
-
[key: string]: any;
|
|
51
|
-
};
|
|
52
|
-
SportHub: {
|
|
53
|
-
selectedClub?: any;
|
|
54
|
-
selectedMember?: any;
|
|
55
|
-
};
|
|
56
|
-
ChatThreads: {
|
|
57
|
-
team?: any;
|
|
58
|
-
selectedClub?: any;
|
|
59
|
-
selectedMember?: any;
|
|
60
|
-
};
|
|
61
|
-
ChatScreen: {
|
|
62
|
-
itemDetails?: any;
|
|
63
|
-
memberId?: string;
|
|
64
|
-
teamId?: string;
|
|
65
|
-
team?: any;
|
|
66
|
-
userType?: string;
|
|
67
|
-
};
|
|
68
|
-
ReportMessage: {
|
|
69
|
-
message: any;
|
|
70
|
-
memberId: string;
|
|
71
|
-
onReportSubmit?: (reason: string, message: any) => void;
|
|
72
|
-
};
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
// Raffles
|
|
77
|
-
Raffles: {
|
|
78
|
-
selectedClub?: any;
|
|
79
|
-
selectedMember?: any;
|
|
80
|
-
};
|
|
81
|
-
RaffleDetails: {
|
|
82
|
-
selectedClub?: any;
|
|
83
|
-
selectedMember?: any;
|
|
84
|
-
raffleId: number;
|
|
85
|
-
};
|
|
86
|
-
BuyRaffleTickets: {
|
|
87
|
-
selectedClub?: any;
|
|
88
|
-
selectedMember?: any;
|
|
89
|
-
raffleId: number;
|
|
90
|
-
raffleTitle: string;
|
|
91
|
-
ticketOptions: Array<{
|
|
92
|
-
id: number;
|
|
93
|
-
raffleId: number;
|
|
94
|
-
ticketCount: number;
|
|
95
|
-
totalAmount: number;
|
|
96
|
-
perTicketAmount: number;
|
|
97
|
-
}>;
|
|
98
|
-
};
|
|
99
|
-
VolunteerOpportunitiesScreen:{
|
|
100
|
-
selectedClub?: any;
|
|
101
|
-
selectedMember?: any;
|
|
102
|
-
}
|
|
103
|
-
SetReminder:{
|
|
104
|
-
item?:any
|
|
105
|
-
selectedClub?: any;
|
|
106
|
-
selectedMember?: any;
|
|
107
|
-
}
|
|
108
|
-
VolunteerOpportunitiesDetailsScreen:{
|
|
109
|
-
item?:any
|
|
110
|
-
selectedClub?: any;
|
|
111
|
-
selectedMember?: any;
|
|
112
|
-
},
|
|
113
|
-
MyReferralMembers:{
|
|
114
|
-
selectedClub?: any;
|
|
115
|
-
selectedMember?: any;
|
|
116
|
-
raffleId?: number;
|
|
117
|
-
raffleTitle?: string;
|
|
118
|
-
},
|
|
119
|
-
SetRaffleReminder:{
|
|
120
|
-
selectedClub?: any;
|
|
121
|
-
selectedMember?: any;
|
|
122
|
-
raffle?: any;
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
//Events
|
|
126
|
-
EventScreen:{
|
|
127
|
-
selectedClub?: any;
|
|
128
|
-
selectedMember?: any;
|
|
129
|
-
raffle?: any;
|
|
130
|
-
}
|
|
17
|
+
|
|
131
18
|
};
|
|
132
19
|
|
|
133
20
|
// Root Stack Parameter List (combines Auth, Middle and Main)
|
|
134
|
-
export type RootStackParamList = AuthStackParamList &
|
|
21
|
+
export type RootStackParamList = AuthStackParamList & MainStackParamList;
|
|
135
22
|
|
|
136
23
|
// Auth Stack Navigation Props
|
|
137
24
|
export type WelcomeScreenProps = NativeStackScreenProps<AuthStackParamList, 'Welcome'>;
|
|
138
25
|
export type LoginScreenProps = NativeStackScreenProps<AuthStackParamList, 'Login'>;
|
|
139
|
-
export type RegisterScreenProps = NativeStackScreenProps<AuthStackParamList, 'Register'>;
|
|
140
|
-
export type ForgotPasswordScreenProps = NativeStackScreenProps<AuthStackParamList, 'ForgotPassword'>;
|
|
141
|
-
export type OTPVerifyScreenProps = NativeStackScreenProps<AuthStackParamList, 'OTPVerify'>;
|
|
142
|
-
export type SuccessScreenProps = NativeStackScreenProps<AuthStackParamList, 'Success'>;
|
|
143
26
|
|
|
144
|
-
|
|
145
|
-
export type AddMemberScreenProps = NativeStackScreenProps<MiddleStackParamList, 'AddMember'>;
|
|
27
|
+
|
|
146
28
|
|
|
147
29
|
// Main Stack Navigation Props
|
|
148
30
|
export type HomeScreenProps = NativeStackScreenProps<MainStackParamList, 'Home'>;
|
|
149
31
|
export type ProfileScreenProps = NativeStackScreenProps<MainStackParamList, 'Profile'>;
|
|
150
32
|
export type SettingsScreenProps = NativeStackScreenProps<MainStackParamList, 'Settings'>;
|
|
151
33
|
export type DetailsScreenProps = NativeStackScreenProps<MainStackParamList, 'Details'>;
|
|
152
|
-
export type JoinClubScreenProps = NativeStackScreenProps<MainStackParamList, 'JoinClub'>;
|
|
153
|
-
export type ClubDetailsScreenProps = NativeStackScreenProps<MainStackParamList, 'ClubDetails'>;
|
|
154
|
-
export type SportHubScreenProps = NativeStackScreenProps<MainStackParamList, 'SportHub'>;
|
|
155
34
|
|
|
156
35
|
|
|
157
36
|
|
|
158
|
-
export type MyTeamScreen = NativeStackScreenProps<MainStackParamList, 'MyTeam'>;
|
|
159
|
-
export type MyTeamDetailsScreenProps = NativeStackScreenProps<MainStackParamList, 'MyTeamDetails'>;
|
|
160
|
-
export type PendingRequestsScreenProps = NativeStackScreenProps<MainStackParamList, 'PendingRequests'>;
|
|
161
|
-
export type JoinTeamProps = NativeStackScreenProps<MainStackParamList, 'JoinTeam'>;
|
|
162
|
-
export type AnnouncementsScreenProps = NativeStackScreenProps<MainStackParamList, 'Announcements'>;
|
|
163
37
|
|
|
164
|
-
//Chat
|
|
165
|
-
export type ChatThreadsScreenProps = NativeStackScreenProps<MainStackParamList, 'ChatThreads'>;
|
|
166
|
-
export type ChatScreenProps = NativeStackScreenProps<MainStackParamList, 'ChatScreen'>;
|
|
167
|
-
|
|
168
|
-
// VolunteerOpportunitiesScreen
|
|
169
|
-
export type VolunteerOpportunitiesScreenProps = NativeStackScreenProps<MainStackParamList, 'VolunteerOpportunitiesScreen'>;
|
|
170
|
-
export type VolunteerOpportunitiesDetailsScreenProps = NativeStackScreenProps<MainStackParamList, 'VolunteerOpportunitiesDetailsScreen'>;
|
|
171
|
-
export type SetReminderScreenProps = NativeStackScreenProps<MainStackParamList, 'SetReminder'>;
|
|
172
|
-
|
|
173
|
-
//Raffles
|
|
174
|
-
export type RafflesScreenProps = NativeStackScreenProps<MainStackParamList, 'Raffles'>;
|
|
175
|
-
export type MyReferralMembersScreenProps = NativeStackScreenProps<MainStackParamList, 'MyReferralMembers'>;
|
|
176
|
-
export type SetRaffleReminderScreenProps = NativeStackScreenProps<MainStackParamList, 'SetRaffleReminder'>;
|
|
177
|
-
|
|
178
|
-
//Event Screens
|
|
179
|
-
export type EventScreenProps = NativeStackScreenProps<MainStackParamList, 'EventScreen'>;
|
|
180
38
|
|
|
181
39
|
// Generic navigation prop types
|
|
182
40
|
export type AuthStackScreenProps<T extends keyof AuthStackParamList> = NativeStackScreenProps<
|
|
@@ -184,23 +42,15 @@ export type AuthStackScreenProps<T extends keyof AuthStackParamList> = NativeSta
|
|
|
184
42
|
T
|
|
185
43
|
>;
|
|
186
44
|
|
|
187
|
-
export type MiddleStackScreenProps<T extends keyof MiddleStackParamList> = NativeStackScreenProps<
|
|
188
|
-
MiddleStackParamList,
|
|
189
|
-
T
|
|
190
|
-
>;
|
|
191
45
|
|
|
192
46
|
export type MainStackScreenProps<T extends keyof MainStackParamList> = NativeStackScreenProps<
|
|
193
47
|
MainStackParamList,
|
|
194
48
|
T
|
|
195
49
|
>;
|
|
196
50
|
|
|
197
|
-
export type RootStackScreenProps<T extends keyof RootStackParamList> = NativeStackScreenProps<
|
|
198
|
-
RootStackParamList,
|
|
199
|
-
T
|
|
200
|
-
>;
|
|
201
51
|
|
|
202
52
|
declare global {
|
|
203
53
|
namespace ReactNavigation {
|
|
204
|
-
interface RootParamList extends RootStackParamList {}
|
|
54
|
+
interface RootParamList extends RootStackParamList { }
|
|
205
55
|
}
|
|
206
56
|
}
|
|
@@ -37,19 +37,19 @@ export const formatDateTime = (date: Date): string => {
|
|
|
37
37
|
export const formatReminderDateTime = (dateString: string): string => {
|
|
38
38
|
try {
|
|
39
39
|
const date = new Date(dateString);
|
|
40
|
-
|
|
40
|
+
|
|
41
41
|
// Format: "30 May 2025, 3:00 PM"
|
|
42
42
|
const day = date.getDate();
|
|
43
43
|
const month = date.toLocaleString('en-US', { month: 'short' });
|
|
44
44
|
const year = date.getFullYear();
|
|
45
45
|
const hours = date.getHours();
|
|
46
46
|
const minutes = date.getMinutes();
|
|
47
|
-
|
|
47
|
+
|
|
48
48
|
// Convert to 12-hour format
|
|
49
49
|
const period = hours >= 12 ? 'PM' : 'AM';
|
|
50
50
|
const displayHours = hours % 12 || 12;
|
|
51
51
|
const displayMinutes = minutes.toString().padStart(2, '0');
|
|
52
|
-
|
|
52
|
+
|
|
53
53
|
return `${day} ${month} ${year}, ${displayHours}:${displayMinutes} ${period}`;
|
|
54
54
|
} catch (error) {
|
|
55
55
|
console.error('Error formatting reminder date:', error);
|
|
@@ -74,13 +74,13 @@ export const isAndroid = (): boolean => {
|
|
|
74
74
|
// API utilities
|
|
75
75
|
export const createQueryString = (params: Record<string, any>): string => {
|
|
76
76
|
const searchParams = new URLSearchParams();
|
|
77
|
-
|
|
77
|
+
|
|
78
78
|
Object.entries(params).forEach(([key, value]) => {
|
|
79
79
|
if (value !== null && value !== undefined && value !== '') {
|
|
80
80
|
searchParams.append(key, String(value));
|
|
81
81
|
}
|
|
82
82
|
});
|
|
83
|
-
|
|
83
|
+
|
|
84
84
|
return searchParams.toString();
|
|
85
85
|
};
|
|
86
86
|
|
|
@@ -106,6 +106,3 @@ export * from './UploadDebugUtil';
|
|
|
106
106
|
// Re-export AzureUploaderService
|
|
107
107
|
export * from './AzureUploaderService';
|
|
108
108
|
|
|
109
|
-
// Re-export ClubSearchManager
|
|
110
|
-
export * from './ClubSearchManager';
|
|
111
|
-
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { createNativeStackNavigator } from '@react-navigation/native-stack';
|
|
3
|
-
import { MiddleStackParamList } from '../types';
|
|
4
|
-
import { AddMemberScreen } from '../screens/auth';
|
|
5
|
-
import { theme } from '../constants';
|
|
6
|
-
|
|
7
|
-
const Stack = createNativeStackNavigator<MiddleStackParamList>();
|
|
8
|
-
|
|
9
|
-
export const MiddleStack: React.FC = () => {
|
|
10
|
-
return (
|
|
11
|
-
<Stack.Navigator
|
|
12
|
-
id={undefined}
|
|
13
|
-
initialRouteName="AddMember"
|
|
14
|
-
screenOptions={{
|
|
15
|
-
headerShown: false,
|
|
16
|
-
headerStyle: {
|
|
17
|
-
backgroundColor: theme.colors.background,
|
|
18
|
-
},
|
|
19
|
-
headerTintColor: theme.colors.text,
|
|
20
|
-
headerTitleStyle: {
|
|
21
|
-
fontWeight: theme.typography.fontWeight.semibold,
|
|
22
|
-
fontSize: theme.typography.fontSize.lg,
|
|
23
|
-
},
|
|
24
|
-
headerBackTitle: '',
|
|
25
|
-
animation: 'fade',
|
|
26
|
-
headerShadowVisible: false,
|
|
27
|
-
}}
|
|
28
|
-
>
|
|
29
|
-
<Stack.Screen
|
|
30
|
-
name="AddMember"
|
|
31
|
-
component={AddMemberScreen}
|
|
32
|
-
/>
|
|
33
|
-
</Stack.Navigator>
|
|
34
|
-
);
|
|
35
|
-
};
|