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