@oxyhq/services 5.11.9 → 5.11.10
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/lib/commonjs/ui/components/AnimationExample.js +213 -0
- package/lib/commonjs/ui/components/AnimationExample.js.map +1 -0
- package/lib/commonjs/ui/components/FollowButton.js +58 -47
- package/lib/commonjs/ui/components/FollowButton.js.map +1 -1
- package/lib/commonjs/ui/components/GroupedItem.js +2 -1
- package/lib/commonjs/ui/components/GroupedItem.js.map +1 -1
- package/lib/commonjs/ui/components/GroupedSection.js +3 -0
- package/lib/commonjs/ui/components/GroupedSection.js.map +1 -1
- package/lib/commonjs/ui/components/Header.js +25 -11
- package/lib/commonjs/ui/components/Header.js.map +1 -1
- package/lib/commonjs/ui/components/OxyProvider.js +69 -33
- package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
- package/lib/commonjs/ui/components/ProfileCard.js +5 -1
- package/lib/commonjs/ui/components/ProfileCard.js.map +1 -1
- package/lib/commonjs/ui/components/index.js +0 -7
- package/lib/commonjs/ui/components/index.js.map +1 -1
- package/lib/commonjs/ui/components/internal/TextField.js +8 -4
- package/lib/commonjs/ui/components/internal/TextField.js.map +1 -1
- package/lib/commonjs/ui/components/photogrid/JustifiedPhotoGrid.js +161 -0
- package/lib/commonjs/ui/components/photogrid/JustifiedPhotoGrid.js.map +1 -0
- package/lib/commonjs/ui/context/OxyContext.js +97 -38
- package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
- package/lib/commonjs/ui/hooks/useFollow.types.js +2 -0
- package/lib/commonjs/ui/hooks/useFollow.types.js.map +1 -0
- package/lib/commonjs/ui/navigation/OxyRouter.js +10 -0
- package/lib/commonjs/ui/navigation/OxyRouter.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountCenterScreen.js +26 -14
- package/lib/commonjs/ui/screens/AccountCenterScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountOverviewScreen.js +3 -3
- package/lib/commonjs/ui/screens/AccountOverviewScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountSettingsScreen.js +64 -15
- package/lib/commonjs/ui/screens/AccountSettingsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountSwitcherScreen.js +4 -4
- package/lib/commonjs/ui/screens/AccountSwitcherScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/FeedbackScreen.js +72 -75
- package/lib/commonjs/ui/screens/FeedbackScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/FileManagementScreen.js +286 -126
- package/lib/commonjs/ui/screens/FileManagementScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/LanguageSelectorScreen.js +322 -0
- package/lib/commonjs/ui/screens/LanguageSelectorScreen.js.map +1 -0
- package/lib/commonjs/ui/screens/ProfileScreen.js +1 -1
- package/lib/commonjs/ui/screens/ProfileScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/SessionManagementScreen.js +176 -174
- package/lib/commonjs/ui/screens/SessionManagementScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/SignInScreen.js +43 -52
- package/lib/commonjs/ui/screens/SignInScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/SignUpScreen.js +6 -4
- package/lib/commonjs/ui/screens/SignUpScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js +386 -0
- package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js.map +1 -0
- package/lib/commonjs/ui/screens/internal/SignInPasswordStep.js +25 -15
- package/lib/commonjs/ui/screens/internal/SignInPasswordStep.js.map +1 -1
- package/lib/commonjs/ui/screens/internal/SignInUsernameStep.js +16 -9
- package/lib/commonjs/ui/screens/internal/SignInUsernameStep.js.map +1 -1
- package/lib/commonjs/ui/screens/karma/KarmaCenterScreen.js +1 -1
- package/lib/commonjs/ui/screens/karma/KarmaCenterScreen.js.map +1 -1
- package/lib/commonjs/ui/styles/authStyles.js +1 -1
- package/lib/commonjs/ui/styles/authStyles.js.map +1 -1
- package/lib/module/ui/components/AnimationExample.js +209 -0
- package/lib/module/ui/components/AnimationExample.js.map +1 -0
- package/lib/module/ui/components/FollowButton.js +58 -47
- package/lib/module/ui/components/FollowButton.js.map +1 -1
- package/lib/module/ui/components/GroupedItem.js +2 -1
- package/lib/module/ui/components/GroupedItem.js.map +1 -1
- package/lib/module/ui/components/GroupedSection.js +3 -0
- package/lib/module/ui/components/GroupedSection.js.map +1 -1
- package/lib/module/ui/components/Header.js +25 -11
- package/lib/module/ui/components/Header.js.map +1 -1
- package/lib/module/ui/components/OxyProvider.js +70 -34
- package/lib/module/ui/components/OxyProvider.js.map +1 -1
- package/lib/module/ui/components/ProfileCard.js +5 -1
- package/lib/module/ui/components/ProfileCard.js.map +1 -1
- package/lib/module/ui/components/index.js +0 -1
- package/lib/module/ui/components/index.js.map +1 -1
- package/lib/module/ui/components/internal/TextField.js +8 -4
- package/lib/module/ui/components/internal/TextField.js.map +1 -1
- package/lib/module/ui/components/photogrid/JustifiedPhotoGrid.js +156 -0
- package/lib/module/ui/components/photogrid/JustifiedPhotoGrid.js.map +1 -0
- package/lib/module/ui/context/OxyContext.js +97 -39
- package/lib/module/ui/context/OxyContext.js.map +1 -1
- package/lib/module/ui/hooks/useFollow.types.js +2 -0
- package/lib/module/ui/hooks/useFollow.types.js.map +1 -0
- package/lib/module/ui/navigation/OxyRouter.js +10 -0
- package/lib/module/ui/navigation/OxyRouter.js.map +1 -1
- package/lib/module/ui/screens/AccountCenterScreen.js +12 -1
- package/lib/module/ui/screens/AccountCenterScreen.js.map +1 -1
- package/lib/module/ui/screens/AccountOverviewScreen.js +3 -3
- package/lib/module/ui/screens/AccountOverviewScreen.js.map +1 -1
- package/lib/module/ui/screens/AccountSettingsScreen.js +64 -15
- package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -1
- package/lib/module/ui/screens/AccountSwitcherScreen.js +4 -4
- package/lib/module/ui/screens/AccountSwitcherScreen.js.map +1 -1
- package/lib/module/ui/screens/FeedbackScreen.js +72 -75
- package/lib/module/ui/screens/FeedbackScreen.js.map +1 -1
- package/lib/module/ui/screens/FileManagementScreen.js +285 -125
- package/lib/module/ui/screens/FileManagementScreen.js.map +1 -1
- package/lib/module/ui/screens/LanguageSelectorScreen.js +319 -0
- package/lib/module/ui/screens/LanguageSelectorScreen.js.map +1 -0
- package/lib/module/ui/screens/ProfileScreen.js +1 -1
- package/lib/module/ui/screens/ProfileScreen.js.map +1 -1
- package/lib/module/ui/screens/SessionManagementScreen.js +177 -175
- package/lib/module/ui/screens/SessionManagementScreen.js.map +1 -1
- package/lib/module/ui/screens/SignInScreen.js +44 -53
- package/lib/module/ui/screens/SignInScreen.js.map +1 -1
- package/lib/module/ui/screens/SignUpScreen.js +6 -4
- package/lib/module/ui/screens/SignUpScreen.js.map +1 -1
- package/lib/module/ui/screens/WelcomeNewUserScreen.js +382 -0
- package/lib/module/ui/screens/WelcomeNewUserScreen.js.map +1 -0
- package/lib/module/ui/screens/internal/SignInPasswordStep.js +23 -14
- package/lib/module/ui/screens/internal/SignInPasswordStep.js.map +1 -1
- package/lib/module/ui/screens/internal/SignInUsernameStep.js +15 -9
- package/lib/module/ui/screens/internal/SignInUsernameStep.js.map +1 -1
- package/lib/module/ui/screens/karma/KarmaCenterScreen.js +1 -1
- package/lib/module/ui/screens/karma/KarmaCenterScreen.js.map +1 -1
- package/lib/module/ui/styles/authStyles.js +1 -1
- package/lib/module/ui/styles/authStyles.js.map +1 -1
- package/lib/typescript/models/interfaces.d.ts +1 -5
- package/lib/typescript/models/interfaces.d.ts.map +1 -1
- package/lib/typescript/models/session.d.ts +1 -4
- package/lib/typescript/models/session.d.ts.map +1 -1
- package/lib/typescript/ui/components/AnimationExample.d.ts +4 -0
- package/lib/typescript/ui/components/AnimationExample.d.ts.map +1 -0
- package/lib/typescript/ui/components/FollowButton.d.ts.map +1 -1
- package/lib/typescript/ui/components/GroupedItem.d.ts.map +1 -1
- package/lib/typescript/ui/components/Header.d.ts +9 -0
- package/lib/typescript/ui/components/Header.d.ts.map +1 -1
- package/lib/typescript/ui/components/OxyProvider.d.ts.map +1 -1
- package/lib/typescript/ui/components/ProfileCard.d.ts +1 -3
- package/lib/typescript/ui/components/ProfileCard.d.ts.map +1 -1
- package/lib/typescript/ui/components/index.d.ts +0 -1
- package/lib/typescript/ui/components/index.d.ts.map +1 -1
- package/lib/typescript/ui/components/internal/TextField.d.ts.map +1 -1
- package/lib/typescript/ui/components/photogrid/JustifiedPhotoGrid.d.ts +27 -0
- package/lib/typescript/ui/components/photogrid/JustifiedPhotoGrid.d.ts.map +1 -0
- package/lib/typescript/ui/context/OxyContext.d.ts +6 -2
- package/lib/typescript/ui/context/OxyContext.d.ts.map +1 -1
- package/lib/typescript/ui/hooks/useFollow.types.d.ts +33 -0
- package/lib/typescript/ui/hooks/useFollow.types.d.ts.map +1 -0
- package/lib/typescript/ui/navigation/OxyRouter.d.ts.map +1 -1
- package/lib/typescript/ui/navigation/types.d.ts +5 -0
- package/lib/typescript/ui/navigation/types.d.ts.map +1 -1
- package/lib/typescript/ui/screens/AccountCenterScreen.d.ts.map +1 -1
- package/lib/typescript/ui/screens/AccountSettingsScreen.d.ts.map +1 -1
- package/lib/typescript/ui/screens/FeedbackScreen.d.ts.map +1 -1
- package/lib/typescript/ui/screens/FileManagementScreen.d.ts +18 -1
- package/lib/typescript/ui/screens/FileManagementScreen.d.ts.map +1 -1
- package/lib/typescript/ui/screens/LanguageSelectorScreen.d.ts +7 -0
- package/lib/typescript/ui/screens/LanguageSelectorScreen.d.ts.map +1 -0
- package/lib/typescript/ui/screens/ProfileScreen.d.ts.map +1 -1
- package/lib/typescript/ui/screens/SessionManagementScreen.d.ts.map +1 -1
- package/lib/typescript/ui/screens/SignInScreen.d.ts.map +1 -1
- package/lib/typescript/ui/screens/SignUpScreen.d.ts.map +1 -1
- package/lib/typescript/ui/screens/WelcomeNewUserScreen.d.ts +13 -0
- package/lib/typescript/ui/screens/WelcomeNewUserScreen.d.ts.map +1 -0
- package/lib/typescript/ui/screens/internal/SignInPasswordStep.d.ts +5 -5
- package/lib/typescript/ui/screens/internal/SignInPasswordStep.d.ts.map +1 -1
- package/lib/typescript/ui/screens/internal/SignInUsernameStep.d.ts +4 -4
- package/lib/typescript/ui/screens/internal/SignInUsernameStep.d.ts.map +1 -1
- package/lib/typescript/ui/styles/authStyles.d.ts +1 -1
- package/package.json +10 -2
- package/src/models/interfaces.ts +2 -5
- package/src/models/session.ts +1 -4
- package/src/ui/components/AnimationExample.tsx +194 -0
- package/src/ui/components/FollowButton.tsx +65 -45
- package/src/ui/components/GroupedItem.tsx +1 -0
- package/src/ui/components/GroupedSection.tsx +1 -1
- package/src/ui/components/Header.tsx +36 -12
- package/src/ui/components/OxyProvider.tsx +66 -32
- package/src/ui/components/ProfileCard.tsx +6 -8
- package/src/ui/components/index.ts +0 -1
- package/src/ui/components/internal/TextField.tsx +12 -6
- package/src/ui/components/photogrid/JustifiedPhotoGrid.tsx +158 -0
- package/src/ui/context/OxyContext.tsx +84 -54
- package/src/ui/hooks/useFollow.types.ts +33 -0
- package/src/ui/navigation/OxyRouter.tsx +10 -0
- package/src/ui/navigation/types.ts +6 -0
- package/src/ui/screens/AccountCenterScreen.tsx +13 -7
- package/src/ui/screens/AccountOverviewScreen.tsx +3 -3
- package/src/ui/screens/AccountSettingsScreen.tsx +65 -13
- package/src/ui/screens/AccountSwitcherScreen.tsx +4 -4
- package/src/ui/screens/FeedbackScreen.tsx +57 -80
- package/src/ui/screens/FileManagementScreen.tsx +278 -175
- package/src/ui/screens/LanguageSelectorScreen.tsx +322 -0
- package/src/ui/screens/ProfileScreen.tsx +6 -1
- package/src/ui/screens/SessionManagementScreen.tsx +148 -151
- package/src/ui/screens/SignInScreen.tsx +43 -62
- package/src/ui/screens/SignUpScreen.tsx +3 -5
- package/src/ui/screens/WelcomeNewUserScreen.tsx +272 -0
- package/src/ui/screens/internal/SignInPasswordStep.tsx +28 -13
- package/src/ui/screens/internal/SignInUsernameStep.tsx +21 -11
- package/src/ui/screens/karma/KarmaCenterScreen.tsx +1 -1
- package/src/ui/styles/authStyles.ts +1 -1
|
@@ -22,11 +22,13 @@ const SessionManagementScreen = ({
|
|
|
22
22
|
refreshSessions,
|
|
23
23
|
logout,
|
|
24
24
|
logoutAll,
|
|
25
|
-
|
|
25
|
+
switchSession
|
|
26
26
|
} = (0, _OxyContext.useOxy)();
|
|
27
27
|
const [loading, setLoading] = (0, _react.useState)(true);
|
|
28
28
|
const [refreshing, setRefreshing] = (0, _react.useState)(false);
|
|
29
29
|
const [actionLoading, setActionLoading] = (0, _react.useState)(null);
|
|
30
|
+
const [switchLoading, setSwitchLoading] = (0, _react.useState)(null);
|
|
31
|
+
const [lastRefreshed, setLastRefreshed] = (0, _react.useState)(null);
|
|
30
32
|
const isDarkTheme = theme === 'dark';
|
|
31
33
|
const textColor = isDarkTheme ? '#FFFFFF' : '#000000';
|
|
32
34
|
const backgroundColor = isDarkTheme ? '#121212' : '#FFFFFF';
|
|
@@ -43,6 +45,7 @@ const SessionManagementScreen = ({
|
|
|
43
45
|
setLoading(true);
|
|
44
46
|
}
|
|
45
47
|
await refreshSessions();
|
|
48
|
+
setLastRefreshed(new Date());
|
|
46
49
|
} catch (error) {
|
|
47
50
|
console.error('Failed to load sessions:', error);
|
|
48
51
|
if (_reactNative.Platform.OS === 'web') {
|
|
@@ -108,30 +111,36 @@ const SessionManagementScreen = ({
|
|
|
108
111
|
}
|
|
109
112
|
});
|
|
110
113
|
};
|
|
111
|
-
|
|
114
|
+
|
|
115
|
+
// Relative time formatter (past & future)
|
|
116
|
+
const formatRelative = dateString => {
|
|
117
|
+
if (!dateString) return 'Unknown';
|
|
112
118
|
const date = new Date(dateString);
|
|
113
119
|
const now = new Date();
|
|
114
|
-
const
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
if (
|
|
120
|
+
const diffMs = date.getTime() - now.getTime();
|
|
121
|
+
const absMin = Math.abs(diffMs) / 60000;
|
|
122
|
+
const isFuture = diffMs > 0;
|
|
123
|
+
const fmt = n => n < 1 ? 'moments' : Math.floor(n);
|
|
124
|
+
if (absMin < 1) return isFuture ? 'in moments' : 'just now';
|
|
125
|
+
if (absMin < 60) return isFuture ? `in ${fmt(absMin)}m` : `${fmt(absMin)}m ago`;
|
|
126
|
+
const hrs = absMin / 60;
|
|
127
|
+
if (hrs < 24) return isFuture ? `in ${fmt(hrs)}h` : `${fmt(hrs)}h ago`;
|
|
128
|
+
const days = hrs / 24;
|
|
129
|
+
if (days < 7) return isFuture ? `in ${fmt(days)}d` : `${fmt(days)}d ago`;
|
|
119
130
|
return date.toLocaleDateString();
|
|
120
131
|
};
|
|
121
|
-
const
|
|
122
|
-
if (
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
return '📱';
|
|
132
|
+
const handleSwitchSession = async sessionId => {
|
|
133
|
+
if (sessionId === activeSessionId) return;
|
|
134
|
+
setSwitchLoading(sessionId);
|
|
135
|
+
try {
|
|
136
|
+
await switchSession(sessionId);
|
|
137
|
+
_sonner.toast.success('Switched session');
|
|
138
|
+
} catch (e) {
|
|
139
|
+
console.error('Switch session failed', e);
|
|
140
|
+
_sonner.toast.error('Failed to switch session');
|
|
141
|
+
} finally {
|
|
142
|
+
setSwitchLoading(null);
|
|
133
143
|
}
|
|
134
|
-
return '💻'; // Desktop/web
|
|
135
144
|
};
|
|
136
145
|
(0, _react.useEffect)(() => {
|
|
137
146
|
loadSessions();
|
|
@@ -152,6 +161,101 @@ const SessionManagementScreen = ({
|
|
|
152
161
|
})]
|
|
153
162
|
});
|
|
154
163
|
}
|
|
164
|
+
|
|
165
|
+
// Build grouped section items for sessions
|
|
166
|
+
const sessionItems = userSessions.map(session => {
|
|
167
|
+
const isCurrent = session.sessionId === activeSessionId;
|
|
168
|
+
const subtitleParts = [];
|
|
169
|
+
if (session.deviceId) subtitleParts.push(`Device ${session.deviceId.substring(0, 10)}...`);
|
|
170
|
+
subtitleParts.push(`Last ${formatRelative(session.lastActive)}`);
|
|
171
|
+
subtitleParts.push(`Expires ${formatRelative(session.expiresAt)}`);
|
|
172
|
+
return {
|
|
173
|
+
id: session.sessionId,
|
|
174
|
+
icon: isCurrent ? 'shield-checkmark' : 'laptop-outline',
|
|
175
|
+
iconColor: isCurrent ? successColor : primaryColor,
|
|
176
|
+
title: isCurrent ? 'Current Session' : `Session ${session.sessionId.substring(0, 8)}...`,
|
|
177
|
+
subtitle: subtitleParts.join(' \u2022 '),
|
|
178
|
+
showChevron: false,
|
|
179
|
+
multiRow: true,
|
|
180
|
+
customContentBelow: !isCurrent ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
181
|
+
style: styles.sessionActionsRow,
|
|
182
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
|
|
183
|
+
onPress: () => handleSwitchSession(session.sessionId),
|
|
184
|
+
style: [styles.sessionPillButton, {
|
|
185
|
+
backgroundColor: isDarkTheme ? '#1E2A38' : '#E6F2FF',
|
|
186
|
+
borderColor: primaryColor
|
|
187
|
+
}],
|
|
188
|
+
disabled: switchLoading === session.sessionId || actionLoading === session.sessionId,
|
|
189
|
+
children: switchLoading === session.sessionId ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
|
|
190
|
+
size: "small",
|
|
191
|
+
color: primaryColor
|
|
192
|
+
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
193
|
+
style: [styles.sessionPillText, {
|
|
194
|
+
color: primaryColor
|
|
195
|
+
}],
|
|
196
|
+
children: "Switch"
|
|
197
|
+
})
|
|
198
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
|
|
199
|
+
onPress: () => handleLogoutSession(session.sessionId),
|
|
200
|
+
style: [styles.sessionPillButton, {
|
|
201
|
+
backgroundColor: isDarkTheme ? '#3A1E1E' : '#FFEBEE',
|
|
202
|
+
borderColor: dangerColor
|
|
203
|
+
}],
|
|
204
|
+
disabled: actionLoading === session.sessionId || switchLoading === session.sessionId,
|
|
205
|
+
children: actionLoading === session.sessionId ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
|
|
206
|
+
size: "small",
|
|
207
|
+
color: dangerColor
|
|
208
|
+
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
209
|
+
style: [styles.sessionPillText, {
|
|
210
|
+
color: dangerColor
|
|
211
|
+
}],
|
|
212
|
+
children: "Logout"
|
|
213
|
+
})
|
|
214
|
+
})]
|
|
215
|
+
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
216
|
+
style: styles.sessionActionsRow,
|
|
217
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
218
|
+
style: [styles.currentBadgeText, {
|
|
219
|
+
color: successColor
|
|
220
|
+
}],
|
|
221
|
+
children: "Active"
|
|
222
|
+
})
|
|
223
|
+
}),
|
|
224
|
+
selected: isCurrent,
|
|
225
|
+
dense: true
|
|
226
|
+
};
|
|
227
|
+
});
|
|
228
|
+
|
|
229
|
+
// Bulk actions as grouped section items
|
|
230
|
+
const bulkItems = [{
|
|
231
|
+
id: 'logout-others',
|
|
232
|
+
icon: 'exit-outline',
|
|
233
|
+
iconColor: primaryColor,
|
|
234
|
+
title: 'Logout Other Sessions',
|
|
235
|
+
subtitle: userSessions.filter(s => s.sessionId !== activeSessionId).length === 0 ? 'No other sessions' : 'End all sessions except this one',
|
|
236
|
+
onPress: handleLogoutOtherSessions,
|
|
237
|
+
showChevron: false,
|
|
238
|
+
customContent: actionLoading === 'others' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
|
|
239
|
+
size: "small",
|
|
240
|
+
color: primaryColor
|
|
241
|
+
}) : undefined,
|
|
242
|
+
disabled: actionLoading === 'others' || userSessions.filter(s => s.sessionId !== activeSessionId).length === 0,
|
|
243
|
+
dense: true
|
|
244
|
+
}, {
|
|
245
|
+
id: 'logout-all',
|
|
246
|
+
icon: 'warning-outline',
|
|
247
|
+
iconColor: dangerColor,
|
|
248
|
+
title: 'Logout All Sessions',
|
|
249
|
+
subtitle: 'End all sessions including this one',
|
|
250
|
+
onPress: handleLogoutAllSessions,
|
|
251
|
+
showChevron: false,
|
|
252
|
+
customContent: actionLoading === 'all' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
|
|
253
|
+
size: "small",
|
|
254
|
+
color: dangerColor
|
|
255
|
+
}) : undefined,
|
|
256
|
+
disabled: actionLoading === 'all',
|
|
257
|
+
dense: true
|
|
258
|
+
}];
|
|
155
259
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
156
260
|
style: [styles.container, {
|
|
157
261
|
backgroundColor
|
|
@@ -171,102 +275,28 @@ const SessionManagementScreen = ({
|
|
|
171
275
|
tintColor: primaryColor
|
|
172
276
|
}),
|
|
173
277
|
children: userSessions.length > 0 ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
174
|
-
children: [
|
|
175
|
-
style: [styles.
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
borderLeftColor: session.sessionId === activeSessionId ? successColor : borderColor
|
|
278
|
+
children: [lastRefreshed && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
|
|
279
|
+
style: [styles.metaText, {
|
|
280
|
+
color: isDarkTheme ? '#777' : '#777',
|
|
281
|
+
marginBottom: 6
|
|
179
282
|
}],
|
|
180
|
-
children: [
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
}],
|
|
198
|
-
children: "Current Session"
|
|
199
|
-
})]
|
|
200
|
-
})]
|
|
201
|
-
})
|
|
202
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
203
|
-
style: styles.sessionDetails,
|
|
204
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
|
|
205
|
-
style: [styles.sessionDetail, {
|
|
206
|
-
color: isDarkTheme ? '#BBBBBB' : '#666666'
|
|
207
|
-
}],
|
|
208
|
-
children: ["Device ID: ", session.deviceId ? session.deviceId.substring(0, 12) + '...' : 'Unknown']
|
|
209
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
|
|
210
|
-
style: [styles.sessionDetail, {
|
|
211
|
-
color: isDarkTheme ? '#BBBBBB' : '#666666'
|
|
212
|
-
}],
|
|
213
|
-
children: ["Last active: ", session.lastActive ? new Date(session.lastActive).toLocaleDateString() : 'Unknown']
|
|
214
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
|
|
215
|
-
style: [styles.sessionDetail, {
|
|
216
|
-
color: isDarkTheme ? '#BBBBBB' : '#666666'
|
|
217
|
-
}],
|
|
218
|
-
children: ["Expires: ", session.expiresAt ? new Date(session.expiresAt).toLocaleDateString() : 'Unknown']
|
|
219
|
-
})]
|
|
220
|
-
}), session.sessionId !== activeSessionId && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
|
|
221
|
-
style: [styles.logoutButton, {
|
|
222
|
-
backgroundColor: isDarkTheme ? '#400000' : '#FFEBEE'
|
|
223
|
-
}],
|
|
224
|
-
onPress: () => handleLogoutSession(session.sessionId),
|
|
225
|
-
disabled: actionLoading === session.sessionId,
|
|
226
|
-
children: actionLoading === session.sessionId ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
|
|
227
|
-
size: "small",
|
|
228
|
-
color: dangerColor
|
|
229
|
-
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
230
|
-
style: [styles.logoutButtonText, {
|
|
231
|
-
color: dangerColor
|
|
232
|
-
}],
|
|
233
|
-
children: "Logout"
|
|
234
|
-
})
|
|
235
|
-
})]
|
|
236
|
-
}, session.sessionId)), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
237
|
-
style: styles.bulkActions,
|
|
238
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
|
|
239
|
-
style: [styles.bulkActionButton, {
|
|
240
|
-
backgroundColor: isDarkTheme ? '#1A1A1A' : '#F0F0F0',
|
|
241
|
-
borderColor
|
|
242
|
-
}],
|
|
243
|
-
onPress: handleLogoutOtherSessions,
|
|
244
|
-
disabled: actionLoading === 'others' || userSessions.filter(s => s.sessionId !== activeSessionId).length === 0,
|
|
245
|
-
children: actionLoading === 'others' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
|
|
246
|
-
size: "small",
|
|
247
|
-
color: primaryColor
|
|
248
|
-
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
249
|
-
style: [styles.bulkActionButtonText, {
|
|
250
|
-
color: textColor
|
|
251
|
-
}],
|
|
252
|
-
children: "Logout Other Sessions"
|
|
253
|
-
})
|
|
254
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
|
|
255
|
-
style: [styles.bulkActionButton, styles.dangerButton, {
|
|
256
|
-
backgroundColor: isDarkTheme ? '#400000' : '#FFEBEE'
|
|
257
|
-
}],
|
|
258
|
-
onPress: handleLogoutAllSessions,
|
|
259
|
-
disabled: actionLoading === 'all',
|
|
260
|
-
children: actionLoading === 'all' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
|
|
261
|
-
size: "small",
|
|
262
|
-
color: dangerColor
|
|
263
|
-
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
264
|
-
style: [styles.bulkActionButtonText, {
|
|
265
|
-
color: dangerColor
|
|
266
|
-
}],
|
|
267
|
-
children: "Logout All Sessions"
|
|
268
|
-
})
|
|
269
|
-
})]
|
|
283
|
+
children: ["Last refreshed ", formatRelative(lastRefreshed.toISOString())]
|
|
284
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
285
|
+
style: styles.fullBleed,
|
|
286
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.GroupedSection, {
|
|
287
|
+
items: sessionItems,
|
|
288
|
+
theme: theme
|
|
289
|
+
})
|
|
290
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
291
|
+
style: {
|
|
292
|
+
height: 12
|
|
293
|
+
}
|
|
294
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
295
|
+
style: styles.fullBleed,
|
|
296
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.GroupedSection, {
|
|
297
|
+
items: bulkItems,
|
|
298
|
+
theme: theme
|
|
299
|
+
})
|
|
270
300
|
})]
|
|
271
301
|
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
272
302
|
style: styles.emptyState,
|
|
@@ -309,74 +339,46 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
309
339
|
padding: 20,
|
|
310
340
|
paddingTop: 0
|
|
311
341
|
},
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
marginBottom: 12
|
|
318
|
-
},
|
|
319
|
-
sessionHeader: {
|
|
320
|
-
marginBottom: 12
|
|
342
|
+
// Removed legacy session card & bulk action styles (now using GroupedSection)
|
|
343
|
+
sessionActionsRow: {
|
|
344
|
+
flexDirection: 'row',
|
|
345
|
+
gap: 8,
|
|
346
|
+
marginTop: 6
|
|
321
347
|
},
|
|
322
|
-
|
|
348
|
+
sessionPillButton: {
|
|
349
|
+
paddingHorizontal: 14,
|
|
350
|
+
paddingVertical: 6,
|
|
351
|
+
borderRadius: 20,
|
|
352
|
+
borderWidth: 1,
|
|
323
353
|
flexDirection: 'row',
|
|
324
354
|
alignItems: 'center'
|
|
325
355
|
},
|
|
326
|
-
|
|
327
|
-
fontSize:
|
|
328
|
-
marginRight: 12
|
|
329
|
-
},
|
|
330
|
-
sessionTitleText: {
|
|
331
|
-
flex: 1
|
|
332
|
-
},
|
|
333
|
-
deviceName: {
|
|
334
|
-
fontSize: 16,
|
|
356
|
+
sessionPillText: {
|
|
357
|
+
fontSize: 12,
|
|
335
358
|
fontWeight: '600',
|
|
336
|
-
|
|
359
|
+
letterSpacing: 0.3,
|
|
360
|
+
textTransform: 'uppercase'
|
|
337
361
|
},
|
|
338
|
-
|
|
362
|
+
currentBadgeText: {
|
|
339
363
|
fontSize: 12,
|
|
340
|
-
fontWeight: '
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
},
|
|
349
|
-
logoutButton: {
|
|
350
|
-
paddingVertical: 8,
|
|
351
|
-
paddingHorizontal: 16,
|
|
352
|
-
borderRadius: 6,
|
|
353
|
-
alignItems: 'center',
|
|
354
|
-
alignSelf: 'flex-start'
|
|
355
|
-
},
|
|
356
|
-
logoutButtonText: {
|
|
357
|
-
fontSize: 14,
|
|
358
|
-
fontWeight: '500'
|
|
359
|
-
},
|
|
360
|
-
bulkActions: {
|
|
361
|
-
marginTop: 20,
|
|
362
|
-
paddingTop: 20,
|
|
363
|
-
borderTopWidth: 1,
|
|
364
|
-
borderTopColor: '#E0E0E0'
|
|
365
|
-
},
|
|
366
|
-
bulkActionButton: {
|
|
367
|
-
paddingVertical: 12,
|
|
368
|
-
paddingHorizontal: 20,
|
|
369
|
-
borderRadius: 8,
|
|
370
|
-
borderWidth: 1,
|
|
371
|
-
alignItems: 'center',
|
|
372
|
-
marginBottom: 12
|
|
364
|
+
fontWeight: '600',
|
|
365
|
+
paddingHorizontal: 10,
|
|
366
|
+
paddingVertical: 4,
|
|
367
|
+
backgroundColor: '#2E7D3215',
|
|
368
|
+
borderRadius: 16,
|
|
369
|
+
overflow: 'hidden',
|
|
370
|
+
textTransform: 'uppercase',
|
|
371
|
+
letterSpacing: 0.5
|
|
373
372
|
},
|
|
374
|
-
|
|
375
|
-
|
|
373
|
+
metaText: {
|
|
374
|
+
fontSize: 12,
|
|
375
|
+
textTransform: 'uppercase',
|
|
376
|
+
letterSpacing: 0.5,
|
|
377
|
+
fontWeight: '600'
|
|
376
378
|
},
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
379
|
+
fullBleed: {
|
|
380
|
+
width: '100%',
|
|
381
|
+
alignSelf: 'stretch'
|
|
380
382
|
},
|
|
381
383
|
emptyState: {
|
|
382
384
|
alignItems: 'center',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_OxyContext","_sonner","_confirmAction","_components","_jsxRuntime","SessionManagementScreen","onClose","theme","goBack","sessions","userSessions","activeSessionId","refreshSessions","logout","logoutAll","oxyServices","useOxy","loading","setLoading","useState","refreshing","setRefreshing","actionLoading","setActionLoading","isDarkTheme","textColor","backgroundColor","secondaryBackgroundColor","borderColor","primaryColor","dangerColor","successColor","loadSessions","isRefresh","error","console","Platform","OS","toast","Alert","alert","text","handleLogoutSession","sessionId","confirmAction","success","handleLogoutOtherSessions","otherSessionsCount","filter","s","length","info","session","handleLogoutAllSessions","formatDate","dateString","date","Date","now","diffInMinutes","Math","floor","getTime","toLocaleDateString","getDeviceIcon","deviceType","platform","toLowerCase","includes","useEffect","jsxs","View","style","styles","container","centerContent","children","jsx","ActivityIndicator","size","color","Text","loadingText","Header","title","subtitle","onBack","elevation","ScrollView","scrollView","contentContainerStyle","scrollContainer","refreshControl","RefreshControl","onRefresh","tintColor","Fragment","map","sessionCard","borderLeftColor","sessionHeader","sessionTitleRow","deviceIcon","sessionTitleText","deviceName","substring","currentBadge","sessionDetails","sessionDetail","deviceId","lastActive","expiresAt","TouchableOpacity","logoutButton","onPress","disabled","logoutButtonText","bulkActions","bulkActionButton","bulkActionButtonText","dangerButton","emptyState","emptyStateText","footer","borderTopColor","closeButton","closeButtonText","StyleSheet","create","flex","justifyContent","alignItems","padding","paddingTop","borderRadius","borderWidth","borderLeftWidth","marginBottom","flexDirection","fontSize","marginRight","fontWeight","paddingVertical","paddingHorizontal","alignSelf","marginTop","borderTopWidth","fontStyle","_default","exports","default"],"sourceRoot":"../../../../src","sources":["ui/screens/SessionManagementScreen.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_OxyContext","_sonner","_confirmAction","_components","_jsxRuntime","SessionManagementScreen","onClose","theme","goBack","sessions","userSessions","activeSessionId","refreshSessions","logout","logoutAll","switchSession","useOxy","loading","setLoading","useState","refreshing","setRefreshing","actionLoading","setActionLoading","switchLoading","setSwitchLoading","lastRefreshed","setLastRefreshed","isDarkTheme","textColor","backgroundColor","secondaryBackgroundColor","borderColor","primaryColor","dangerColor","successColor","loadSessions","isRefresh","Date","error","console","Platform","OS","toast","Alert","alert","text","handleLogoutSession","sessionId","confirmAction","success","handleLogoutOtherSessions","otherSessionsCount","filter","s","length","info","session","handleLogoutAllSessions","formatRelative","dateString","date","now","diffMs","getTime","absMin","Math","abs","isFuture","fmt","n","floor","hrs","days","toLocaleDateString","handleSwitchSession","e","useEffect","jsxs","View","style","styles","container","centerContent","children","jsx","ActivityIndicator","size","color","Text","loadingText","sessionItems","map","isCurrent","subtitleParts","deviceId","push","substring","lastActive","expiresAt","id","icon","iconColor","title","subtitle","join","showChevron","multiRow","customContentBelow","sessionActionsRow","TouchableOpacity","onPress","sessionPillButton","disabled","sessionPillText","currentBadgeText","selected","dense","bulkItems","customContent","undefined","Header","onBack","elevation","ScrollView","scrollView","contentContainerStyle","scrollContainer","refreshControl","RefreshControl","onRefresh","tintColor","Fragment","metaText","marginBottom","toISOString","fullBleed","GroupedSection","items","height","emptyState","emptyStateText","footer","borderTopColor","closeButton","closeButtonText","StyleSheet","create","flex","justifyContent","alignItems","padding","paddingTop","flexDirection","gap","marginTop","paddingHorizontal","paddingVertical","borderRadius","borderWidth","fontSize","fontWeight","letterSpacing","textTransform","overflow","width","alignSelf","fontStyle","borderTopWidth","_default","exports","default"],"sourceRoot":"../../../../src","sources":["ui/screens/SessionManagementScreen.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _react = require("react");
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
|
+
var _reactNativeReanimated = require("react-native-reanimated");
|
|
9
10
|
var _OxyContext = require("../context/OxyContext");
|
|
10
11
|
var _styles = require("../styles");
|
|
11
12
|
var _SignInUsernameStep = _interopRequireDefault(require("./internal/SignInUsernameStep"));
|
|
@@ -44,11 +45,13 @@ const SignInScreen = ({
|
|
|
44
45
|
|
|
45
46
|
// Cache for validation results to prevent repeated API calls
|
|
46
47
|
const validationCache = (0, _react.useRef)(new Map());
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
const
|
|
50
|
-
const
|
|
51
|
-
const
|
|
48
|
+
|
|
49
|
+
// Reanimated shared values
|
|
50
|
+
const fadeAnim = (0, _reactNativeReanimated.useSharedValue)(1);
|
|
51
|
+
const slideAnim = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
52
|
+
const scaleAnim = (0, _reactNativeReanimated.useSharedValue)(1);
|
|
53
|
+
const logoAnim = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
54
|
+
const progressAnim = (0, _reactNativeReanimated.useSharedValue)(initialStep ? 1.0 : 0.5);
|
|
52
55
|
const {
|
|
53
56
|
login,
|
|
54
57
|
isLoading,
|
|
@@ -68,12 +71,10 @@ const SignInScreen = ({
|
|
|
68
71
|
|
|
69
72
|
// Initialize logo animation
|
|
70
73
|
(0, _react.useEffect)(() => {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
useNativeDriver: _reactNative.Platform.OS !== 'web'
|
|
76
|
-
}).start();
|
|
74
|
+
logoAnim.value = (0, _reactNativeReanimated.withSpring)(1, {
|
|
75
|
+
damping: 15,
|
|
76
|
+
stiffness: 150
|
|
77
|
+
});
|
|
77
78
|
}, [logoAnim]);
|
|
78
79
|
|
|
79
80
|
// Input focus handlers (no animation)
|
|
@@ -209,61 +210,51 @@ const SignInScreen = ({
|
|
|
209
210
|
// Animation functions
|
|
210
211
|
const animateTransition = (0, _react.useCallback)(nextStep => {
|
|
211
212
|
// Scale down current content
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
useNativeDriver: _reactNative.Platform.OS !== 'web'
|
|
216
|
-
}).start();
|
|
213
|
+
scaleAnim.value = (0, _reactNativeReanimated.withTiming)(0.95, {
|
|
214
|
+
duration: 150
|
|
215
|
+
});
|
|
217
216
|
|
|
218
|
-
// Fade out
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
setCurrentStep(nextStep);
|
|
217
|
+
// Fade out and then animate in new content
|
|
218
|
+
fadeAnim.value = (0, _reactNativeReanimated.withTiming)(0, {
|
|
219
|
+
duration: 200
|
|
220
|
+
}, finished => {
|
|
221
|
+
if (finished) {
|
|
222
|
+
(0, _reactNativeReanimated.runOnJS)(setCurrentStep)(nextStep);
|
|
225
223
|
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
224
|
+
// Reset animations
|
|
225
|
+
slideAnim.value = -50;
|
|
226
|
+
scaleAnim.value = 0.95;
|
|
229
227
|
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
friction: 8,
|
|
244
|
-
useNativeDriver: _reactNative.Platform.OS !== 'web'
|
|
245
|
-
})]).start();
|
|
228
|
+
// Animate in new content
|
|
229
|
+
fadeAnim.value = (0, _reactNativeReanimated.withTiming)(1, {
|
|
230
|
+
duration: 300
|
|
231
|
+
});
|
|
232
|
+
slideAnim.value = (0, _reactNativeReanimated.withSpring)(0, {
|
|
233
|
+
damping: 15,
|
|
234
|
+
stiffness: 200
|
|
235
|
+
});
|
|
236
|
+
scaleAnim.value = (0, _reactNativeReanimated.withSpring)(1, {
|
|
237
|
+
damping: 15,
|
|
238
|
+
stiffness: 200
|
|
239
|
+
});
|
|
240
|
+
}
|
|
246
241
|
});
|
|
247
242
|
}, [fadeAnim, slideAnim, scaleAnim]);
|
|
248
243
|
const nextStep = (0, _react.useCallback)(() => {
|
|
249
244
|
if (currentStep < 1) {
|
|
250
245
|
// Animate progress bar
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
useNativeDriver: false
|
|
255
|
-
}).start();
|
|
246
|
+
progressAnim.value = (0, _reactNativeReanimated.withTiming)(1.0, {
|
|
247
|
+
duration: 300
|
|
248
|
+
});
|
|
256
249
|
animateTransition(currentStep + 1);
|
|
257
250
|
}
|
|
258
251
|
}, [currentStep, progressAnim, animateTransition]);
|
|
259
252
|
const prevStep = (0, _react.useCallback)(() => {
|
|
260
253
|
if (currentStep > 0) {
|
|
261
254
|
// Animate progress bar
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
useNativeDriver: false
|
|
266
|
-
}).start();
|
|
255
|
+
progressAnim.value = (0, _reactNativeReanimated.withTiming)(0.5, {
|
|
256
|
+
duration: 300
|
|
257
|
+
});
|
|
267
258
|
animateTransition(currentStep - 1);
|
|
268
259
|
}
|
|
269
260
|
}, [currentStep, progressAnim, animateTransition]);
|