@oxyhq/services 5.11.10 → 5.11.11

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.
Files changed (170) hide show
  1. package/lib/commonjs/ui/components/AnimationExample.js +1 -1
  2. package/lib/commonjs/ui/components/AnimationExample.js.map +1 -1
  3. package/lib/commonjs/ui/components/Header.js +2 -2
  4. package/lib/commonjs/ui/components/Header.js.map +1 -1
  5. package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
  6. package/lib/commonjs/ui/components/StepBasedScreen.README.md +337 -0
  7. package/lib/commonjs/ui/components/StepBasedScreen.js +361 -0
  8. package/lib/commonjs/ui/components/StepBasedScreen.js.map +1 -0
  9. package/lib/commonjs/ui/components/icon/OxyIcon.js +3 -3
  10. package/lib/commonjs/ui/components/icon/OxyIcon.js.map +1 -1
  11. package/lib/commonjs/ui/components/internal/PinInput.js +1 -1
  12. package/lib/commonjs/ui/components/internal/PinInput.js.map +1 -1
  13. package/lib/commonjs/ui/components/photogrid/JustifiedPhotoGrid.js.map +1 -1
  14. package/lib/commonjs/ui/context/OxyContext.js +7 -7
  15. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  16. package/lib/commonjs/ui/screens/ProfileScreen.js +55 -55
  17. package/lib/commonjs/ui/screens/ProfileScreen.js.map +1 -1
  18. package/lib/commonjs/ui/screens/RecoverAccountScreen.js +87 -219
  19. package/lib/commonjs/ui/screens/RecoverAccountScreen.js.map +1 -1
  20. package/lib/commonjs/ui/screens/SignInScreen.js +138 -235
  21. package/lib/commonjs/ui/screens/SignInScreen.js.map +1 -1
  22. package/lib/commonjs/ui/screens/SignUpScreen.js +139 -742
  23. package/lib/commonjs/ui/screens/SignUpScreen.js.map +1 -1
  24. package/lib/commonjs/ui/screens/internal/SignInPasswordStep.js +3 -3
  25. package/lib/commonjs/ui/screens/internal/SignInPasswordStep.js.map +1 -1
  26. package/lib/commonjs/ui/screens/internal/SignInUsernameStep.js +2 -2
  27. package/lib/commonjs/ui/screens/internal/SignInUsernameStep.js.map +1 -1
  28. package/lib/commonjs/ui/screens/steps/RecoverRequestStep.js +110 -0
  29. package/lib/commonjs/ui/screens/steps/RecoverRequestStep.js.map +1 -0
  30. package/lib/commonjs/ui/screens/steps/RecoverSuccessStep.js +138 -0
  31. package/lib/commonjs/ui/screens/steps/RecoverSuccessStep.js.map +1 -0
  32. package/lib/commonjs/ui/screens/steps/RecoverVerifyStep.js +141 -0
  33. package/lib/commonjs/ui/screens/steps/RecoverVerifyStep.js.map +1 -0
  34. package/lib/commonjs/ui/screens/steps/SignInPasswordStep.js +165 -0
  35. package/lib/commonjs/ui/screens/steps/SignInPasswordStep.js.map +1 -0
  36. package/lib/commonjs/ui/screens/steps/SignInUsernameStep.js +150 -0
  37. package/lib/commonjs/ui/screens/steps/SignInUsernameStep.js.map +1 -0
  38. package/lib/commonjs/ui/screens/steps/SignUpIdentityStep.js +171 -0
  39. package/lib/commonjs/ui/screens/steps/SignUpIdentityStep.js.map +1 -0
  40. package/lib/commonjs/ui/screens/steps/SignUpSecurityStep.js +163 -0
  41. package/lib/commonjs/ui/screens/steps/SignUpSecurityStep.js.map +1 -0
  42. package/lib/commonjs/ui/screens/steps/SignUpSummaryStep.js +170 -0
  43. package/lib/commonjs/ui/screens/steps/SignUpSummaryStep.js.map +1 -0
  44. package/lib/commonjs/ui/screens/steps/SignUpWelcomeStep.js +72 -0
  45. package/lib/commonjs/ui/screens/steps/SignUpWelcomeStep.js.map +1 -0
  46. package/lib/module/ui/components/AnimationExample.js +1 -1
  47. package/lib/module/ui/components/AnimationExample.js.map +1 -1
  48. package/lib/module/ui/components/Header.js +2 -2
  49. package/lib/module/ui/components/Header.js.map +1 -1
  50. package/lib/module/ui/components/OxyProvider.js.map +1 -1
  51. package/lib/module/ui/components/Section.js.map +1 -1
  52. package/lib/module/ui/components/SectionTitle.js.map +1 -1
  53. package/lib/module/ui/components/StepBasedScreen.README.md +337 -0
  54. package/lib/module/ui/components/StepBasedScreen.js +356 -0
  55. package/lib/module/ui/components/StepBasedScreen.js.map +1 -0
  56. package/lib/module/ui/components/icon/FAIRWalletIcon.js.map +1 -1
  57. package/lib/module/ui/components/icon/OxyIcon.js +3 -3
  58. package/lib/module/ui/components/icon/OxyIcon.js.map +1 -1
  59. package/lib/module/ui/components/internal/PinInput.js +1 -1
  60. package/lib/module/ui/components/internal/PinInput.js.map +1 -1
  61. package/lib/module/ui/components/photogrid/JustifiedPhotoGrid.js.map +1 -1
  62. package/lib/module/ui/context/OxyContext.js +7 -7
  63. package/lib/module/ui/context/OxyContext.js.map +1 -1
  64. package/lib/module/ui/screens/ProfileScreen.js +55 -55
  65. package/lib/module/ui/screens/ProfileScreen.js.map +1 -1
  66. package/lib/module/ui/screens/RecoverAccountScreen.js +91 -222
  67. package/lib/module/ui/screens/RecoverAccountScreen.js.map +1 -1
  68. package/lib/module/ui/screens/SignInScreen.js +140 -237
  69. package/lib/module/ui/screens/SignInScreen.js.map +1 -1
  70. package/lib/module/ui/screens/SignUpScreen.js +141 -743
  71. package/lib/module/ui/screens/SignUpScreen.js.map +1 -1
  72. package/lib/module/ui/screens/internal/SignInPasswordStep.js +3 -3
  73. package/lib/module/ui/screens/internal/SignInPasswordStep.js.map +1 -1
  74. package/lib/module/ui/screens/internal/SignInUsernameStep.js +2 -2
  75. package/lib/module/ui/screens/internal/SignInUsernameStep.js.map +1 -1
  76. package/lib/module/ui/screens/steps/RecoverRequestStep.js +105 -0
  77. package/lib/module/ui/screens/steps/RecoverRequestStep.js.map +1 -0
  78. package/lib/module/ui/screens/steps/RecoverSuccessStep.js +133 -0
  79. package/lib/module/ui/screens/steps/RecoverSuccessStep.js.map +1 -0
  80. package/lib/module/ui/screens/steps/RecoverVerifyStep.js +136 -0
  81. package/lib/module/ui/screens/steps/RecoverVerifyStep.js.map +1 -0
  82. package/lib/module/ui/screens/steps/SignInPasswordStep.js +160 -0
  83. package/lib/module/ui/screens/steps/SignInPasswordStep.js.map +1 -0
  84. package/lib/module/ui/screens/steps/SignInUsernameStep.js +145 -0
  85. package/lib/module/ui/screens/steps/SignInUsernameStep.js.map +1 -0
  86. package/lib/module/ui/screens/steps/SignUpIdentityStep.js +166 -0
  87. package/lib/module/ui/screens/steps/SignUpIdentityStep.js.map +1 -0
  88. package/lib/module/ui/screens/steps/SignUpSecurityStep.js +158 -0
  89. package/lib/module/ui/screens/steps/SignUpSecurityStep.js.map +1 -0
  90. package/lib/module/ui/screens/steps/SignUpSummaryStep.js +165 -0
  91. package/lib/module/ui/screens/steps/SignUpSummaryStep.js.map +1 -0
  92. package/lib/module/ui/screens/steps/SignUpWelcomeStep.js +67 -0
  93. package/lib/module/ui/screens/steps/SignUpWelcomeStep.js.map +1 -0
  94. package/lib/typescript/models/interfaces.d.ts +4 -3
  95. package/lib/typescript/models/interfaces.d.ts.map +1 -1
  96. package/lib/typescript/ui/components/AnimationExample.d.ts +1 -1
  97. package/lib/typescript/ui/components/AnimationExample.d.ts.map +1 -1
  98. package/lib/typescript/ui/components/OxyPayButton.d.ts +2 -2
  99. package/lib/typescript/ui/components/OxyPayButton.d.ts.map +1 -1
  100. package/lib/typescript/ui/components/Section.d.ts +2 -1
  101. package/lib/typescript/ui/components/Section.d.ts.map +1 -1
  102. package/lib/typescript/ui/components/SectionTitle.d.ts +2 -1
  103. package/lib/typescript/ui/components/SectionTitle.d.ts.map +1 -1
  104. package/lib/typescript/ui/components/StepBasedScreen.d.ts +24 -0
  105. package/lib/typescript/ui/components/StepBasedScreen.d.ts.map +1 -0
  106. package/lib/typescript/ui/components/icon/FAIRWalletIcon.d.ts +2 -1
  107. package/lib/typescript/ui/components/icon/FAIRWalletIcon.d.ts.map +1 -1
  108. package/lib/typescript/ui/components/icon/OxyIcon.d.ts +1 -1
  109. package/lib/typescript/ui/components/icon/OxyIcon.d.ts.map +1 -1
  110. package/lib/typescript/ui/components/internal/PinInput.d.ts +9 -1
  111. package/lib/typescript/ui/components/internal/PinInput.d.ts.map +1 -1
  112. package/lib/typescript/ui/context/OxyContext.d.ts +2 -1
  113. package/lib/typescript/ui/context/OxyContext.d.ts.map +1 -1
  114. package/lib/typescript/ui/screens/PaymentGatewayScreen.d.ts +2 -2
  115. package/lib/typescript/ui/screens/PaymentGatewayScreen.d.ts.map +1 -1
  116. package/lib/typescript/ui/screens/ProfileScreen.d.ts.map +1 -1
  117. package/lib/typescript/ui/screens/RecoverAccountScreen.d.ts +2 -9
  118. package/lib/typescript/ui/screens/RecoverAccountScreen.d.ts.map +1 -1
  119. package/lib/typescript/ui/screens/SignInScreen.d.ts.map +1 -1
  120. package/lib/typescript/ui/screens/SignUpScreen.d.ts +1 -1
  121. package/lib/typescript/ui/screens/SignUpScreen.d.ts.map +1 -1
  122. package/lib/typescript/ui/screens/steps/RecoverRequestStep.d.ts +21 -0
  123. package/lib/typescript/ui/screens/steps/RecoverRequestStep.d.ts.map +1 -0
  124. package/lib/typescript/ui/screens/steps/RecoverSuccessStep.d.ts +18 -0
  125. package/lib/typescript/ui/screens/steps/RecoverSuccessStep.d.ts.map +1 -0
  126. package/lib/typescript/ui/screens/steps/RecoverVerifyStep.d.ts +24 -0
  127. package/lib/typescript/ui/screens/steps/RecoverVerifyStep.d.ts.map +1 -0
  128. package/lib/typescript/ui/screens/steps/SignInPasswordStep.d.ts +27 -0
  129. package/lib/typescript/ui/screens/steps/SignInPasswordStep.d.ts.map +1 -0
  130. package/lib/typescript/ui/screens/steps/SignInUsernameStep.d.ts +27 -0
  131. package/lib/typescript/ui/screens/steps/SignInUsernameStep.d.ts.map +1 -0
  132. package/lib/typescript/ui/screens/steps/SignUpIdentityStep.d.ts +25 -0
  133. package/lib/typescript/ui/screens/steps/SignUpIdentityStep.d.ts.map +1 -0
  134. package/lib/typescript/ui/screens/steps/SignUpSecurityStep.d.ts +26 -0
  135. package/lib/typescript/ui/screens/steps/SignUpSecurityStep.d.ts.map +1 -0
  136. package/lib/typescript/ui/screens/steps/SignUpSummaryStep.d.ts +16 -0
  137. package/lib/typescript/ui/screens/steps/SignUpSummaryStep.d.ts.map +1 -0
  138. package/lib/typescript/ui/screens/steps/SignUpWelcomeStep.d.ts +13 -0
  139. package/lib/typescript/ui/screens/steps/SignUpWelcomeStep.d.ts.map +1 -0
  140. package/package.json +2 -3
  141. package/src/models/interfaces.ts +5 -3
  142. package/src/ui/components/AnimationExample.tsx +9 -8
  143. package/src/ui/components/Header.tsx +2 -2
  144. package/src/ui/components/OxyPayButton.tsx +2 -2
  145. package/src/ui/components/OxyProvider.tsx +1 -1
  146. package/src/ui/components/Section.tsx +7 -7
  147. package/src/ui/components/SectionTitle.tsx +2 -2
  148. package/src/ui/components/StepBasedScreen.README.md +337 -0
  149. package/src/ui/components/StepBasedScreen.tsx +417 -0
  150. package/src/ui/components/icon/FAIRWalletIcon.tsx +2 -2
  151. package/src/ui/components/icon/OxyIcon.tsx +10 -11
  152. package/src/ui/components/internal/PinInput.tsx +13 -4
  153. package/src/ui/components/photogrid/JustifiedPhotoGrid.tsx +1 -1
  154. package/src/ui/context/OxyContext.tsx +12 -11
  155. package/src/ui/screens/PaymentGatewayScreen.tsx +2 -2
  156. package/src/ui/screens/ProfileScreen.tsx +54 -54
  157. package/src/ui/screens/RecoverAccountScreen.tsx +98 -211
  158. package/src/ui/screens/SignInScreen.tsx +148 -271
  159. package/src/ui/screens/SignUpScreen.tsx +146 -748
  160. package/src/ui/screens/internal/SignInPasswordStep.tsx +3 -3
  161. package/src/ui/screens/internal/SignInUsernameStep.tsx +2 -2
  162. package/src/ui/screens/steps/RecoverRequestStep.tsx +130 -0
  163. package/src/ui/screens/steps/RecoverSuccessStep.tsx +131 -0
  164. package/src/ui/screens/steps/RecoverVerifyStep.tsx +153 -0
  165. package/src/ui/screens/steps/SignInPasswordStep.tsx +172 -0
  166. package/src/ui/screens/steps/SignInUsernameStep.tsx +176 -0
  167. package/src/ui/screens/steps/SignUpIdentityStep.tsx +204 -0
  168. package/src/ui/screens/steps/SignUpSecurityStep.tsx +191 -0
  169. package/src/ui/screens/steps/SignUpSummaryStep.tsx +130 -0
  170. package/src/ui/screens/steps/SignUpWelcomeStep.tsx +65 -0
@@ -1,13 +1,12 @@
1
1
  "use strict";
2
2
 
3
3
  import { useState, useRef, useEffect, useMemo, useCallback } from 'react';
4
- import { Platform, KeyboardAvoidingView, ScrollView, StatusBar } from 'react-native';
5
- import { useSharedValue, withSpring, withTiming, runOnJS } from 'react-native-reanimated';
6
4
  import { useOxy } from '../context/OxyContext';
7
- import { useThemeColors, createCommonStyles, createAuthStyles } from '../styles';
8
- import SignInUsernameStep from './internal/SignInUsernameStep';
9
- import SignInPasswordStep from './internal/SignInPasswordStep';
10
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
+ import { useThemeColors } from '../styles';
6
+ import StepBasedScreen from '../components/StepBasedScreen';
7
+ import SignInUsernameStep from './steps/SignInUsernameStep';
8
+ import SignInPasswordStep from './steps/SignInPasswordStep';
9
+ import { jsx as _jsx } from "react/jsx-runtime";
11
10
  const SignInScreen = ({
12
11
  navigate,
13
12
  goBack,
@@ -17,36 +16,23 @@ const SignInScreen = ({
17
16
  username: initialUsername,
18
17
  userProfile: initialUserProfile
19
18
  }) => {
20
- // Only log props in development mode to reduce console noise
21
- if (__DEV__) {
22
- console.log('SignInScreen props:', {
23
- initialStep,
24
- initialUsername,
25
- initialUserProfile
26
- });
27
- }
28
19
  // Form data states
29
20
  const [username, setUsername] = useState(initialUsername || '');
30
21
  const [password, setPassword] = useState('');
31
22
  const [errorMessage, setErrorMessage] = useState('');
32
23
  const [userProfile, setUserProfile] = useState(initialUserProfile || null);
33
24
  const [showPassword, setShowPassword] = useState(false);
34
-
35
- // Multi-step form states
36
- const [currentStep, setCurrentStep] = useState(initialStep || 0);
37
25
  const [isInputFocused, setIsInputFocused] = useState(false);
38
26
  const [isValidating, setIsValidating] = useState(false);
39
27
  const [validationStatus, setValidationStatus] = useState(initialUserProfile ? 'valid' : 'idle');
40
28
 
29
+ // Monitor username state changes
30
+ useEffect(() => {
31
+ console.log('👀 SignInScreen username state changed:', username);
32
+ }, [username]);
33
+
41
34
  // Cache for validation results to prevent repeated API calls
42
35
  const validationCache = useRef(new Map());
43
-
44
- // Reanimated shared values
45
- const fadeAnim = useSharedValue(1);
46
- const slideAnim = useSharedValue(0);
47
- const scaleAnim = useSharedValue(1);
48
- const logoAnim = useSharedValue(0);
49
- const progressAnim = useSharedValue(initialStep ? 1.0 : 0.5);
50
36
  const {
51
37
  login,
52
38
  isLoading,
@@ -55,96 +41,98 @@ const SignInScreen = ({
55
41
  sessions,
56
42
  oxyServices
57
43
  } = useOxy();
44
+
45
+ // Only log props in development mode to reduce console noise
46
+ if (__DEV__) {
47
+ console.log('SignInScreen props:', {
48
+ initialStep,
49
+ initialUsername,
50
+ initialUserProfile
51
+ });
52
+ console.log('🔧 oxyServices available:', !!oxyServices);
53
+ console.log('🔧 getProfileByUsername available:', typeof oxyServices?.getProfileByUsername);
54
+ }
58
55
  const colors = useThemeColors(theme);
59
- const commonStyles = createCommonStyles(theme);
60
56
 
61
57
  // Check if this should be treated as "Add Account" mode
62
58
  const isAddAccountMode = useMemo(() => isAuthenticated && sessions && sessions.length > 0, [isAuthenticated, sessions]);
63
59
 
64
- // Memoized styles to prevent rerenders
65
- const styles = useMemo(() => createAuthStyles(colors, theme), [colors, theme]);
66
-
67
- // Initialize logo animation
68
- useEffect(() => {
69
- logoAnim.value = withSpring(1, {
70
- damping: 15,
71
- stiffness: 150
72
- });
73
- }, [logoAnim]);
74
-
75
- // Input focus handlers (no animation)
76
- const handleInputFocus = useCallback(() => {
77
- setIsInputFocused(true);
78
- }, []);
79
- const handleInputBlur = useCallback(() => {
80
- setIsInputFocused(false);
81
- }, []);
82
-
83
- // Memoized input change handlers to prevent re-renders
84
- const handleUsernameChange = useCallback(text => {
85
- setUsername(text);
86
- // Clear error as soon as user edits username
87
- if (errorMessage) setErrorMessage('');
88
- setValidationStatus('idle');
89
- }, [errorMessage]);
90
- const handlePasswordChange = useCallback(text => {
91
- setPassword(text);
92
- // Clear error as soon as user edits password
93
- if (errorMessage) setErrorMessage('');
94
- }, [errorMessage]);
95
-
96
60
  // Username validation using core services with caching
97
61
  const validateUsername = useCallback(async usernameToValidate => {
62
+ console.log('🔍 Validating username:', usernameToValidate);
98
63
  if (!usernameToValidate || usernameToValidate.length < 3) {
64
+ console.log('❌ Username too short');
99
65
  setValidationStatus('invalid');
100
- setErrorMessage('Please enter a valid username.');
66
+ setErrorMessage('Username must be at least 3 characters.');
101
67
  return false;
102
68
  }
103
69
 
104
- // Check cache first (cache valid for 5 minutes)
70
+ // Safety check for oxyServices
71
+ if (!oxyServices || typeof oxyServices.getProfileByUsername !== 'function') {
72
+ console.error('🚨 oxyServices not available or getProfileByUsername not found');
73
+ setValidationStatus('invalid');
74
+ setErrorMessage('Service unavailable. Please try again.');
75
+ return false;
76
+ }
77
+
78
+ // Check cache first
105
79
  const cached = validationCache.current.get(usernameToValidate);
106
- const now = Date.now();
107
- if (cached && now - cached.timestamp < 5 * 60 * 1000) {
80
+ if (cached) {
81
+ console.log('✅ Username found in cache:', cached.profile);
108
82
  setUserProfile(cached.profile);
109
83
  setValidationStatus('valid');
110
84
  setErrorMessage('');
111
85
  return true;
112
86
  }
87
+ console.log('🔄 Validating username with API...');
113
88
  setIsValidating(true);
114
89
  setValidationStatus('validating');
115
90
  try {
116
- // First check if username exists by trying to get profile
91
+ // Check if username exists
117
92
  const profile = await oxyServices.getProfileByUsername(usernameToValidate);
118
- if (profile) {
93
+ console.log('📋 Profile response:', profile);
94
+ if (profile && profile.username) {
119
95
  const profileData = {
120
96
  displayName: profile.name?.full || profile.name?.first || profile.username,
121
97
  name: profile.username,
122
98
  avatar: profile.avatar,
123
99
  id: profile.id
124
100
  };
101
+ console.log('✅ Username is valid:', profileData);
125
102
  setUserProfile(profileData);
126
103
  setValidationStatus('valid');
127
- setErrorMessage(''); // Clear any previous errors
104
+ setErrorMessage('');
128
105
 
129
106
  // Cache the result
130
107
  validationCache.current.set(usernameToValidate, {
131
- profile: profileData,
132
- timestamp: now
108
+ profile: profileData
133
109
  });
134
110
  return true;
135
111
  } else {
112
+ console.log('❌ Username not found');
136
113
  setValidationStatus('invalid');
137
114
  setErrorMessage('Username not found.');
138
115
  return false;
139
116
  }
140
117
  } catch (error) {
118
+ console.log('🚨 Validation error:', error);
119
+
141
120
  // If user not found (404), username doesn't exist
142
121
  if (error.status === 404 || error.code === 'USER_NOT_FOUND') {
122
+ console.log('❌ Username not found (404)');
143
123
  setValidationStatus('invalid');
144
124
  setErrorMessage('Username not found.');
145
125
  return false;
146
126
  }
147
127
 
128
+ // For development/testing: if API fails, allow any 3+ character username
129
+ if (__DEV__) {
130
+ console.log('⚠️ Development mode: allowing username due to API error');
131
+ setValidationStatus('valid');
132
+ setErrorMessage('');
133
+ return true;
134
+ }
135
+
148
136
  // For other errors, show generic message
149
137
  console.error('Username validation error:', error);
150
138
  setValidationStatus('invalid');
@@ -155,121 +143,36 @@ const SignInScreen = ({
155
143
  }
156
144
  }, [oxyServices]);
157
145
 
158
- // Debounced username validation - only run on explicit continue, not on every keystroke
159
- useEffect(() => {
160
- if (!username || username.length < 3) {
161
- setValidationStatus('idle');
162
- setUserProfile(null);
163
- setErrorMessage('');
164
- return;
165
- }
166
- // Only validate if we haven't already validated this exact username
167
- if (validationStatus === 'valid' && userProfile?.name === username) {
168
- return;
169
- }
170
- // Remove debounce, only validate on continue
171
- }, [username, validationStatus, userProfile?.name]);
172
-
173
- // Cleanup cache on unmount and limit cache size
174
- useEffect(() => {
175
- return () => {
176
- // Clear cache on unmount
177
- validationCache.current.clear();
178
- };
146
+ // Input change handlers
147
+ const handleUsernameChange = useCallback(text => {
148
+ console.log('🔄 SignInScreen handleUsernameChange called:', text);
149
+ setUsername(text);
150
+ if (errorMessage) setErrorMessage('');
151
+ setValidationStatus('idle');
152
+ }, [errorMessage]);
153
+ const handlePasswordChange = useCallback(text => {
154
+ setPassword(text);
155
+ if (errorMessage) setErrorMessage('');
156
+ }, [errorMessage]);
157
+ const handleInputFocus = useCallback(() => {
158
+ setIsInputFocused(true);
179
159
  }, []);
180
-
181
- // Clean up old cache entries periodically (older than 10 minutes)
182
- useEffect(() => {
183
- const cleanupInterval = setInterval(() => {
184
- const now = Date.now();
185
- const maxAge = 10 * 60 * 1000; // 10 minutes
186
-
187
- for (const [key, value] of validationCache.current.entries()) {
188
- if (now - value.timestamp > maxAge) {
189
- validationCache.current.delete(key);
190
- }
191
- }
192
-
193
- // Limit cache size to 50 entries
194
- if (validationCache.current.size > 50) {
195
- const entries = Array.from(validationCache.current.entries());
196
- entries.sort((a, b) => a[1].timestamp - b[1].timestamp);
197
- const toDelete = entries.slice(0, entries.length - 50);
198
- toDelete.forEach(([key]) => validationCache.current.delete(key));
199
- }
200
- }, 5 * 60 * 1000); // Clean up every 5 minutes
201
-
202
- return () => clearInterval(cleanupInterval);
160
+ const handleInputBlur = useCallback(() => {
161
+ setIsInputFocused(false);
203
162
  }, []);
204
163
 
205
- // Animation functions
206
- const animateTransition = useCallback(nextStep => {
207
- // Scale down current content
208
- scaleAnim.value = withTiming(0.95, {
209
- duration: 150
210
- });
211
-
212
- // Fade out and then animate in new content
213
- fadeAnim.value = withTiming(0, {
214
- duration: 200
215
- }, finished => {
216
- if (finished) {
217
- runOnJS(setCurrentStep)(nextStep);
218
-
219
- // Reset animations
220
- slideAnim.value = -50;
221
- scaleAnim.value = 0.95;
222
-
223
- // Animate in new content
224
- fadeAnim.value = withTiming(1, {
225
- duration: 300
226
- });
227
- slideAnim.value = withSpring(0, {
228
- damping: 15,
229
- stiffness: 200
230
- });
231
- scaleAnim.value = withSpring(1, {
232
- damping: 15,
233
- stiffness: 200
234
- });
235
- }
236
- });
237
- }, [fadeAnim, slideAnim, scaleAnim]);
238
- const nextStep = useCallback(() => {
239
- if (currentStep < 1) {
240
- // Animate progress bar
241
- progressAnim.value = withTiming(1.0, {
242
- duration: 300
243
- });
244
- animateTransition(currentStep + 1);
245
- }
246
- }, [currentStep, progressAnim, animateTransition]);
247
- const prevStep = useCallback(() => {
248
- if (currentStep > 0) {
249
- // Animate progress bar
250
- progressAnim.value = withTiming(0.5, {
251
- duration: 300
252
- });
253
- animateTransition(currentStep - 1);
254
- }
255
- }, [currentStep, progressAnim, animateTransition]);
256
-
257
- // Custom next handlers for validation
258
- const handleUsernameContinue = useCallback(async () => {
164
+ // Step validation and handlers
165
+ const validateUsernameStep = useCallback(async () => {
259
166
  if (!username) {
260
167
  setErrorMessage('Please enter your username.');
261
- return;
168
+ return false;
262
169
  }
263
170
  setErrorMessage('');
264
171
  setIsValidating(true);
265
172
  const valid = await validateUsername(username);
266
173
  setIsValidating(false);
267
- if (!valid) {
268
- // Error message is set in validateUsername
269
- return;
270
- }
271
- nextStep();
272
- }, [username, validateUsername, nextStep]);
174
+ return valid;
175
+ }, [username, validateUsername]);
273
176
  const handleSignIn = useCallback(async () => {
274
177
  if (!password) {
275
178
  setErrorMessage('Please enter your password.');
@@ -290,73 +193,73 @@ const SignInScreen = ({
290
193
  }
291
194
  }, [username, password, login, onAuthenticated, userProfile]);
292
195
 
293
- // Memoized step components
294
- const renderUsernameStep = useMemo(() => /*#__PURE__*/_jsx(SignInUsernameStep, {
295
- styles: styles,
296
- fadeAnim: fadeAnim,
297
- slideAnim: slideAnim,
298
- scaleAnim: scaleAnim,
299
- colors: colors,
300
- isAddAccountMode: isAddAccountMode,
301
- user: user,
302
- errorMessage: errorMessage,
303
- isInputFocused: isInputFocused,
304
- username: username,
305
- validationStatus: validationStatus,
306
- userProfile: userProfile,
307
- isValidating: isValidating,
308
- handleInputFocus: handleInputFocus,
309
- handleInputBlur: handleInputBlur,
310
- handleUsernameChange: handleUsernameChange,
311
- handleUsernameContinue: handleUsernameContinue,
312
- navigate: navigate
313
- }), [fadeAnim, slideAnim, scaleAnim, colors, isAddAccountMode, user?.username, errorMessage, isInputFocused, username, validationStatus, userProfile, isValidating, handleInputFocus, handleInputBlur, handleUsernameChange, handleUsernameContinue, navigate, styles]);
314
- const renderPasswordStep = useMemo(() => /*#__PURE__*/_jsx(SignInPasswordStep, {
315
- styles: styles,
316
- fadeAnim: fadeAnim,
317
- slideAnim: slideAnim,
318
- scaleAnim: scaleAnim,
319
- colors: colors,
320
- userProfile: userProfile,
321
- username: username,
196
+ // Simple cleanup on unmount - that's all we need for username validation
197
+ useEffect(() => {
198
+ return () => {
199
+ validationCache.current.clear();
200
+ };
201
+ }, []);
202
+
203
+ // Step configurations
204
+ const steps = useMemo(() => [{
205
+ id: 'username',
206
+ component: SignInUsernameStep,
207
+ canProceed: () => true // Let the component handle validation internally
208
+ }, {
209
+ id: 'password',
210
+ component: SignInPasswordStep,
211
+ canProceed: () => true // Let the component handle validation internally
212
+ }], [username, password, validationStatus, validateUsername, handleSignIn]);
213
+
214
+ // Handle step completion (final step)
215
+ const handleComplete = useCallback(async stepData => {
216
+ // The sign-in is handled by the password step component
217
+ // This callback is here for interface compatibility
218
+ console.log('Sign-in flow completed');
219
+ }, []);
220
+
221
+ // Step data for the reusable component
222
+ const stepData = useMemo(() => [{
223
+ username,
224
+ setUsername: handleUsernameChange,
225
+ errorMessage,
226
+ setErrorMessage,
227
+ validationStatus,
228
+ userProfile,
229
+ isValidating,
230
+ isInputFocused,
231
+ isAddAccountMode,
232
+ user,
233
+ handleInputFocus,
234
+ handleInputBlur,
235
+ validateUsername // Add validation function
236
+ }, {
237
+ password,
238
+ setPassword: handlePasswordChange,
239
+ showPassword,
240
+ setShowPassword,
241
+ errorMessage,
242
+ setErrorMessage,
243
+ isLoading,
244
+ isInputFocused,
245
+ userProfile,
246
+ username,
247
+ handleInputFocus,
248
+ handleInputBlur,
249
+ handleSignIn // Add sign-in function for password step
250
+ }], [username, password, errorMessage, validationStatus, userProfile, isValidating, isInputFocused, isAddAccountMode, user, showPassword, isLoading, handleUsernameChange, handlePasswordChange, handleInputFocus, handleInputBlur, validateUsername, handleSignIn]);
251
+ return /*#__PURE__*/_jsx(StepBasedScreen, {
252
+ steps: steps,
253
+ initialStep: initialStep,
254
+ stepData: stepData,
255
+ onComplete: handleComplete,
256
+ navigate: navigate,
257
+ goBack: goBack,
258
+ onAuthenticated: onAuthenticated,
322
259
  theme: theme,
323
- logoAnim: logoAnim,
324
- errorMessage: errorMessage,
325
- isInputFocused: isInputFocused,
326
- password: password,
327
- showPassword: showPassword,
328
- handleInputFocus: handleInputFocus,
329
- handleInputBlur: handleInputBlur,
330
- handlePasswordChange: handlePasswordChange,
331
- handleSignIn: handleSignIn,
332
- isLoading: isLoading,
333
- prevStep: prevStep,
334
- navigate: navigate
335
- }), [fadeAnim, slideAnim, scaleAnim, colors, userProfile, username, theme, logoAnim, errorMessage, isInputFocused, password, showPassword, handleInputFocus, handleInputBlur, handlePasswordChange, handleSignIn, isLoading, prevStep, styles, navigate]);
336
- const renderCurrentStep = useCallback(() => {
337
- switch (currentStep) {
338
- case 0:
339
- return renderUsernameStep;
340
- case 1:
341
- return renderPasswordStep;
342
- default:
343
- return renderUsernameStep;
344
- }
345
- }, [currentStep, renderUsernameStep, renderPasswordStep]);
346
- return /*#__PURE__*/_jsxs(KeyboardAvoidingView, {
347
- style: [styles.container, {
348
- backgroundColor: colors.background
349
- }],
350
- behavior: Platform.OS === 'ios' ? 'padding' : 'height',
351
- children: [/*#__PURE__*/_jsx(StatusBar, {
352
- barStyle: theme === 'dark' ? 'light-content' : 'dark-content',
353
- backgroundColor: colors.background
354
- }), /*#__PURE__*/_jsx(ScrollView, {
355
- contentContainerStyle: styles.scrollContent,
356
- showsVerticalScrollIndicator: false,
357
- keyboardShouldPersistTaps: "handled",
358
- children: renderCurrentStep()
359
- })]
260
+ showProgressIndicator: true,
261
+ enableAnimations: true,
262
+ oxyServices: oxyServices
360
263
  });
361
264
  };
362
265
  export default SignInScreen;
@@ -1 +1 @@
1
- {"version":3,"names":["useState","useRef","useEffect","useMemo","useCallback","Platform","KeyboardAvoidingView","ScrollView","StatusBar","useSharedValue","withSpring","withTiming","runOnJS","useOxy","useThemeColors","createCommonStyles","createAuthStyles","SignInUsernameStep","SignInPasswordStep","jsx","_jsx","jsxs","_jsxs","SignInScreen","navigate","goBack","onAuthenticated","theme","initialStep","username","initialUsername","userProfile","initialUserProfile","__DEV__","console","log","setUsername","password","setPassword","errorMessage","setErrorMessage","setUserProfile","showPassword","setShowPassword","currentStep","setCurrentStep","isInputFocused","setIsInputFocused","isValidating","setIsValidating","validationStatus","setValidationStatus","validationCache","Map","fadeAnim","slideAnim","scaleAnim","logoAnim","progressAnim","login","isLoading","user","isAuthenticated","sessions","oxyServices","colors","commonStyles","isAddAccountMode","length","styles","value","damping","stiffness","handleInputFocus","handleInputBlur","handleUsernameChange","text","handlePasswordChange","validateUsername","usernameToValidate","cached","current","get","now","Date","timestamp","profile","getProfileByUsername","profileData","displayName","name","full","first","avatar","id","set","error","status","code","clear","cleanupInterval","setInterval","maxAge","key","entries","delete","size","Array","from","sort","a","b","toDelete","slice","forEach","clearInterval","animateTransition","nextStep","duration","finished","prevStep","handleUsernameContinue","valid","handleSignIn","message","renderUsernameStep","renderPasswordStep","renderCurrentStep","style","container","backgroundColor","background","behavior","OS","children","barStyle","contentContainerStyle","scrollContent","showsVerticalScrollIndicator","keyboardShouldPersistTaps"],"sourceRoot":"../../../../src","sources":["ui/screens/SignInScreen.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useState","useRef","useEffect","useMemo","useCallback","useOxy","useThemeColors","StepBasedScreen","SignInUsernameStep","SignInPasswordStep","jsx","_jsx","SignInScreen","navigate","goBack","onAuthenticated","theme","initialStep","username","initialUsername","userProfile","initialUserProfile","setUsername","password","setPassword","errorMessage","setErrorMessage","setUserProfile","showPassword","setShowPassword","isInputFocused","setIsInputFocused","isValidating","setIsValidating","validationStatus","setValidationStatus","console","log","validationCache","Map","login","isLoading","user","isAuthenticated","sessions","oxyServices","__DEV__","getProfileByUsername","colors","isAddAccountMode","length","validateUsername","usernameToValidate","error","cached","current","get","profile","profileData","displayName","name","full","first","avatar","id","set","status","code","handleUsernameChange","text","handlePasswordChange","handleInputFocus","handleInputBlur","validateUsernameStep","valid","handleSignIn","message","clear","steps","component","canProceed","handleComplete","stepData","onComplete","showProgressIndicator","enableAnimations"],"sourceRoot":"../../../../src","sources":["ui/screens/SignInScreen.tsx"],"mappings":"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","ignoreList":[]}