@os-team/profile 1.2.1 → 1.2.3
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/README.md +2 -2
- package/dist/@types/emotion.d.js +1 -0
- package/dist/@types/i18next.d.js +1 -0
- package/dist/@types/relay.d.js +0 -0
- package/dist/{types/components → components}/profile/ProfileButton.d.ts +1 -1
- package/dist/components/profile/ProfileButton.d.ts.map +1 -0
- package/dist/components/profile/ProfileButton.js +9 -0
- package/dist/components/profile/ProfileConfigContext.d.ts.map +1 -0
- package/dist/{esm/components → components}/profile/ProfileConfigContext.js +1 -2
- package/dist/components/profile/ProfileContext.d.ts.map +1 -0
- package/dist/{esm/components → components}/profile/ProfileContext.js +1 -2
- package/dist/{types/components → components}/profile/ProfileDrawer.d.ts +2 -2
- package/dist/components/profile/ProfileDrawer.d.ts.map +1 -0
- package/dist/components/profile/ProfileDrawer.js +28 -0
- package/dist/{types/components → components}/profile/ProfileDrawerContent.d.ts +7 -0
- package/dist/components/profile/ProfileDrawerContent.d.ts.map +1 -0
- package/dist/{esm/components → components}/profile/ProfileDrawerContent.js +66 -41
- package/dist/{types/components → components}/profile/ProfileNavigationItem.d.ts +1 -1
- package/dist/components/profile/ProfileNavigationItem.d.ts.map +1 -0
- package/dist/{esm/components → components}/profile/ProfileNavigationItem.js +8 -7
- package/dist/components/profile/ProfileUpdateNameModal.d.ts.map +1 -0
- package/dist/{esm/components → components}/profile/ProfileUpdateNameModal.js +38 -31
- package/dist/components/profile/ProfileUpdatePasswordModal.d.ts.map +1 -0
- package/dist/{esm/components → components}/profile/ProfileUpdatePasswordModal.js +40 -33
- package/dist/components/profile/ProtectedWrapper.d.ts.map +1 -0
- package/dist/{esm/components → components}/profile/ProtectedWrapper.js +19 -14
- package/dist/{types/components → components}/profile/UserAvatar.d.ts +1 -1
- package/dist/components/profile/UserAvatar.d.ts.map +1 -0
- package/dist/{esm/components → components}/profile/UserAvatar.js +7 -6
- package/dist/{types/components → components}/profile/UserAvatarAddon.d.ts +1 -1
- package/dist/components/profile/UserAvatarAddon.d.ts.map +1 -0
- package/dist/components/profile/UserAvatarAddon.js +50 -0
- package/dist/{types/components → components}/profile/__generated__/ProfileDrawerContentSignOutMutation.graphql.d.ts +5 -0
- package/dist/components/profile/__generated__/ProfileDrawerContentSignOutMutation.graphql.d.ts.map +1 -0
- package/dist/{esm/components → components}/profile/__generated__/ProfileDrawerContentSignOutMutation.graphql.js +2 -3
- package/dist/{types/components → components}/profile/__generated__/ProfileDrawerContentUpdateAvatarMutation.graphql.d.ts +5 -0
- package/dist/components/profile/__generated__/ProfileDrawerContentUpdateAvatarMutation.graphql.d.ts.map +1 -0
- package/dist/{esm/components → components}/profile/__generated__/ProfileDrawerContentUpdateAvatarMutation.graphql.js +2 -3
- package/dist/{types/components → components}/profile/__generated__/ProfileUpdateNameModalMutation.graphql.d.ts +5 -0
- package/dist/components/profile/__generated__/ProfileUpdateNameModalMutation.graphql.d.ts.map +1 -0
- package/dist/{esm/components → components}/profile/__generated__/ProfileUpdateNameModalMutation.graphql.js +2 -3
- package/dist/{types/components → components}/profile/__generated__/ProfileUpdatePasswordModalMutation.graphql.d.ts +5 -0
- package/dist/components/profile/__generated__/ProfileUpdatePasswordModalMutation.graphql.d.ts.map +1 -0
- package/dist/{esm/components → components}/profile/__generated__/ProfileUpdatePasswordModalMutation.graphql.js +2 -3
- package/dist/{types/components → components}/profile/__generated__/ProtectedWrapperQuery.graphql.d.ts +5 -0
- package/dist/components/profile/__generated__/ProtectedWrapperQuery.graphql.d.ts.map +1 -0
- package/dist/{esm/components → components}/profile/__generated__/ProtectedWrapperQuery.graphql.js +2 -3
- package/dist/{types/components → components}/session/SessionDrawer.d.ts +1 -1
- package/dist/components/session/SessionDrawer.d.ts.map +1 -0
- package/dist/components/session/SessionDrawer.js +45 -0
- package/dist/components/session/SessionDrawerContent.d.ts.map +1 -0
- package/dist/{esm/components → components}/session/SessionDrawerContent.js +12 -10
- package/dist/{types/components → components}/session/SessionList.d.ts +5 -5
- package/dist/components/session/SessionList.d.ts.map +1 -0
- package/dist/{esm/components → components}/session/SessionList.js +33 -17
- package/dist/{types/components → components}/session/SessionListItem.d.ts +9 -9
- package/dist/components/session/SessionListItem.d.ts.map +1 -0
- package/dist/{esm/components → components}/session/SessionListItem.js +37 -19
- package/dist/components/session/SessionListSkeleton.d.ts.map +1 -0
- package/dist/components/session/SessionListSkeleton.js +43 -0
- package/dist/{types/components → components}/session/__generated__/SessionDrawerContentQuery.graphql.d.ts +5 -0
- package/dist/components/session/__generated__/SessionDrawerContentQuery.graphql.d.ts.map +1 -0
- package/dist/{esm/components → components}/session/__generated__/SessionDrawerContentQuery.graphql.js +2 -3
- package/dist/{types/components → components}/session/__generated__/SessionListDestroyAllOtherSessionsMutation.graphql.d.ts +5 -0
- package/dist/components/session/__generated__/SessionListDestroyAllOtherSessionsMutation.graphql.d.ts.map +1 -0
- package/dist/{esm/components → components}/session/__generated__/SessionListDestroyAllOtherSessionsMutation.graphql.js +2 -3
- package/dist/{types/components → components}/session/__generated__/SessionListItemDestroySessionMutation.graphql.d.ts +5 -0
- package/dist/components/session/__generated__/SessionListItemDestroySessionMutation.graphql.d.ts.map +1 -0
- package/dist/{esm/components → components}/session/__generated__/SessionListItemDestroySessionMutation.graphql.js +2 -3
- package/dist/{types/components → components}/session/__generated__/SessionListItem_session.graphql.d.ts +5 -0
- package/dist/components/session/__generated__/SessionListItem_session.graphql.d.ts.map +1 -0
- package/dist/{esm/components → components}/session/__generated__/SessionListItem_session.graphql.js +2 -3
- package/dist/{types/components → components}/session/__generated__/SessionListRefetchQuery.graphql.d.ts +5 -0
- package/dist/components/session/__generated__/SessionListRefetchQuery.graphql.d.ts.map +1 -0
- package/dist/{esm/components → components}/session/__generated__/SessionListRefetchQuery.graphql.js +2 -3
- package/dist/{types/components → components}/session/__generated__/SessionList_sessions.graphql.d.ts +5 -0
- package/dist/components/session/__generated__/SessionList_sessions.graphql.d.ts.map +1 -0
- package/dist/{esm/components → components}/session/__generated__/SessionList_sessions.graphql.js +2 -3
- package/dist/{types/components → components}/session/formatDate.d.ts +1 -1
- package/dist/components/session/formatDate.d.ts.map +1 -0
- package/dist/{esm/components → components}/session/formatDate.js +1 -2
- package/dist/components/session/getLastSeen.d.ts +3 -0
- package/dist/components/session/getLastSeen.d.ts.map +1 -0
- package/dist/{esm/components → components}/session/getLastSeen.js +1 -2
- package/dist/{types/components → components}/shared/ButtonUpdate.d.ts +1 -1
- package/dist/components/shared/ButtonUpdate.d.ts.map +1 -0
- package/dist/{esm/components → components}/shared/ButtonUpdate.js +6 -3
- package/dist/components/shared/ErrorResult.d.ts.map +1 -0
- package/dist/{esm/components → components}/shared/ErrorResult.js +4 -4
- package/dist/components/shared/FormError.d.ts.map +1 -0
- package/dist/{esm/components → components}/shared/FormError.js +6 -5
- package/dist/components/shared/MainLoader.d.ts.map +1 -0
- package/dist/{esm/components → components}/shared/MainLoader.js +5 -3
- package/dist/{types/components → components}/shared/icons/AndroidIcon.d.ts +1 -1
- package/dist/components/shared/icons/AndroidIcon.d.ts.map +1 -0
- package/dist/components/shared/icons/AndroidIcon.js +12 -0
- package/dist/{types/components → components}/shared/icons/AppleIcon.d.ts +1 -1
- package/dist/components/shared/icons/AppleIcon.d.ts.map +1 -0
- package/dist/components/shared/icons/AppleIcon.js +12 -0
- package/dist/{types/components → components}/shared/icons/BrowserIcon.d.ts +1 -1
- package/dist/components/shared/icons/BrowserIcon.d.ts.map +1 -0
- package/dist/components/shared/icons/BrowserIcon.js +12 -0
- package/dist/{types/components → components}/shared/icons/ProfileIcon.d.ts +1 -1
- package/dist/components/shared/icons/ProfileIcon.d.ts.map +1 -0
- package/dist/components/shared/icons/ProfileIcon.js +12 -0
- package/dist/{types/components → components}/shared/icons/UnknownDeviceIcon.d.ts +1 -1
- package/dist/components/shared/icons/UnknownDeviceIcon.d.ts.map +1 -0
- package/dist/components/shared/icons/UnknownDeviceIcon.js +12 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +14 -0
- package/dist/utils/getError.d.ts.map +1 -0
- package/dist/{esm/utils → utils}/getError.js +1 -2
- package/dist/utils/getUserFullName.d.ts.map +1 -0
- package/dist/{esm/utils → utils}/getUserFullName.js +1 -2
- package/dist/{types/utils → utils}/handleFormErrors.d.ts +1 -1
- package/dist/utils/handleFormErrors.d.ts.map +1 -0
- package/dist/{esm/utils → utils}/handleFormErrors.js +1 -2
- package/package.json +51 -58
- package/src/@types/react-app-env.d.ts +3 -0
- package/src/App.tsx +42 -0
- package/src/AppRouter.tsx +12 -0
- package/src/components/ErrorResult.tsx +23 -0
- package/src/components/Layout.tsx +70 -0
- package/src/components/MainLoader.tsx +22 -0
- package/src/components/icons/HomeIcon.tsx +12 -0
- package/src/i18next.ts +34 -0
- package/src/index.tsx +6 -0
- package/src/lib/@types/emotion.d.ts +7 -0
- package/src/lib/@types/i18next.d.ts +12 -0
- package/src/lib/@types/relay.d.ts +3 -0
- package/src/lib/components/profile/ProfileButton.tsx +8 -0
- package/src/lib/components/profile/ProfileConfigContext.ts +16 -0
- package/src/lib/components/profile/ProfileContext.ts +20 -0
- package/src/lib/components/profile/ProfileDrawer.tsx +31 -0
- package/src/lib/components/profile/ProfileDrawerContent.tsx +276 -0
- package/src/lib/components/profile/ProfileNavigationItem.tsx +36 -0
- package/src/lib/components/profile/ProfileUpdateNameModal.tsx +117 -0
- package/src/lib/components/profile/ProfileUpdatePasswordModal.tsx +129 -0
- package/src/lib/components/profile/ProtectedWrapper.tsx +81 -0
- package/src/lib/components/profile/UserAvatar.tsx +23 -0
- package/src/lib/components/profile/UserAvatarAddon.tsx +62 -0
- package/src/lib/components/profile/__generated__/ProfileDrawerContentSignOutMutation.graphql.ts +74 -0
- package/src/lib/components/profile/__generated__/ProfileDrawerContentUpdateAvatarMutation.graphql.ts +100 -0
- package/src/lib/components/profile/__generated__/ProfileUpdateNameModalMutation.graphql.ts +124 -0
- package/src/lib/components/profile/__generated__/ProfileUpdatePasswordModalMutation.graphql.ts +93 -0
- package/src/lib/components/profile/__generated__/ProtectedWrapperQuery.graphql.ts +106 -0
- package/src/lib/components/session/SessionDrawer.tsx +50 -0
- package/src/lib/components/session/SessionDrawerContent.tsx +34 -0
- package/src/lib/components/session/SessionList.tsx +138 -0
- package/src/lib/components/session/SessionListItem.tsx +318 -0
- package/src/lib/components/session/SessionListSkeleton.tsx +48 -0
- package/src/lib/components/session/__generated__/SessionDrawerContentQuery.graphql.ts +181 -0
- package/src/lib/components/session/__generated__/SessionListDestroyAllOtherSessionsMutation.graphql.ts +74 -0
- package/src/lib/components/session/__generated__/SessionListItemDestroySessionMutation.graphql.ts +92 -0
- package/src/lib/components/session/__generated__/SessionListItem_session.graphql.ts +154 -0
- package/src/lib/components/session/__generated__/SessionListRefetchQuery.graphql.ts +181 -0
- package/src/lib/components/session/__generated__/SessionList_sessions.graphql.ts +83 -0
- package/src/lib/components/session/formatDate.ts +21 -0
- package/{dist/cjs/components/session/getLastSeen.js → src/lib/components/session/getLastSeen.ts} +9 -9
- package/src/lib/components/shared/ButtonUpdate.tsx +10 -0
- package/src/lib/components/shared/ErrorResult.tsx +28 -0
- package/src/lib/components/shared/FormError.tsx +11 -0
- package/src/lib/components/shared/MainLoader.tsx +22 -0
- package/src/lib/components/shared/icons/AndroidIcon.tsx +12 -0
- package/src/lib/components/shared/icons/AppleIcon.tsx +12 -0
- package/src/lib/components/shared/icons/BrowserIcon.tsx +12 -0
- package/src/lib/components/shared/icons/ProfileIcon.tsx +12 -0
- package/src/lib/components/shared/icons/UnknownDeviceIcon.tsx +14 -0
- package/{dist/esm/index.js → src/lib/index.ts} +1 -1
- package/src/lib/utils/getError.ts +101 -0
- package/src/lib/utils/getUserFullName.ts +14 -0
- package/src/lib/utils/handleFormErrors.ts +16 -0
- package/src/pages/HomePage.tsx +11 -0
- package/src/schema.graphql +2494 -0
- package/src/utils/createRelayEnvironment.ts +22 -0
- package/src/utils/getError.ts +101 -0
- package/dist/cjs/@types/emotion.d.js +0 -4
- package/dist/cjs/@types/emotion.d.js.map +0 -1
- package/dist/cjs/@types/i18next.d.js +0 -4
- package/dist/cjs/@types/i18next.d.js.map +0 -1
- package/dist/cjs/components/profile/ProfileButton.js +0 -16
- package/dist/cjs/components/profile/ProfileButton.js.map +0 -1
- package/dist/cjs/components/profile/ProfileConfigContext.js +0 -17
- package/dist/cjs/components/profile/ProfileConfigContext.js.map +0 -1
- package/dist/cjs/components/profile/ProfileContext.js +0 -18
- package/dist/cjs/components/profile/ProfileContext.js.map +0 -1
- package/dist/cjs/components/profile/ProfileDrawer.js +0 -35
- package/dist/cjs/components/profile/ProfileDrawer.js.map +0 -1
- package/dist/cjs/components/profile/ProfileDrawerContent.js +0 -167
- package/dist/cjs/components/profile/ProfileDrawerContent.js.map +0 -1
- package/dist/cjs/components/profile/ProfileNavigationItem.js +0 -35
- package/dist/cjs/components/profile/ProfileNavigationItem.js.map +0 -1
- package/dist/cjs/components/profile/ProfileUpdateNameModal.js +0 -106
- package/dist/cjs/components/profile/ProfileUpdateNameModal.js.map +0 -1
- package/dist/cjs/components/profile/ProfileUpdatePasswordModal.js +0 -106
- package/dist/cjs/components/profile/ProfileUpdatePasswordModal.js.map +0 -1
- package/dist/cjs/components/profile/ProtectedWrapper.js +0 -54
- package/dist/cjs/components/profile/ProtectedWrapper.js.map +0 -1
- package/dist/cjs/components/profile/UserAvatar.js +0 -42
- package/dist/cjs/components/profile/UserAvatar.js.map +0 -1
- package/dist/cjs/components/profile/UserAvatarAddon.js +0 -41
- package/dist/cjs/components/profile/UserAvatarAddon.js.map +0 -1
- package/dist/cjs/components/profile/__generated__/ProfileDrawerContentSignOutMutation.graphql.js +0 -63
- package/dist/cjs/components/profile/__generated__/ProfileDrawerContentSignOutMutation.graphql.js.map +0 -1
- package/dist/cjs/components/profile/__generated__/ProfileDrawerContentUpdateAvatarMutation.graphql.js +0 -78
- package/dist/cjs/components/profile/__generated__/ProfileDrawerContentUpdateAvatarMutation.graphql.js.map +0 -1
- package/dist/cjs/components/profile/__generated__/ProfileUpdateNameModalMutation.graphql.js +0 -95
- package/dist/cjs/components/profile/__generated__/ProfileUpdateNameModalMutation.graphql.js.map +0 -1
- package/dist/cjs/components/profile/__generated__/ProfileUpdatePasswordModalMutation.graphql.js +0 -72
- package/dist/cjs/components/profile/__generated__/ProfileUpdatePasswordModalMutation.graphql.js.map +0 -1
- package/dist/cjs/components/profile/__generated__/ProtectedWrapperQuery.graphql.js +0 -87
- package/dist/cjs/components/profile/__generated__/ProtectedWrapperQuery.graphql.js.map +0 -1
- package/dist/cjs/components/session/SessionDrawer.js +0 -46
- package/dist/cjs/components/session/SessionDrawer.js.map +0 -1
- package/dist/cjs/components/session/SessionDrawerContent.js +0 -39
- package/dist/cjs/components/session/SessionDrawerContent.js.map +0 -1
- package/dist/cjs/components/session/SessionList.js +0 -73
- package/dist/cjs/components/session/SessionList.js.map +0 -1
- package/dist/cjs/components/session/SessionListItem.js +0 -150
- package/dist/cjs/components/session/SessionListItem.js.map +0 -1
- package/dist/cjs/components/session/SessionListSkeleton.js +0 -31
- package/dist/cjs/components/session/SessionListSkeleton.js.map +0 -1
- package/dist/cjs/components/session/__generated__/SessionDrawerContentQuery.graphql.js +0 -154
- package/dist/cjs/components/session/__generated__/SessionDrawerContentQuery.graphql.js.map +0 -1
- package/dist/cjs/components/session/__generated__/SessionListDestroyAllOtherSessionsMutation.graphql.js +0 -63
- package/dist/cjs/components/session/__generated__/SessionListDestroyAllOtherSessionsMutation.graphql.js.map +0 -1
- package/dist/cjs/components/session/__generated__/SessionListItemDestroySessionMutation.graphql.js +0 -72
- package/dist/cjs/components/session/__generated__/SessionListItemDestroySessionMutation.graphql.js.map +0 -1
- package/dist/cjs/components/session/__generated__/SessionListItem_session.graphql.js +0 -118
- package/dist/cjs/components/session/__generated__/SessionListItem_session.graphql.js.map +0 -1
- package/dist/cjs/components/session/__generated__/SessionListRefetchQuery.graphql.js +0 -154
- package/dist/cjs/components/session/__generated__/SessionListRefetchQuery.graphql.js.map +0 -1
- package/dist/cjs/components/session/__generated__/SessionList_sessions.graphql.js +0 -65
- package/dist/cjs/components/session/__generated__/SessionList_sessions.graphql.js.map +0 -1
- package/dist/cjs/components/session/formatDate.js +0 -19
- package/dist/cjs/components/session/formatDate.js.map +0 -1
- package/dist/cjs/components/session/getLastSeen.js.map +0 -1
- package/dist/cjs/components/shared/ButtonUpdate.js +0 -18
- package/dist/cjs/components/shared/ButtonUpdate.js.map +0 -1
- package/dist/cjs/components/shared/ErrorResult.js +0 -31
- package/dist/cjs/components/shared/ErrorResult.js.map +0 -1
- package/dist/cjs/components/shared/FormError.js +0 -21
- package/dist/cjs/components/shared/FormError.js.map +0 -1
- package/dist/cjs/components/shared/MainLoader.js +0 -17
- package/dist/cjs/components/shared/MainLoader.js.map +0 -1
- package/dist/cjs/components/shared/icons/AndroidIcon.js +0 -18
- package/dist/cjs/components/shared/icons/AndroidIcon.js.map +0 -1
- package/dist/cjs/components/shared/icons/AppleIcon.js +0 -18
- package/dist/cjs/components/shared/icons/AppleIcon.js.map +0 -1
- package/dist/cjs/components/shared/icons/BrowserIcon.js +0 -18
- package/dist/cjs/components/shared/icons/BrowserIcon.js.map +0 -1
- package/dist/cjs/components/shared/icons/ProfileIcon.js +0 -18
- package/dist/cjs/components/shared/icons/ProfileIcon.js.map +0 -1
- package/dist/cjs/components/shared/icons/UnknownDeviceIcon.js +0 -18
- package/dist/cjs/components/shared/icons/UnknownDeviceIcon.js.map +0 -1
- package/dist/cjs/index.js +0 -142
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/utils/getError.js +0 -59
- package/dist/cjs/utils/getError.js.map +0 -1
- package/dist/cjs/utils/getUserFullName.js +0 -19
- package/dist/cjs/utils/getUserFullName.js.map +0 -1
- package/dist/cjs/utils/handleFormErrors.js +0 -25
- package/dist/cjs/utils/handleFormErrors.js.map +0 -1
- package/dist/esm/@types/emotion.d.js +0 -2
- package/dist/esm/@types/emotion.d.js.map +0 -1
- package/dist/esm/@types/i18next.d.js +0 -2
- package/dist/esm/@types/i18next.d.js.map +0 -1
- package/dist/esm/components/profile/ProfileButton.js +0 -9
- package/dist/esm/components/profile/ProfileButton.js.map +0 -1
- package/dist/esm/components/profile/ProfileConfigContext.js.map +0 -1
- package/dist/esm/components/profile/ProfileContext.js.map +0 -1
- package/dist/esm/components/profile/ProfileDrawer.js +0 -25
- package/dist/esm/components/profile/ProfileDrawer.js.map +0 -1
- package/dist/esm/components/profile/ProfileDrawerContent.js.map +0 -1
- package/dist/esm/components/profile/ProfileNavigationItem.js.map +0 -1
- package/dist/esm/components/profile/ProfileUpdateNameModal.js.map +0 -1
- package/dist/esm/components/profile/ProfileUpdatePasswordModal.js.map +0 -1
- package/dist/esm/components/profile/ProtectedWrapper.js.map +0 -1
- package/dist/esm/components/profile/UserAvatar.js.map +0 -1
- package/dist/esm/components/profile/UserAvatarAddon.js +0 -47
- package/dist/esm/components/profile/UserAvatarAddon.js.map +0 -1
- package/dist/esm/components/profile/__generated__/ProfileDrawerContentSignOutMutation.graphql.js.map +0 -1
- package/dist/esm/components/profile/__generated__/ProfileDrawerContentUpdateAvatarMutation.graphql.js.map +0 -1
- package/dist/esm/components/profile/__generated__/ProfileUpdateNameModalMutation.graphql.js.map +0 -1
- package/dist/esm/components/profile/__generated__/ProfileUpdatePasswordModalMutation.graphql.js.map +0 -1
- package/dist/esm/components/profile/__generated__/ProtectedWrapperQuery.graphql.js.map +0 -1
- package/dist/esm/components/session/SessionDrawer.js +0 -39
- package/dist/esm/components/session/SessionDrawer.js.map +0 -1
- package/dist/esm/components/session/SessionDrawerContent.js.map +0 -1
- package/dist/esm/components/session/SessionList.js.map +0 -1
- package/dist/esm/components/session/SessionListItem.js.map +0 -1
- package/dist/esm/components/session/SessionListSkeleton.js +0 -31
- package/dist/esm/components/session/SessionListSkeleton.js.map +0 -1
- package/dist/esm/components/session/__generated__/SessionDrawerContentQuery.graphql.js.map +0 -1
- package/dist/esm/components/session/__generated__/SessionListDestroyAllOtherSessionsMutation.graphql.js.map +0 -1
- package/dist/esm/components/session/__generated__/SessionListItemDestroySessionMutation.graphql.js.map +0 -1
- package/dist/esm/components/session/__generated__/SessionListItem_session.graphql.js.map +0 -1
- package/dist/esm/components/session/__generated__/SessionListRefetchQuery.graphql.js.map +0 -1
- package/dist/esm/components/session/__generated__/SessionList_sessions.graphql.js.map +0 -1
- package/dist/esm/components/session/formatDate.js.map +0 -1
- package/dist/esm/components/session/getLastSeen.js.map +0 -1
- package/dist/esm/components/shared/ButtonUpdate.js.map +0 -1
- package/dist/esm/components/shared/ErrorResult.js.map +0 -1
- package/dist/esm/components/shared/FormError.js.map +0 -1
- package/dist/esm/components/shared/MainLoader.js.map +0 -1
- package/dist/esm/components/shared/icons/AndroidIcon.js +0 -11
- package/dist/esm/components/shared/icons/AndroidIcon.js.map +0 -1
- package/dist/esm/components/shared/icons/AppleIcon.js +0 -11
- package/dist/esm/components/shared/icons/AppleIcon.js.map +0 -1
- package/dist/esm/components/shared/icons/BrowserIcon.js +0 -11
- package/dist/esm/components/shared/icons/BrowserIcon.js.map +0 -1
- package/dist/esm/components/shared/icons/ProfileIcon.js +0 -11
- package/dist/esm/components/shared/icons/ProfileIcon.js.map +0 -1
- package/dist/esm/components/shared/icons/UnknownDeviceIcon.js +0 -11
- package/dist/esm/components/shared/icons/UnknownDeviceIcon.js.map +0 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/utils/getError.js.map +0 -1
- package/dist/esm/utils/getUserFullName.js.map +0 -1
- package/dist/esm/utils/handleFormErrors.js.map +0 -1
- package/dist/types/components/profile/ProfileButton.d.ts.map +0 -1
- package/dist/types/components/profile/ProfileConfigContext.d.ts.map +0 -1
- package/dist/types/components/profile/ProfileContext.d.ts.map +0 -1
- package/dist/types/components/profile/ProfileDrawer.d.ts.map +0 -1
- package/dist/types/components/profile/ProfileDrawerContent.d.ts.map +0 -1
- package/dist/types/components/profile/ProfileNavigationItem.d.ts.map +0 -1
- package/dist/types/components/profile/ProfileUpdateNameModal.d.ts.map +0 -1
- package/dist/types/components/profile/ProfileUpdatePasswordModal.d.ts.map +0 -1
- package/dist/types/components/profile/ProtectedWrapper.d.ts.map +0 -1
- package/dist/types/components/profile/UserAvatar.d.ts.map +0 -1
- package/dist/types/components/profile/UserAvatarAddon.d.ts.map +0 -1
- package/dist/types/components/profile/__generated__/ProfileDrawerContentSignOutMutation.graphql.d.ts.map +0 -1
- package/dist/types/components/profile/__generated__/ProfileDrawerContentUpdateAvatarMutation.graphql.d.ts.map +0 -1
- package/dist/types/components/profile/__generated__/ProfileUpdateNameModalMutation.graphql.d.ts.map +0 -1
- package/dist/types/components/profile/__generated__/ProfileUpdatePasswordModalMutation.graphql.d.ts.map +0 -1
- package/dist/types/components/profile/__generated__/ProtectedWrapperQuery.graphql.d.ts.map +0 -1
- package/dist/types/components/session/SessionDrawer.d.ts.map +0 -1
- package/dist/types/components/session/SessionDrawerContent.d.ts.map +0 -1
- package/dist/types/components/session/SessionList.d.ts.map +0 -1
- package/dist/types/components/session/SessionListItem.d.ts.map +0 -1
- package/dist/types/components/session/SessionListSkeleton.d.ts.map +0 -1
- package/dist/types/components/session/__generated__/SessionDrawerContentQuery.graphql.d.ts.map +0 -1
- package/dist/types/components/session/__generated__/SessionListDestroyAllOtherSessionsMutation.graphql.d.ts.map +0 -1
- package/dist/types/components/session/__generated__/SessionListItemDestroySessionMutation.graphql.d.ts.map +0 -1
- package/dist/types/components/session/__generated__/SessionListItem_session.graphql.d.ts.map +0 -1
- package/dist/types/components/session/__generated__/SessionListRefetchQuery.graphql.d.ts.map +0 -1
- package/dist/types/components/session/__generated__/SessionList_sessions.graphql.d.ts.map +0 -1
- package/dist/types/components/session/formatDate.d.ts.map +0 -1
- package/dist/types/components/session/getLastSeen.d.ts +0 -3
- package/dist/types/components/session/getLastSeen.d.ts.map +0 -1
- package/dist/types/components/shared/ButtonUpdate.d.ts.map +0 -1
- package/dist/types/components/shared/ErrorResult.d.ts.map +0 -1
- package/dist/types/components/shared/FormError.d.ts.map +0 -1
- package/dist/types/components/shared/MainLoader.d.ts.map +0 -1
- package/dist/types/components/shared/icons/AndroidIcon.d.ts.map +0 -1
- package/dist/types/components/shared/icons/AppleIcon.d.ts.map +0 -1
- package/dist/types/components/shared/icons/BrowserIcon.d.ts.map +0 -1
- package/dist/types/components/shared/icons/ProfileIcon.d.ts.map +0 -1
- package/dist/types/components/shared/icons/UnknownDeviceIcon.d.ts.map +0 -1
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/utils/getError.d.ts.map +0 -1
- package/dist/types/utils/getUserFullName.d.ts.map +0 -1
- package/dist/types/utils/handleFormErrors.d.ts.map +0 -1
- /package/dist/{types/components → components}/profile/ProfileConfigContext.d.ts +0 -0
- /package/dist/{types/components → components}/profile/ProfileContext.d.ts +0 -0
- /package/dist/{types/components → components}/profile/ProfileUpdateNameModal.d.ts +0 -0
- /package/dist/{types/components → components}/profile/ProfileUpdatePasswordModal.d.ts +0 -0
- /package/dist/{types/components → components}/profile/ProtectedWrapper.d.ts +0 -0
- /package/dist/{types/components → components}/session/SessionDrawerContent.d.ts +0 -0
- /package/dist/{types/components → components}/session/SessionListSkeleton.d.ts +0 -0
- /package/dist/{types/components → components}/shared/ErrorResult.d.ts +0 -0
- /package/dist/{types/components → components}/shared/FormError.d.ts +0 -0
- /package/dist/{types/components → components}/shared/MainLoader.d.ts +0 -0
- /package/dist/{types/index.d.ts → index.d.ts} +0 -0
- /package/dist/{types/utils → utils}/getError.d.ts +0 -0
- /package/dist/{types/utils → utils}/getUserFullName.d.ts +0 -0
package/dist/cjs/components/profile/__generated__/ProfileUpdatePasswordModalMutation.graphql.js
DELETED
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
/**
|
|
8
|
-
* @generated SignedSource<<9f61f220f29facf328ddeea77698279f>>
|
|
9
|
-
* @lightSyntaxTransform
|
|
10
|
-
* @nogrep
|
|
11
|
-
*/
|
|
12
|
-
|
|
13
|
-
/* tslint:disable */
|
|
14
|
-
/* eslint-disable */
|
|
15
|
-
// @ts-nocheck
|
|
16
|
-
|
|
17
|
-
const node = function () {
|
|
18
|
-
var v0 = [{
|
|
19
|
-
"defaultValue": null,
|
|
20
|
-
"kind": "LocalArgument",
|
|
21
|
-
"name": "input"
|
|
22
|
-
}],
|
|
23
|
-
v1 = [{
|
|
24
|
-
"alias": null,
|
|
25
|
-
"args": [{
|
|
26
|
-
"kind": "Variable",
|
|
27
|
-
"name": "input",
|
|
28
|
-
"variableName": "input"
|
|
29
|
-
}],
|
|
30
|
-
"concreteType": "User",
|
|
31
|
-
"kind": "LinkedField",
|
|
32
|
-
"name": "updatePassword",
|
|
33
|
-
"plural": false,
|
|
34
|
-
"selections": [{
|
|
35
|
-
"alias": null,
|
|
36
|
-
"args": null,
|
|
37
|
-
"kind": "ScalarField",
|
|
38
|
-
"name": "id",
|
|
39
|
-
"storageKey": null
|
|
40
|
-
}],
|
|
41
|
-
"storageKey": null
|
|
42
|
-
}];
|
|
43
|
-
return {
|
|
44
|
-
"fragment": {
|
|
45
|
-
"argumentDefinitions": v0 /*: any*/,
|
|
46
|
-
"kind": "Fragment",
|
|
47
|
-
"metadata": null,
|
|
48
|
-
"name": "ProfileUpdatePasswordModalMutation",
|
|
49
|
-
"selections": v1 /*: any*/,
|
|
50
|
-
"type": "Mutation",
|
|
51
|
-
"abstractKey": null
|
|
52
|
-
},
|
|
53
|
-
"kind": "Request",
|
|
54
|
-
"operation": {
|
|
55
|
-
"argumentDefinitions": v0 /*: any*/,
|
|
56
|
-
"kind": "Operation",
|
|
57
|
-
"name": "ProfileUpdatePasswordModalMutation",
|
|
58
|
-
"selections": v1 /*: any*/
|
|
59
|
-
},
|
|
60
|
-
"params": {
|
|
61
|
-
"cacheID": "64308136a7a18e3fb1ab2d16aa93add7",
|
|
62
|
-
"id": null,
|
|
63
|
-
"metadata": {},
|
|
64
|
-
"name": "ProfileUpdatePasswordModalMutation",
|
|
65
|
-
"operationKind": "mutation",
|
|
66
|
-
"text": "mutation ProfileUpdatePasswordModalMutation(\n $input: UpdatePasswordInput!\n) {\n updatePassword(input: $input) {\n id\n }\n}\n"
|
|
67
|
-
}
|
|
68
|
-
};
|
|
69
|
-
}();
|
|
70
|
-
node.hash = "efa37ccbe82fbace709f7e3992643c05";
|
|
71
|
-
var _default = exports.default = node;
|
|
72
|
-
//# sourceMappingURL=ProfileUpdatePasswordModalMutation.graphql.js.map
|
package/dist/cjs/components/profile/__generated__/ProfileUpdatePasswordModalMutation.graphql.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ProfileUpdatePasswordModalMutation.graphql.js","names":["node","v0","v1","hash","_default","exports","default"],"sources":["../../../../../src/lib/components/profile/__generated__/ProfileUpdatePasswordModalMutation.graphql.ts"],"sourcesContent":["/**\n * @generated SignedSource<<9f61f220f29facf328ddeea77698279f>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { ConcreteRequest, Mutation } from 'relay-runtime';\nexport type UpdatePasswordInput = {\n currentPassword: string;\n password: string;\n};\nexport type ProfileUpdatePasswordModalMutation$variables = {\n input: UpdatePasswordInput;\n};\nexport type ProfileUpdatePasswordModalMutation$data = {\n readonly updatePassword: {\n readonly id: string;\n };\n};\nexport type ProfileUpdatePasswordModalMutation = {\n response: ProfileUpdatePasswordModalMutation$data;\n variables: ProfileUpdatePasswordModalMutation$variables;\n};\n\nconst node: ConcreteRequest = (function(){\nvar v0 = [\n {\n \"defaultValue\": null,\n \"kind\": \"LocalArgument\",\n \"name\": \"input\"\n }\n],\nv1 = [\n {\n \"alias\": null,\n \"args\": [\n {\n \"kind\": \"Variable\",\n \"name\": \"input\",\n \"variableName\": \"input\"\n }\n ],\n \"concreteType\": \"User\",\n \"kind\": \"LinkedField\",\n \"name\": \"updatePassword\",\n \"plural\": false,\n \"selections\": [\n {\n \"alias\": null,\n \"args\": null,\n \"kind\": \"ScalarField\",\n \"name\": \"id\",\n \"storageKey\": null\n }\n ],\n \"storageKey\": null\n }\n];\nreturn {\n \"fragment\": {\n \"argumentDefinitions\": (v0/*: any*/),\n \"kind\": \"Fragment\",\n \"metadata\": null,\n \"name\": \"ProfileUpdatePasswordModalMutation\",\n \"selections\": (v1/*: any*/),\n \"type\": \"Mutation\",\n \"abstractKey\": null\n },\n \"kind\": \"Request\",\n \"operation\": {\n \"argumentDefinitions\": (v0/*: any*/),\n \"kind\": \"Operation\",\n \"name\": \"ProfileUpdatePasswordModalMutation\",\n \"selections\": (v1/*: any*/)\n },\n \"params\": {\n \"cacheID\": \"64308136a7a18e3fb1ab2d16aa93add7\",\n \"id\": null,\n \"metadata\": {},\n \"name\": \"ProfileUpdatePasswordModalMutation\",\n \"operationKind\": \"mutation\",\n \"text\": \"mutation ProfileUpdatePasswordModalMutation(\\n $input: UpdatePasswordInput!\\n) {\\n updatePassword(input: $input) {\\n id\\n }\\n}\\n\"\n }\n};\n})();\n\n(node as any).hash = \"efa37ccbe82fbace709f7e3992643c05\";\n\nexport default node;\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAoBA,MAAMA,IAAqB,GAAI,YAAU;EACzC,IAAIC,EAAE,GAAG,CACP;MACE,cAAc,EAAE,IAAI;MACpB,MAAM,EAAE,eAAe;MACvB,MAAM,EAAE;IACV,CAAC,CACF;IACDC,EAAE,GAAG,CACH;MACE,OAAO,EAAE,IAAI;MACb,MAAM,EAAE,CACN;QACE,MAAM,EAAE,UAAU;QAClB,MAAM,EAAE,OAAO;QACf,cAAc,EAAE;MAClB,CAAC,CACF;MACD,cAAc,EAAE,MAAM;MACtB,MAAM,EAAE,aAAa;MACrB,MAAM,EAAE,gBAAgB;MACxB,QAAQ,EAAE,KAAK;MACf,YAAY,EAAE,CACZ;QACE,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,aAAa;QACrB,MAAM,EAAE,IAAI;QACZ,YAAY,EAAE;MAChB,CAAC,CACF;MACD,YAAY,EAAE;IAChB,CAAC,CACF;EACD,OAAO;IACL,UAAU,EAAE;MACV,qBAAqB,EAAGD,EAAE,UAAU;MACpC,MAAM,EAAE,UAAU;MAClB,UAAU,EAAE,IAAI;MAChB,MAAM,EAAE,oCAAoC;MAC5C,YAAY,EAAGC,EAAE,UAAU;MAC3B,MAAM,EAAE,UAAU;MAClB,aAAa,EAAE;IACjB,CAAC;IACD,MAAM,EAAE,SAAS;IACjB,WAAW,EAAE;MACX,qBAAqB,EAAGD,EAAE,UAAU;MACpC,MAAM,EAAE,WAAW;MACnB,MAAM,EAAE,oCAAoC;MAC5C,YAAY,EAAGC,EAAE;IACnB,CAAC;IACD,QAAQ,EAAE;MACR,SAAS,EAAE,kCAAkC;MAC7C,IAAI,EAAE,IAAI;MACV,UAAU,EAAE,CAAC,CAAC;MACd,MAAM,EAAE,oCAAoC;MAC5C,eAAe,EAAE,UAAU;MAC3B,MAAM,EAAE;IACV;EACF,CAAC;AACD,CAAC,CAAE,CAAC;AAEHF,IAAI,CAASG,IAAI,GAAG,kCAAkC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEzCN,IAAI","ignoreList":[]}
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
/**
|
|
8
|
-
* @generated SignedSource<<0489a6f56dfca495d1c3633c9a224274>>
|
|
9
|
-
* @lightSyntaxTransform
|
|
10
|
-
* @nogrep
|
|
11
|
-
*/
|
|
12
|
-
|
|
13
|
-
/* tslint:disable */
|
|
14
|
-
/* eslint-disable */
|
|
15
|
-
// @ts-nocheck
|
|
16
|
-
|
|
17
|
-
const node = function () {
|
|
18
|
-
var v0 = [{
|
|
19
|
-
"alias": null,
|
|
20
|
-
"args": null,
|
|
21
|
-
"concreteType": "User",
|
|
22
|
-
"kind": "LinkedField",
|
|
23
|
-
"name": "profile",
|
|
24
|
-
"plural": false,
|
|
25
|
-
"selections": [{
|
|
26
|
-
"alias": null,
|
|
27
|
-
"args": null,
|
|
28
|
-
"kind": "ScalarField",
|
|
29
|
-
"name": "id",
|
|
30
|
-
"storageKey": null
|
|
31
|
-
}, {
|
|
32
|
-
"alias": null,
|
|
33
|
-
"args": null,
|
|
34
|
-
"kind": "ScalarField",
|
|
35
|
-
"name": "email",
|
|
36
|
-
"storageKey": null
|
|
37
|
-
}, {
|
|
38
|
-
"alias": null,
|
|
39
|
-
"args": null,
|
|
40
|
-
"kind": "ScalarField",
|
|
41
|
-
"name": "firstName",
|
|
42
|
-
"storageKey": null
|
|
43
|
-
}, {
|
|
44
|
-
"alias": null,
|
|
45
|
-
"args": null,
|
|
46
|
-
"kind": "ScalarField",
|
|
47
|
-
"name": "lastName",
|
|
48
|
-
"storageKey": null
|
|
49
|
-
}, {
|
|
50
|
-
"alias": null,
|
|
51
|
-
"args": null,
|
|
52
|
-
"kind": "ScalarField",
|
|
53
|
-
"name": "avatar",
|
|
54
|
-
"storageKey": null
|
|
55
|
-
}],
|
|
56
|
-
"storageKey": null
|
|
57
|
-
}];
|
|
58
|
-
return {
|
|
59
|
-
"fragment": {
|
|
60
|
-
"argumentDefinitions": [],
|
|
61
|
-
"kind": "Fragment",
|
|
62
|
-
"metadata": null,
|
|
63
|
-
"name": "ProtectedWrapperQuery",
|
|
64
|
-
"selections": v0 /*: any*/,
|
|
65
|
-
"type": "Query",
|
|
66
|
-
"abstractKey": null
|
|
67
|
-
},
|
|
68
|
-
"kind": "Request",
|
|
69
|
-
"operation": {
|
|
70
|
-
"argumentDefinitions": [],
|
|
71
|
-
"kind": "Operation",
|
|
72
|
-
"name": "ProtectedWrapperQuery",
|
|
73
|
-
"selections": v0 /*: any*/
|
|
74
|
-
},
|
|
75
|
-
"params": {
|
|
76
|
-
"cacheID": "c77ada94a5456167ef4c0c17a1fd7cd7",
|
|
77
|
-
"id": null,
|
|
78
|
-
"metadata": {},
|
|
79
|
-
"name": "ProtectedWrapperQuery",
|
|
80
|
-
"operationKind": "query",
|
|
81
|
-
"text": "query ProtectedWrapperQuery {\n profile {\n id\n email\n firstName\n lastName\n avatar\n }\n}\n"
|
|
82
|
-
}
|
|
83
|
-
};
|
|
84
|
-
}();
|
|
85
|
-
node.hash = "903b234e48f53b4a44dc0b4974ebc521";
|
|
86
|
-
var _default = exports.default = node;
|
|
87
|
-
//# sourceMappingURL=ProtectedWrapperQuery.graphql.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ProtectedWrapperQuery.graphql.js","names":["node","v0","hash","_default","exports","default"],"sources":["../../../../../src/lib/components/profile/__generated__/ProtectedWrapperQuery.graphql.ts"],"sourcesContent":["/**\n * @generated SignedSource<<0489a6f56dfca495d1c3633c9a224274>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { ConcreteRequest, Query } from 'relay-runtime';\nexport type ProtectedWrapperQuery$variables = Record<PropertyKey, never>;\nexport type ProtectedWrapperQuery$data = {\n readonly profile: {\n readonly avatar: string | null | undefined;\n readonly email: string;\n readonly firstName: string | null | undefined;\n readonly id: string;\n readonly lastName: string | null | undefined;\n };\n};\nexport type ProtectedWrapperQuery = {\n response: ProtectedWrapperQuery$data;\n variables: ProtectedWrapperQuery$variables;\n};\n\nconst node: ConcreteRequest = (function(){\nvar v0 = [\n {\n \"alias\": null,\n \"args\": null,\n \"concreteType\": \"User\",\n \"kind\": \"LinkedField\",\n \"name\": \"profile\",\n \"plural\": false,\n \"selections\": [\n {\n \"alias\": null,\n \"args\": null,\n \"kind\": \"ScalarField\",\n \"name\": \"id\",\n \"storageKey\": null\n },\n {\n \"alias\": null,\n \"args\": null,\n \"kind\": \"ScalarField\",\n \"name\": \"email\",\n \"storageKey\": null\n },\n {\n \"alias\": null,\n \"args\": null,\n \"kind\": \"ScalarField\",\n \"name\": \"firstName\",\n \"storageKey\": null\n },\n {\n \"alias\": null,\n \"args\": null,\n \"kind\": \"ScalarField\",\n \"name\": \"lastName\",\n \"storageKey\": null\n },\n {\n \"alias\": null,\n \"args\": null,\n \"kind\": \"ScalarField\",\n \"name\": \"avatar\",\n \"storageKey\": null\n }\n ],\n \"storageKey\": null\n }\n];\nreturn {\n \"fragment\": {\n \"argumentDefinitions\": [],\n \"kind\": \"Fragment\",\n \"metadata\": null,\n \"name\": \"ProtectedWrapperQuery\",\n \"selections\": (v0/*: any*/),\n \"type\": \"Query\",\n \"abstractKey\": null\n },\n \"kind\": \"Request\",\n \"operation\": {\n \"argumentDefinitions\": [],\n \"kind\": \"Operation\",\n \"name\": \"ProtectedWrapperQuery\",\n \"selections\": (v0/*: any*/)\n },\n \"params\": {\n \"cacheID\": \"c77ada94a5456167ef4c0c17a1fd7cd7\",\n \"id\": null,\n \"metadata\": {},\n \"name\": \"ProtectedWrapperQuery\",\n \"operationKind\": \"query\",\n \"text\": \"query ProtectedWrapperQuery {\\n profile {\\n id\\n email\\n firstName\\n lastName\\n avatar\\n }\\n}\\n\"\n }\n};\n})();\n\n(node as any).hash = \"903b234e48f53b4a44dc0b4974ebc521\";\n\nexport default node;\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAkBA,MAAMA,IAAqB,GAAI,YAAU;EACzC,IAAIC,EAAE,GAAG,CACP;IACE,OAAO,EAAE,IAAI;IACb,MAAM,EAAE,IAAI;IACZ,cAAc,EAAE,MAAM;IACtB,MAAM,EAAE,aAAa;IACrB,MAAM,EAAE,SAAS;IACjB,QAAQ,EAAE,KAAK;IACf,YAAY,EAAE,CACZ;MACE,OAAO,EAAE,IAAI;MACb,MAAM,EAAE,IAAI;MACZ,MAAM,EAAE,aAAa;MACrB,MAAM,EAAE,IAAI;MACZ,YAAY,EAAE;IAChB,CAAC,EACD;MACE,OAAO,EAAE,IAAI;MACb,MAAM,EAAE,IAAI;MACZ,MAAM,EAAE,aAAa;MACrB,MAAM,EAAE,OAAO;MACf,YAAY,EAAE;IAChB,CAAC,EACD;MACE,OAAO,EAAE,IAAI;MACb,MAAM,EAAE,IAAI;MACZ,MAAM,EAAE,aAAa;MACrB,MAAM,EAAE,WAAW;MACnB,YAAY,EAAE;IAChB,CAAC,EACD;MACE,OAAO,EAAE,IAAI;MACb,MAAM,EAAE,IAAI;MACZ,MAAM,EAAE,aAAa;MACrB,MAAM,EAAE,UAAU;MAClB,YAAY,EAAE;IAChB,CAAC,EACD;MACE,OAAO,EAAE,IAAI;MACb,MAAM,EAAE,IAAI;MACZ,MAAM,EAAE,aAAa;MACrB,MAAM,EAAE,QAAQ;MAChB,YAAY,EAAE;IAChB,CAAC,CACF;IACD,YAAY,EAAE;EAChB,CAAC,CACF;EACD,OAAO;IACL,UAAU,EAAE;MACV,qBAAqB,EAAE,EAAE;MACzB,MAAM,EAAE,UAAU;MAClB,UAAU,EAAE,IAAI;MAChB,MAAM,EAAE,uBAAuB;MAC/B,YAAY,EAAGA,EAAE,UAAU;MAC3B,MAAM,EAAE,OAAO;MACf,aAAa,EAAE;IACjB,CAAC;IACD,MAAM,EAAE,SAAS;IACjB,WAAW,EAAE;MACX,qBAAqB,EAAE,EAAE;MACzB,MAAM,EAAE,WAAW;MACnB,MAAM,EAAE,uBAAuB;MAC/B,YAAY,EAAGA,EAAE;IACnB,CAAC;IACD,QAAQ,EAAE;MACR,SAAS,EAAE,kCAAkC;MAC7C,IAAI,EAAE,IAAI;MACV,UAAU,EAAE,CAAC,CAAC;MACd,MAAM,EAAE,uBAAuB;MAC/B,eAAe,EAAE,OAAO;MACxB,MAAM,EAAE;IACV;EACF,CAAC;AACD,CAAC,CAAE,CAAC;AAEHD,IAAI,CAASE,IAAI,GAAG,kCAAkC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEzCL,IAAI","ignoreList":[]}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
var _styled = _interopRequireDefault(require("@emotion/styled"));
|
|
8
|
-
var _core = require("@os-design/core");
|
|
9
|
-
var _media = require("@os-design/media");
|
|
10
|
-
var _theming = require("@os-design/theming");
|
|
11
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
12
|
-
var _reactI18next = require("react-i18next");
|
|
13
|
-
var _SessionListSkeleton = _interopRequireDefault(require("./SessionListSkeleton"));
|
|
14
|
-
var _templateObject, _templateObject2;
|
|
15
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
16
|
-
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
17
|
-
function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
|
|
18
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
19
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
20
|
-
const LazySessionDrawerContent = /*#__PURE__*/(0, _react.lazy)(() => Promise.resolve().then(() => _interopRequireWildcard(require('./SessionDrawerContent'))));
|
|
21
|
-
const overrides = {
|
|
22
|
-
horizontalPadding: [1, 1]
|
|
23
|
-
};
|
|
24
|
-
const StyledPageHeader = (0, _styled.default)(_core.PageHeader)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n position: relative;\n"])));
|
|
25
|
-
const StyledAlert = (0, _styled.default)(_core.Alert)(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n border-radius: 0;\n"])));
|
|
26
|
-
const SessionDrawer = props => {
|
|
27
|
-
const {
|
|
28
|
-
t
|
|
29
|
-
} = (0, _reactI18next.useTranslation)(['profile']);
|
|
30
|
-
const isMinSm = (0, _media.useIsMinWidth)('sm');
|
|
31
|
-
return /*#__PURE__*/_react.default.createElement(_core.Drawer, _extends({
|
|
32
|
-
placement: "right",
|
|
33
|
-
width: isMinSm ? '24em' : '90%'
|
|
34
|
-
}, props), /*#__PURE__*/_react.default.createElement(_theming.ThemeOverrider, {
|
|
35
|
-
overrides: overrides
|
|
36
|
-
}, /*#__PURE__*/_react.default.createElement(_core.Layout, null, /*#__PURE__*/_react.default.createElement(StyledPageHeader, {
|
|
37
|
-
title: t('profile:sessions.title')
|
|
38
|
-
}), /*#__PURE__*/_react.default.createElement(StyledAlert, {
|
|
39
|
-
type: "info",
|
|
40
|
-
size: "small"
|
|
41
|
-
}, t('profile:sessions.description')), /*#__PURE__*/_react.default.createElement(_react.Suspense, {
|
|
42
|
-
fallback: /*#__PURE__*/_react.default.createElement(_SessionListSkeleton.default, null)
|
|
43
|
-
}, /*#__PURE__*/_react.default.createElement(LazySessionDrawerContent, null)))));
|
|
44
|
-
};
|
|
45
|
-
var _default = exports.default = SessionDrawer;
|
|
46
|
-
//# sourceMappingURL=SessionDrawer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SessionDrawer.js","names":["_styled","_interopRequireDefault","require","_core","_media","_theming","_react","_interopRequireWildcard","_reactI18next","_SessionListSkeleton","_templateObject","_templateObject2","e","__esModule","default","_extends","Object","assign","bind","n","arguments","length","t","r","hasOwnProperty","call","apply","_taggedTemplateLiteral","slice","freeze","defineProperties","raw","value","_getRequireWildcardCache","WeakMap","has","get","__proto__","a","defineProperty","getOwnPropertyDescriptor","u","i","set","LazySessionDrawerContent","lazy","Promise","resolve","then","overrides","horizontalPadding","StyledPageHeader","styled","PageHeader","StyledAlert","Alert","SessionDrawer","props","useTranslation","isMinSm","useIsMinWidth","createElement","Drawer","placement","width","ThemeOverrider","Layout","title","type","size","Suspense","fallback","_default","exports"],"sources":["../../../../src/lib/components/session/SessionDrawer.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport {\n Alert,\n Drawer,\n DrawerProps,\n Layout,\n PageHeader,\n} from '@os-design/core';\nimport { useIsMinWidth } from '@os-design/media';\nimport { Theme, ThemeOverrider } from '@os-design/theming';\nimport React, { lazy, Suspense } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport SessionListSkeleton from './SessionListSkeleton';\n\nconst LazySessionDrawerContent = lazy(() => import('./SessionDrawerContent'));\n\nconst overrides: Partial<Theme> = { horizontalPadding: [1, 1] };\n\nconst StyledPageHeader = styled(PageHeader)`\n position: relative;\n`;\n\nconst StyledAlert = styled(Alert)`\n border-radius: 0;\n`;\n\nconst SessionDrawer: React.FC<DrawerProps> = (props) => {\n const { t } = useTranslation(['profile']);\n const isMinSm = useIsMinWidth('sm');\n\n return (\n <Drawer placement='right' width={isMinSm ? '24em' : '90%'} {...props}>\n <ThemeOverrider overrides={overrides}>\n <Layout>\n <StyledPageHeader title={t('profile:sessions.title')} />\n\n <StyledAlert type='info' size='small'>\n {t('profile:sessions.description')}\n </StyledAlert>\n\n <Suspense fallback={<SessionListSkeleton />}>\n <LazySessionDrawerContent />\n </Suspense>\n </Layout>\n </ThemeOverrider>\n </Drawer>\n );\n};\n\nexport default SessionDrawer;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
-
var _hooks = require("react-relay/hooks");
|
|
9
|
-
var _utils = require("@os-design/utils");
|
|
10
|
-
var _ErrorResult = _interopRequireDefault(require("../shared/ErrorResult"));
|
|
11
|
-
var _SessionList = _interopRequireDefault(require("./SessionList"));
|
|
12
|
-
var _SessionListSkeleton = _interopRequireDefault(require("./SessionListSkeleton"));
|
|
13
|
-
var _SessionDrawerContentQuery;
|
|
14
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
15
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
16
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
17
|
-
const SessionDrawerContentLoader = () => {
|
|
18
|
-
const props = (0, _hooks.useLazyLoadQuery)(_SessionDrawerContentQuery !== void 0 ? _SessionDrawerContentQuery : (_SessionDrawerContentQuery = require("./__generated__/SessionDrawerContentQuery.graphql"), _SessionDrawerContentQuery.hash && _SessionDrawerContentQuery.hash !== "1643ac6b9bd324d389dab9011e55b1ba" && console.error("The definition of 'SessionDrawerContentQuery' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _SessionDrawerContentQuery), {}, {
|
|
19
|
-
fetchPolicy: 'network-only'
|
|
20
|
-
});
|
|
21
|
-
return /*#__PURE__*/_react.default.createElement(_SessionList.default, {
|
|
22
|
-
sessionsKey: props
|
|
23
|
-
});
|
|
24
|
-
};
|
|
25
|
-
const errorFallback = _ref => {
|
|
26
|
-
let {
|
|
27
|
-
error
|
|
28
|
-
} = _ref;
|
|
29
|
-
return /*#__PURE__*/_react.default.createElement(_ErrorResult.default, {
|
|
30
|
-
error: error
|
|
31
|
-
});
|
|
32
|
-
};
|
|
33
|
-
const SessionDrawerContent = () => /*#__PURE__*/_react.default.createElement(_utils.ErrorBoundary, {
|
|
34
|
-
fallback: errorFallback
|
|
35
|
-
}, /*#__PURE__*/_react.default.createElement(_react.Suspense, {
|
|
36
|
-
fallback: /*#__PURE__*/_react.default.createElement(_SessionListSkeleton.default, null)
|
|
37
|
-
}, /*#__PURE__*/_react.default.createElement(SessionDrawerContentLoader, null)));
|
|
38
|
-
var _default = exports.default = SessionDrawerContent;
|
|
39
|
-
//# sourceMappingURL=SessionDrawerContent.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SessionDrawerContent.js","names":["_react","_interopRequireWildcard","require","_hooks","_utils","_ErrorResult","_interopRequireDefault","_SessionList","_SessionListSkeleton","_SessionDrawerContentQuery","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","SessionDrawerContentLoader","props","useLazyLoadQuery","hash","console","error","fetchPolicy","createElement","sessionsKey","errorFallback","_ref","SessionDrawerContent","ErrorBoundary","fallback","Suspense","_default","exports"],"sources":["../../../../src/lib/components/session/SessionDrawerContent.tsx"],"sourcesContent":["import React, { Suspense } from 'react';\nimport { useLazyLoadQuery } from 'react-relay/hooks';\nimport { ErrorBoundary, FallbackFn } from '@os-design/utils';\nimport graphql from 'babel-plugin-relay/macro';\nimport ErrorResult from '../shared/ErrorResult';\nimport SessionList from './SessionList';\nimport SessionListSkeleton from './SessionListSkeleton';\nimport { SessionDrawerContentQuery } from './__generated__/SessionDrawerContentQuery.graphql';\n\nconst SessionDrawerContentLoader: React.FC = () => {\n const props = useLazyLoadQuery<SessionDrawerContentQuery>(\n graphql`\n query SessionDrawerContentQuery {\n ...SessionList_sessions\n }\n `,\n {},\n { fetchPolicy: 'network-only' }\n );\n\n return <SessionList sessionsKey={props} />;\n};\n\nconst errorFallback: FallbackFn = ({ error }) => <ErrorResult error={error} />;\n\nconst SessionDrawerContent: React.FC = () => (\n <ErrorBoundary fallback={errorFallback}>\n <Suspense fallback={<SessionListSkeleton />}>\n <SessionDrawerContentLoader />\n </Suspense>\n </ErrorBoundary>\n);\n\nexport default SessionDrawerContent;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = exports.Title = exports.SESSION_LIST_PADDING_VERTICAL = exports.List = void 0;
|
|
7
|
-
var _styled = _interopRequireDefault(require("@emotion/styled"));
|
|
8
|
-
var _core = require("@os-design/core");
|
|
9
|
-
var _theming = require("@os-design/theming");
|
|
10
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
-
var _reactI18next = require("react-i18next");
|
|
12
|
-
var _hooks = require("react-relay/hooks");
|
|
13
|
-
var _SessionListItem = _interopRequireDefault(require("./SessionListItem"));
|
|
14
|
-
var _SessionList_sessions, _SessionListDestroyAllOtherSessionsMutation, _templateObject, _templateObject2, _templateObject3, _templateObject4;
|
|
15
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
16
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
17
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
18
|
-
function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
|
|
19
|
-
const sessionsFragment = _SessionList_sessions !== void 0 ? _SessionList_sessions : (_SessionList_sessions = require("./__generated__/SessionList_sessions.graphql"), _SessionList_sessions.hash && _SessionList_sessions.hash !== "1b21c937c7ba795f09bfcb5ada7d2510" && console.error("The definition of 'SessionList_sessions' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _SessionList_sessions);
|
|
20
|
-
const Title = exports.Title = _styled.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n font-weight: 500;\n margin: 1em 1em 0.5em;\n"])));
|
|
21
|
-
const List = exports.List = _styled.default.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n border-top: 1px solid ", ";\n border-bottom: 1px solid ", ";\n"])), p => (0, _theming.clr)(p.theme.listItemColorBorder), p => (0, _theming.clr)(p.theme.listItemColorBorder));
|
|
22
|
-
const DestroyAllOtherSessionsButton = (0, _styled.default)(_core.Button)(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n & > span {\n flex: 1;\n text-align: left;\n }\n"])));
|
|
23
|
-
const OtherSessions = _styled.default.div(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n margin-top: 2em;\n"])));
|
|
24
|
-
const SESSION_LIST_PADDING_VERTICAL = exports.SESSION_LIST_PADDING_VERTICAL = 0.5;
|
|
25
|
-
const SessionList = _ref => {
|
|
26
|
-
let {
|
|
27
|
-
sessionsKey
|
|
28
|
-
} = _ref;
|
|
29
|
-
const {
|
|
30
|
-
sessions
|
|
31
|
-
} = (0, _hooks.useFragment)(sessionsFragment, sessionsKey);
|
|
32
|
-
const {
|
|
33
|
-
t
|
|
34
|
-
} = (0, _reactI18next.useTranslation)(['profile']);
|
|
35
|
-
const currentSession = (0, _react.useMemo)(() => sessions.find(session => session.current), [sessions]);
|
|
36
|
-
const otherSessions = (0, _react.useMemo)(() => sessions.filter(session => !session.current).sort((a, b) => b.lastSeenAt - a.lastSeenAt), [sessions]);
|
|
37
|
-
const [commitDestroyAllOtherSessions, loadingDestroyAllOtherSessions] = (0, _hooks.useMutation)(_SessionListDestroyAllOtherSessionsMutation !== void 0 ? _SessionListDestroyAllOtherSessionsMutation : (_SessionListDestroyAllOtherSessionsMutation = require("./__generated__/SessionListDestroyAllOtherSessionsMutation.graphql"), _SessionListDestroyAllOtherSessionsMutation.hash && _SessionListDestroyAllOtherSessionsMutation.hash !== "016b6b5e7ae228f7df552d97fa43bd40" && console.error("The definition of 'SessionListDestroyAllOtherSessionsMutation' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _SessionListDestroyAllOtherSessionsMutation));
|
|
38
|
-
const destroyAllOtherSessions = (0, _react.useCallback)(() => {
|
|
39
|
-
commitDestroyAllOtherSessions({
|
|
40
|
-
variables: {},
|
|
41
|
-
updater: store => {
|
|
42
|
-
var _rootRP$getLinkedReco;
|
|
43
|
-
// Delete all other sessions from the store
|
|
44
|
-
const rootRP = store.getRoot();
|
|
45
|
-
const sessionsRP = (_rootRP$getLinkedReco = rootRP.getLinkedRecords('sessions')) === null || _rootRP$getLinkedReco === void 0 ? void 0 : _rootRP$getLinkedReco.filter(item => item.getDataID() === (currentSession === null || currentSession === void 0 ? void 0 : currentSession.id));
|
|
46
|
-
if (!sessionsRP) return;
|
|
47
|
-
rootRP.setLinkedRecords(sessionsRP, 'sessions');
|
|
48
|
-
},
|
|
49
|
-
onError: error => {
|
|
50
|
-
_core.message.error(error.message);
|
|
51
|
-
},
|
|
52
|
-
onCompleted: () => {
|
|
53
|
-
_core.message.success(t('profile:sessions.destroyedAllOther'));
|
|
54
|
-
}
|
|
55
|
-
});
|
|
56
|
-
}, [commitDestroyAllOtherSessions, currentSession === null || currentSession === void 0 ? void 0 : currentSession.id, t]);
|
|
57
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, currentSession && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(Title, null, t('profile:sessions.current')), /*#__PURE__*/_react.default.createElement(List, null, /*#__PURE__*/_react.default.createElement(_SessionListItem.default, {
|
|
58
|
-
sessionKey: currentSession,
|
|
59
|
-
hideLastSeenAt: true
|
|
60
|
-
}))), otherSessions.length > 0 && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(DestroyAllOtherSessionsButton, {
|
|
61
|
-
type: "ghost",
|
|
62
|
-
danger: true,
|
|
63
|
-
size: "small",
|
|
64
|
-
wide: "always",
|
|
65
|
-
loading: loadingDestroyAllOtherSessions,
|
|
66
|
-
onClick: destroyAllOtherSessions
|
|
67
|
-
}, t('profile:sessions.destroyAllOther')), /*#__PURE__*/_react.default.createElement(OtherSessions, null, /*#__PURE__*/_react.default.createElement(Title, null, t('profile:sessions.other'), " (", otherSessions.length, ")"), /*#__PURE__*/_react.default.createElement(List, null, otherSessions.map(session => /*#__PURE__*/_react.default.createElement(_SessionListItem.default, {
|
|
68
|
-
key: session.id,
|
|
69
|
-
sessionKey: session
|
|
70
|
-
}))))));
|
|
71
|
-
};
|
|
72
|
-
var _default = exports.default = SessionList;
|
|
73
|
-
//# sourceMappingURL=SessionList.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SessionList.js","names":["_styled","_interopRequireDefault","require","_core","_theming","_react","_interopRequireWildcard","_reactI18next","_hooks","_SessionListItem","_SessionList_sessions","_SessionListDestroyAllOtherSessionsMutation","_templateObject","_templateObject2","_templateObject3","_templateObject4","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_taggedTemplateLiteral","slice","freeze","defineProperties","raw","value","sessionsFragment","hash","console","error","Title","exports","styled","div","List","p","clr","theme","listItemColorBorder","DestroyAllOtherSessionsButton","Button","OtherSessions","SESSION_LIST_PADDING_VERTICAL","SessionList","_ref","sessionsKey","sessions","useFragment","useTranslation","currentSession","useMemo","find","session","current","otherSessions","filter","sort","b","lastSeenAt","commitDestroyAllOtherSessions","loadingDestroyAllOtherSessions","useMutation","destroyAllOtherSessions","useCallback","variables","updater","store","_rootRP$getLinkedReco","rootRP","getRoot","sessionsRP","getLinkedRecords","item","getDataID","id","setLinkedRecords","onError","message","onCompleted","success","createElement","Fragment","sessionKey","hideLastSeenAt","length","type","danger","size","wide","loading","onClick","map","key","_default"],"sources":["../../../../src/lib/components/session/SessionList.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport { Button, message } from '@os-design/core';\nimport { clr } from '@os-design/theming';\nimport graphql from 'babel-plugin-relay/macro';\nimport React, { useCallback, useMemo } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useFragment, useMutation } from 'react-relay/hooks';\nimport SessionListItem from './SessionListItem';\nimport { SessionListDestroyAllOtherSessionsMutation } from './__generated__/SessionListDestroyAllOtherSessionsMutation.graphql';\nimport { SessionList_sessions$key } from './__generated__/SessionList_sessions.graphql';\n\nconst sessionsFragment = graphql`\n fragment SessionList_sessions on Query\n @refetchable(queryName: \"SessionListRefetchQuery\") {\n sessions {\n id\n current\n lastSeenAt\n ...SessionListItem_session\n }\n }\n`;\n\ninterface SessionListProps {\n sessionsKey: SessionList_sessions$key;\n}\n\nexport const Title = styled.div`\n font-weight: 500;\n margin: 1em 1em 0.5em;\n`;\n\nexport const List = styled.div`\n border-top: 1px solid ${(p) => clr(p.theme.listItemColorBorder)};\n border-bottom: 1px solid ${(p) => clr(p.theme.listItemColorBorder)};\n`;\n\nconst DestroyAllOtherSessionsButton = styled(Button)`\n & > span {\n flex: 1;\n text-align: left;\n }\n`;\n\nconst OtherSessions = styled.div`\n margin-top: 2em;\n`;\n\nexport const SESSION_LIST_PADDING_VERTICAL = 0.5;\n\nconst SessionList: React.FC<SessionListProps> = ({ sessionsKey }) => {\n const { sessions } = useFragment(sessionsFragment, sessionsKey);\n const { t } = useTranslation(['profile']);\n\n const currentSession = useMemo(\n () => sessions.find((session) => session.current),\n [sessions]\n );\n\n const otherSessions = useMemo(\n () =>\n sessions\n .filter((session) => !session.current)\n .sort((a, b) => b.lastSeenAt - a.lastSeenAt),\n [sessions]\n );\n\n const [commitDestroyAllOtherSessions, loadingDestroyAllOtherSessions] =\n useMutation<SessionListDestroyAllOtherSessionsMutation>(graphql`\n mutation SessionListDestroyAllOtherSessionsMutation {\n destroyAllOtherSessions {\n ok\n }\n }\n `);\n\n const destroyAllOtherSessions = useCallback(() => {\n commitDestroyAllOtherSessions({\n variables: {},\n updater: (store) => {\n // Delete all other sessions from the store\n const rootRP = store.getRoot();\n const sessionsRP = rootRP\n .getLinkedRecords('sessions')\n ?.filter((item) => item.getDataID() === currentSession?.id);\n if (!sessionsRP) return;\n rootRP.setLinkedRecords(sessionsRP, 'sessions');\n },\n onError: (error) => {\n message.error(error.message);\n },\n onCompleted: () => {\n message.success(t('profile:sessions.destroyedAllOther'));\n },\n });\n }, [commitDestroyAllOtherSessions, currentSession?.id, t]);\n\n return (\n <>\n {currentSession && (\n <>\n <Title>{t('profile:sessions.current')}</Title>\n <List>\n <SessionListItem sessionKey={currentSession} hideLastSeenAt />\n </List>\n </>\n )}\n\n {otherSessions.length > 0 && (\n <>\n <DestroyAllOtherSessionsButton\n type='ghost'\n danger\n size='small'\n wide='always'\n loading={loadingDestroyAllOtherSessions}\n onClick={destroyAllOtherSessions}\n >\n {t('profile:sessions.destroyAllOther')}\n </DestroyAllOtherSessionsButton>\n\n <OtherSessions>\n <Title>\n {t('profile:sessions.other')} ({otherSessions.length})\n </Title>\n <List>\n {otherSessions.map((session) => (\n <SessionListItem key={session.id} sessionKey={session} />\n ))}\n </List>\n </OtherSessions>\n </>\n )}\n </>\n );\n};\n\nexport default SessionList;\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAEA,IAAAG,MAAA,GAAAC,uBAAA,CAAAJ,OAAA;AACA,IAAAK,aAAA,GAAAL,OAAA;AACA,IAAAM,MAAA,GAAAN,OAAA;AACA,IAAAO,gBAAA,GAAAR,sBAAA,CAAAC,OAAA;AAAgD,IAAAQ,qBAAA,EAAAC,2CAAA,EAAAC,eAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,gBAAA;AAAA,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAX,wBAAAW,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAxB,uBAAAgB,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAI,UAAA,GAAAJ,CAAA,KAAAK,OAAA,EAAAL,CAAA;AAAA,SAAAmB,uBAAAnB,CAAA,EAAAG,CAAA,WAAAA,CAAA,KAAAA,CAAA,GAAAH,CAAA,CAAAoB,KAAA,MAAAT,MAAA,CAAAU,MAAA,CAAAV,MAAA,CAAAW,gBAAA,CAAAtB,CAAA,IAAAuB,GAAA,IAAAC,KAAA,EAAAb,MAAA,CAAAU,MAAA,CAAAlB,CAAA;AAIhD,MAAMsB,gBAAgB,GAAAhC,qBAAA,cAAAA,qBAAA,IAAAA,qBAAA,GAAAR,OAAA,kDAAAQ,qBAAA,CAAAiC,IAAA,IAAAjC,qBAAA,CAAAiC,IAAA,2CAAAC,OAAA,CAAAC,KAAA,wJAAAnC,qBAAA,CAUrB;AAMM,MAAMoC,KAAK,GAAAC,OAAA,CAAAD,KAAA,GAAGE,eAAM,CAACC,GAAG,CAAArC,eAAA,KAAAA,eAAA,GAAAwB,sBAAA,yDAG9B;AAEM,MAAMc,IAAI,GAAAH,OAAA,CAAAG,IAAA,GAAGF,eAAM,CAACC,GAAG,CAAApC,gBAAA,KAAAA,gBAAA,GAAAuB,sBAAA,4EACHe,CAAC,IAAK,IAAAC,YAAG,EAACD,CAAC,CAACE,KAAK,CAACC,mBAAmB,CAAC,EACnCH,CAAC,IAAK,IAAAC,YAAG,EAACD,CAAC,CAACE,KAAK,CAACC,mBAAmB,CAAC,CACnE;AAED,MAAMC,6BAA6B,GAAG,IAAAP,eAAM,EAACQ,YAAM,CAAC,CAAA1C,gBAAA,KAAAA,gBAAA,GAAAsB,sBAAA,kEAKnD;AAED,MAAMqB,aAAa,GAAGT,eAAM,CAACC,GAAG,CAAAlC,gBAAA,KAAAA,gBAAA,GAAAqB,sBAAA,8BAE/B;AAEM,MAAMsB,6BAA6B,GAAAX,OAAA,CAAAW,6BAAA,GAAG,GAAG;AAEhD,MAAMC,WAAuC,GAAGC,IAAA,IAAqB;EAAA,IAApB;IAAEC;EAAY,CAAC,GAAAD,IAAA;EAC9D,MAAM;IAAEE;EAAS,CAAC,GAAG,IAAAC,kBAAW,EAACrB,gBAAgB,EAAEmB,WAAW,CAAC;EAC/D,MAAM;IAAEzC;EAAE,CAAC,GAAG,IAAA4C,4BAAc,EAAC,CAAC,SAAS,CAAC,CAAC;EAEzC,MAAMC,cAAc,GAAG,IAAAC,cAAO,EAC5B,MAAMJ,QAAQ,CAACK,IAAI,CAAEC,OAAO,IAAKA,OAAO,CAACC,OAAO,CAAC,EACjD,CAACP,QAAQ,CACX,CAAC;EAED,MAAMQ,aAAa,GAAG,IAAAJ,cAAO,EAC3B,MACEJ,QAAQ,CACLS,MAAM,CAAEH,OAAO,IAAK,CAACA,OAAO,CAACC,OAAO,CAAC,CACrCG,IAAI,CAAC,CAAC7C,CAAC,EAAE8C,CAAC,KAAKA,CAAC,CAACC,UAAU,GAAG/C,CAAC,CAAC+C,UAAU,CAAC,EAChD,CAACZ,QAAQ,CACX,CAAC;EAED,MAAM,CAACa,6BAA6B,EAAEC,8BAA8B,CAAC,GACnE,IAAAC,kBAAW,EAAAlE,2CAAA,cAAAA,2CAAA,IAAAA,2CAAA,GAAAT,OAAA,wEAAAS,2CAAA,CAAAgC,IAAA,IAAAhC,2CAAA,CAAAgC,IAAA,2CAAAC,OAAA,CAAAC,KAAA,8KAAAlC,2CAAA,CAMV,CAAC;EAEJ,MAAMmE,uBAAuB,GAAG,IAAAC,kBAAW,EAAC,MAAM;IAChDJ,6BAA6B,CAAC;MAC5BK,SAAS,EAAE,CAAC,CAAC;MACbC,OAAO,EAAGC,KAAK,IAAK;QAAA,IAAAC,qBAAA;QAClB;QACA,MAAMC,MAAM,GAAGF,KAAK,CAACG,OAAO,CAAC,CAAC;QAC9B,MAAMC,UAAU,IAAAH,qBAAA,GAAGC,MAAM,CACtBG,gBAAgB,CAAC,UAAU,CAAC,cAAAJ,qBAAA,uBADZA,qBAAA,CAEfZ,MAAM,CAAEiB,IAAI,IAAKA,IAAI,CAACC,SAAS,CAAC,CAAC,MAAKxB,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAEyB,EAAE,EAAC;QAC7D,IAAI,CAACJ,UAAU,EAAE;QACjBF,MAAM,CAACO,gBAAgB,CAACL,UAAU,EAAE,UAAU,CAAC;MACjD,CAAC;MACDM,OAAO,EAAG/C,KAAK,IAAK;QAClBgD,aAAO,CAAChD,KAAK,CAACA,KAAK,CAACgD,OAAO,CAAC;MAC9B,CAAC;MACDC,WAAW,EAAEA,CAAA,KAAM;QACjBD,aAAO,CAACE,OAAO,CAAC3E,CAAC,CAAC,oCAAoC,CAAC,CAAC;MAC1D;IACF,CAAC,CAAC;EACJ,CAAC,EAAE,CAACuD,6BAA6B,EAAEV,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAEyB,EAAE,EAAEtE,CAAC,CAAC,CAAC;EAE1D,oBACEf,MAAA,CAAAiB,OAAA,CAAA0E,aAAA,CAAA3F,MAAA,CAAAiB,OAAA,CAAA2E,QAAA,QACGhC,cAAc,iBACb5D,MAAA,CAAAiB,OAAA,CAAA0E,aAAA,CAAA3F,MAAA,CAAAiB,OAAA,CAAA2E,QAAA,qBACE5F,MAAA,CAAAiB,OAAA,CAAA0E,aAAA,CAAClD,KAAK,QAAE1B,CAAC,CAAC,0BAA0B,CAAS,CAAC,eAC9Cf,MAAA,CAAAiB,OAAA,CAAA0E,aAAA,CAAC9C,IAAI,qBACH7C,MAAA,CAAAiB,OAAA,CAAA0E,aAAA,CAACvF,gBAAA,CAAAa,OAAe;IAAC4E,UAAU,EAAEjC,cAAe;IAACkC,cAAc;EAAA,CAAE,CACzD,CACN,CACH,EAEA7B,aAAa,CAAC8B,MAAM,GAAG,CAAC,iBACvB/F,MAAA,CAAAiB,OAAA,CAAA0E,aAAA,CAAA3F,MAAA,CAAAiB,OAAA,CAAA2E,QAAA,qBACE5F,MAAA,CAAAiB,OAAA,CAAA0E,aAAA,CAACzC,6BAA6B;IAC5B8C,IAAI,EAAC,OAAO;IACZC,MAAM;IACNC,IAAI,EAAC,OAAO;IACZC,IAAI,EAAC,QAAQ;IACbC,OAAO,EAAE7B,8BAA+B;IACxC8B,OAAO,EAAE5B;EAAwB,GAEhC1D,CAAC,CAAC,kCAAkC,CACR,CAAC,eAEhCf,MAAA,CAAAiB,OAAA,CAAA0E,aAAA,CAACvC,aAAa,qBACZpD,MAAA,CAAAiB,OAAA,CAAA0E,aAAA,CAAClD,KAAK,QACH1B,CAAC,CAAC,wBAAwB,CAAC,EAAC,IAAE,EAACkD,aAAa,CAAC8B,MAAM,EAAC,GAChD,CAAC,eACR/F,MAAA,CAAAiB,OAAA,CAAA0E,aAAA,CAAC9C,IAAI,QACFoB,aAAa,CAACqC,GAAG,CAAEvC,OAAO,iBACzB/D,MAAA,CAAAiB,OAAA,CAAA0E,aAAA,CAACvF,gBAAA,CAAAa,OAAe;IAACsF,GAAG,EAAExC,OAAO,CAACsB,EAAG;IAACQ,UAAU,EAAE9B;EAAQ,CAAE,CACzD,CACG,CACO,CACf,CAEJ,CAAC;AAEP,CAAC;AAAC,IAAAyC,QAAA,GAAA9D,OAAA,CAAAzB,OAAA,GAEaqC,WAAW","ignoreList":[]}
|
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = exports.IconContainer = exports.Icon = exports.Content = exports.Container = void 0;
|
|
7
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
-
var _hooks = require("react-relay/hooks");
|
|
9
|
-
var _styled = _interopRequireDefault(require("@emotion/styled"));
|
|
10
|
-
var _reactI18next = require("react-i18next");
|
|
11
|
-
var _pluralForms = _interopRequireDefault(require("@os-team/plural-forms"));
|
|
12
|
-
var _core = require("@os-design/core");
|
|
13
|
-
var _styles = require("@os-design/styles");
|
|
14
|
-
var _theming = require("@os-design/theming");
|
|
15
|
-
var _utils = require("@os-design/utils");
|
|
16
|
-
var _icons = require("@os-design/icons");
|
|
17
|
-
var _react2 = require("@emotion/react");
|
|
18
|
-
var _getLastSeen = _interopRequireDefault(require("./getLastSeen"));
|
|
19
|
-
var _formatDate = _interopRequireDefault(require("./formatDate"));
|
|
20
|
-
var _UnknownDeviceIcon = _interopRequireDefault(require("../shared/icons/UnknownDeviceIcon"));
|
|
21
|
-
var _BrowserIcon = _interopRequireDefault(require("../shared/icons/BrowserIcon"));
|
|
22
|
-
var _AppleIcon = _interopRequireDefault(require("../shared/icons/AppleIcon"));
|
|
23
|
-
var _AndroidIcon = _interopRequireDefault(require("../shared/icons/AndroidIcon"));
|
|
24
|
-
var _SessionListItem_session, _SessionListItemDestroySessionMutation, _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10;
|
|
25
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
26
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
27
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
28
|
-
function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
|
|
29
|
-
const sessionListItemFragment = _SessionListItem_session !== void 0 ? _SessionListItem_session : (_SessionListItem_session = require("./__generated__/SessionListItem_session.graphql"), _SessionListItem_session.hash && _SessionListItem_session.hash !== "c73c341c5f6e75f7bef7402186ce242b" && console.error("The definition of 'SessionListItem_session' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _SessionListItem_session);
|
|
30
|
-
const Container = exports.Container = _styled.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n position: relative;\n padding: 0.5em 0;\n overflow: hidden;\n\n &:not(:last-of-type) {\n border-bottom: 1px solid ", ";\n }\n\n @media (hover: hover) {\n // Hide actions by default\n & > nav {\n opacity: 0;\n }\n\n // Display actions either on focus, or on hover\n &:hover,\n &:focus-within {\n & > nav {\n opacity: 1;\n }\n }\n }\n\n ", ";\n"])), p => (0, _theming.clr)(p.theme.listItemColorBorder), (0, _styles.horizontalPaddingStyles)());
|
|
31
|
-
const Info = _styled.default.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n font-size: ", "em;\n ", ";\n"])), p => p.theme.sizes.small, _styles.ellipsisStyles);
|
|
32
|
-
const Content = exports.Content = _styled.default.div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n flex: 1;\n overflow: hidden;\n"])));
|
|
33
|
-
const Title = (0, _styled.default)(Info)(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n font-weight: 500;\n"])));
|
|
34
|
-
const LastSeen = (0, _styled.default)(Info)(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n color: ", ";\n"])), p => (0, _theming.clr)(p.theme.inputColorPlaceholder));
|
|
35
|
-
const hasSwipeStyles = p => p.hasSwipe && (0, _react2.css)(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n transform: translateX(100%);\n ", ";\n "])), (0, _styles.transitionStyles)('transform')(p));
|
|
36
|
-
const openedStyles = p => p.opened && (0, _react2.css)(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n transform: translateX(0);\n "])));
|
|
37
|
-
const Actions = (0, _styled.default)('nav', (0, _utils.omitEmotionProps)('hasSwipe', 'opened'))(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n\n display: flex;\n align-items: center;\n\n background: linear-gradient(\n to right,\n ", ",\n ", "\n ", "em\n );\n\n ", ";\n ", ";\n ", ";\n"])), p => (0, _theming.clr)([...p.theme.colorBg.slice(0, 3), 0]), p => (0, _theming.clr)(p.theme.colorBg), p => p.theme.listItemActionsPaddingLeft, hasSwipeStyles, openedStyles, (0, _styles.horizontalPaddingStyles)('right'));
|
|
38
|
-
const IconContainer = exports.IconContainer = _styled.default.div(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["\n display: flex;\n justify-content: center;\n align-items: center;\n margin-right: 0.6em;\n"])));
|
|
39
|
-
const Icon = exports.Icon = (0, _styled.default)('div', (0, _utils.omitEmotionProps)('bgColor'))(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["\n font-size: 1.4em;\n width: 1.3em;\n height: 1.3em;\n\n svg {\n height: 1.3em;\n }\n\n display: flex;\n justify-content: center;\n align-items: center;\n\n border-radius: ", "em;\n background-color: ", ";\n color: hsl(0, 0%, 100%);\n"])), p => p.theme.borderRadius, p => p.bgColor);
|
|
40
|
-
const nameVersionToString = (name, version) => {
|
|
41
|
-
if (!name) return null;
|
|
42
|
-
return "".concat(name).concat(version ? " ".concat(version) : '');
|
|
43
|
-
};
|
|
44
|
-
const mergeInfo = function () {
|
|
45
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
46
|
-
args[_key] = arguments[_key];
|
|
47
|
-
}
|
|
48
|
-
return args.filter(item => item !== null && item !== undefined).join(', ') || null;
|
|
49
|
-
};
|
|
50
|
-
const SessionListItem = _ref => {
|
|
51
|
-
let {
|
|
52
|
-
sessionKey,
|
|
53
|
-
hideLastSeenAt
|
|
54
|
-
} = _ref;
|
|
55
|
-
const session = (0, _hooks.useFragment)(sessionListItemFragment, sessionKey);
|
|
56
|
-
const {
|
|
57
|
-
t,
|
|
58
|
-
i18n
|
|
59
|
-
} = (0, _reactI18next.useTranslation)(['profile']);
|
|
60
|
-
const touchDevice = (0, _react.useMemo)(() => (0, _utils.isTouchDevice)(), []);
|
|
61
|
-
const {
|
|
62
|
-
opened,
|
|
63
|
-
handlers
|
|
64
|
-
} = (0, _utils.useSwipe)();
|
|
65
|
-
const browser = (0, _react.useMemo)(() => nameVersionToString(session.browserName, session.browserVersion), [session.browserName, session.browserVersion]);
|
|
66
|
-
const os = (0, _react.useMemo)(() => nameVersionToString(session.osName, session.osVersion), [session.osName, session.osVersion]);
|
|
67
|
-
const deviceBrandModel = (0, _react.useMemo)(() => {
|
|
68
|
-
const arr = [session.deviceBrand, session.deviceModel];
|
|
69
|
-
// Include the manufacturer name only if it does not equal to the brand name.
|
|
70
|
-
// For example, it allows to avoid "Apple Apple iPhone 6".
|
|
71
|
-
if (session.deviceManufacturer !== session.deviceBrand) {
|
|
72
|
-
arr.unshift(session.deviceManufacturer);
|
|
73
|
-
}
|
|
74
|
-
return arr.filter(item => item !== null).join(' ') || null;
|
|
75
|
-
}, [session.deviceBrand, session.deviceManufacturer, session.deviceModel]);
|
|
76
|
-
const title = (0, _react.useMemo)(() => {
|
|
77
|
-
let deviceType = (session.deviceType || 'unknown').toLowerCase();
|
|
78
|
-
if (browser) deviceType = 'browser';
|
|
79
|
-
return "".concat(t('profile:sessions.deviceType', {
|
|
80
|
-
returnObjects: true
|
|
81
|
-
})[deviceType]).concat(session.deviceName ? " ".concat(session.deviceName) : '');
|
|
82
|
-
}, [browser, session.deviceName, session.deviceType, t]);
|
|
83
|
-
const deviceInfo = (0, _react.useMemo)(() => session.isApp ? mergeInfo(deviceBrandModel, os) : mergeInfo(browser, os), [browser, deviceBrandModel, os, session.isApp]);
|
|
84
|
-
const ip = (0, _react.useMemo)(() => {
|
|
85
|
-
if (!session.ip) return null;
|
|
86
|
-
const location = mergeInfo(session.city, session.country);
|
|
87
|
-
return "".concat(session.ip).concat(location ? " (".concat(location, ")") : '');
|
|
88
|
-
}, [session.city, session.country, session.ip]);
|
|
89
|
-
const lastSeen = (0, _react.useMemo)(() => {
|
|
90
|
-
const lsa = (0, _getLastSeen.default)(session.lastSeenAt);
|
|
91
|
-
if (!lsa) {
|
|
92
|
-
return "".concat(t('profile:sessions.lastSeenOn'), " ").concat((0, _formatDate.default)(session.lastSeenAt, t, i18n.language));
|
|
93
|
-
}
|
|
94
|
-
return "".concat(t('profile:sessions.lastSeen'), " ").concat(lsa[0], " ").concat((0, _pluralForms.default)({
|
|
95
|
-
language: i18n.language,
|
|
96
|
-
forms: t("profile:sessions.".concat(lsa[1]), {
|
|
97
|
-
returnObjects: true
|
|
98
|
-
}),
|
|
99
|
-
number: lsa[0]
|
|
100
|
-
}), " ").concat(t('profile:sessions.ago'));
|
|
101
|
-
}, [i18n.language, session.lastSeenAt, t]);
|
|
102
|
-
const [iconComponent, iconColor] = (0, _react.useMemo)(() => {
|
|
103
|
-
if (browser) return [/*#__PURE__*/_react.default.createElement(_BrowserIcon.default, null), 'hsl(30, 60%, 50%)'];
|
|
104
|
-
if (session.isApp) {
|
|
105
|
-
if (session.osName === 'iOS' || session.osName === 'iPhone OS') {
|
|
106
|
-
return [/*#__PURE__*/_react.default.createElement(_AppleIcon.default, null), 'hsl(0, 0%, 50%)'];
|
|
107
|
-
}
|
|
108
|
-
if (session.osName === 'Android') return [/*#__PURE__*/_react.default.createElement(_AndroidIcon.default, null), 'hsl(150, 60%, 50%)'];
|
|
109
|
-
}
|
|
110
|
-
return [/*#__PURE__*/_react.default.createElement(_UnknownDeviceIcon.default, null), 'hsl(5, 60%, 50%)'];
|
|
111
|
-
}, [browser, session.isApp, session.osName]);
|
|
112
|
-
const [commitDestroySession, loadingDestroySession] = (0, _hooks.useMutation)(_SessionListItemDestroySessionMutation !== void 0 ? _SessionListItemDestroySessionMutation : (_SessionListItemDestroySessionMutation = require("./__generated__/SessionListItemDestroySessionMutation.graphql"), _SessionListItemDestroySessionMutation.hash && _SessionListItemDestroySessionMutation.hash !== "ad6c0d1313a70dd63c0baccc2f7abd6e" && console.error("The definition of 'SessionListItemDestroySessionMutation' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _SessionListItemDestroySessionMutation));
|
|
113
|
-
const destroySession = (0, _react.useCallback)(() => {
|
|
114
|
-
commitDestroySession({
|
|
115
|
-
variables: {
|
|
116
|
-
input: {
|
|
117
|
-
id: session.id
|
|
118
|
-
}
|
|
119
|
-
},
|
|
120
|
-
updater: store => {
|
|
121
|
-
var _rootRP$getLinkedReco;
|
|
122
|
-
// Delete the session from the store
|
|
123
|
-
const rootRP = store.getRoot();
|
|
124
|
-
const sessionsRP = (_rootRP$getLinkedReco = rootRP.getLinkedRecords('sessions')) === null || _rootRP$getLinkedReco === void 0 ? void 0 : _rootRP$getLinkedReco.filter(item => item.getDataID() !== session.id);
|
|
125
|
-
if (!sessionsRP) return;
|
|
126
|
-
rootRP.setLinkedRecords(sessionsRP, 'sessions');
|
|
127
|
-
},
|
|
128
|
-
onError: error => {
|
|
129
|
-
_core.message.error(error.message);
|
|
130
|
-
},
|
|
131
|
-
onCompleted: () => {
|
|
132
|
-
_core.message.success(t('profile:sessions.destroyed'));
|
|
133
|
-
}
|
|
134
|
-
});
|
|
135
|
-
}, [commitDestroySession, session.id, t]);
|
|
136
|
-
return /*#__PURE__*/_react.default.createElement(Container, handlers, /*#__PURE__*/_react.default.createElement(IconContainer, null, /*#__PURE__*/_react.default.createElement(Icon, {
|
|
137
|
-
bgColor: iconColor
|
|
138
|
-
}, iconComponent)), /*#__PURE__*/_react.default.createElement(Content, null, /*#__PURE__*/_react.default.createElement(Title, null, title), deviceInfo && /*#__PURE__*/_react.default.createElement(Info, null, deviceInfo), ip && /*#__PURE__*/_react.default.createElement(Info, null, ip), !hideLastSeenAt && /*#__PURE__*/_react.default.createElement(LastSeen, null, lastSeen)), /*#__PURE__*/_react.default.createElement(Actions, {
|
|
139
|
-
hasSwipe: touchDevice,
|
|
140
|
-
opened: opened
|
|
141
|
-
}, /*#__PURE__*/_react.default.createElement(_core.Button, {
|
|
142
|
-
type: "ghost",
|
|
143
|
-
wide: "never",
|
|
144
|
-
size: "small",
|
|
145
|
-
loading: loadingDestroySession,
|
|
146
|
-
onClick: destroySession
|
|
147
|
-
}, /*#__PURE__*/_react.default.createElement(_icons.SignOut, null))));
|
|
148
|
-
};
|
|
149
|
-
var _default = exports.default = SessionListItem;
|
|
150
|
-
//# sourceMappingURL=SessionListItem.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SessionListItem.js","names":["_react","_interopRequireWildcard","require","_hooks","_styled","_interopRequireDefault","_reactI18next","_pluralForms","_core","_styles","_theming","_utils","_icons","_react2","_getLastSeen","_formatDate","_UnknownDeviceIcon","_BrowserIcon","_AppleIcon","_AndroidIcon","_SessionListItem_session","_SessionListItemDestroySessionMutation","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_templateObject6","_templateObject7","_templateObject8","_templateObject9","_templateObject10","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_taggedTemplateLiteral","slice","freeze","defineProperties","raw","value","sessionListItemFragment","hash","console","error","Container","exports","styled","div","p","clr","theme","listItemColorBorder","horizontalPaddingStyles","Info","sizes","small","ellipsisStyles","Content","Title","LastSeen","inputColorPlaceholder","hasSwipeStyles","hasSwipe","css","transitionStyles","openedStyles","opened","Actions","omitEmotionProps","colorBg","listItemActionsPaddingLeft","IconContainer","Icon","borderRadius","bgColor","nameVersionToString","name","version","concat","mergeInfo","_len","arguments","length","args","Array","_key","filter","item","undefined","join","SessionListItem","_ref","sessionKey","hideLastSeenAt","session","useFragment","i18n","useTranslation","touchDevice","useMemo","isTouchDevice","handlers","useSwipe","browser","browserName","browserVersion","os","osName","osVersion","deviceBrandModel","arr","deviceBrand","deviceModel","deviceManufacturer","unshift","title","deviceType","toLowerCase","returnObjects","deviceName","deviceInfo","isApp","ip","location","city","country","lastSeen","lsa","getLastSeen","lastSeenAt","formatDate","language","pluralForms","forms","number","iconComponent","iconColor","createElement","commitDestroySession","loadingDestroySession","useMutation","destroySession","useCallback","variables","input","id","updater","store","_rootRP$getLinkedReco","rootRP","getRoot","sessionsRP","getLinkedRecords","getDataID","setLinkedRecords","onError","message","onCompleted","success","Button","type","wide","size","loading","onClick","SignOut","_default"],"sources":["../../../../src/lib/components/session/SessionListItem.tsx"],"sourcesContent":["import React, { useCallback, useMemo } from 'react';\nimport graphql from 'babel-plugin-relay/macro';\nimport { useFragment, useMutation } from 'react-relay/hooks';\nimport styled from '@emotion/styled';\nimport { useTranslation } from 'react-i18next';\nimport pluralForms from '@os-team/plural-forms';\nimport { Button, message } from '@os-design/core';\nimport {\n ellipsisStyles,\n horizontalPaddingStyles,\n transitionStyles,\n} from '@os-design/styles';\nimport { clr, Color } from '@os-design/theming';\nimport { isTouchDevice, omitEmotionProps, useSwipe } from '@os-design/utils';\nimport { SignOut } from '@os-design/icons';\nimport { css } from '@emotion/react';\nimport { SessionListItem_session$key } from './__generated__/SessionListItem_session.graphql';\nimport getLastSeen from './getLastSeen';\nimport formatDate from './formatDate';\nimport { SessionListItemDestroySessionMutation } from './__generated__/SessionListItemDestroySessionMutation.graphql';\nimport UnknownDeviceIcon from '../shared/icons/UnknownDeviceIcon';\nimport BrowserIcon from '../shared/icons/BrowserIcon';\nimport AppleIcon from '../shared/icons/AppleIcon';\nimport AndroidIcon from '../shared/icons/AndroidIcon';\n\nconst sessionListItemFragment = graphql`\n fragment SessionListItem_session on SessionPayload {\n id\n isApp\n browserName\n browserVersion\n osName\n osVersion\n deviceType\n deviceName\n deviceManufacturer\n deviceBrand\n deviceModel\n ip\n country\n city\n lastSeenAt\n }\n`;\n\ninterface SessionListItemProps {\n sessionKey: SessionListItem_session$key;\n hideLastSeenAt?: boolean;\n}\n\nexport const Container = styled.div`\n display: flex;\n position: relative;\n padding: 0.5em 0;\n overflow: hidden;\n\n &:not(:last-of-type) {\n border-bottom: 1px solid ${(p) => clr(p.theme.listItemColorBorder)};\n }\n\n @media (hover: hover) {\n // Hide actions by default\n & > nav {\n opacity: 0;\n }\n\n // Display actions either on focus, or on hover\n &:hover,\n &:focus-within {\n & > nav {\n opacity: 1;\n }\n }\n }\n\n ${horizontalPaddingStyles()};\n`;\n\nconst Info = styled.div`\n font-size: ${(p) => p.theme.sizes.small}em;\n ${ellipsisStyles};\n`;\n\nexport const Content = styled.div`\n flex: 1;\n overflow: hidden;\n`;\n\nconst Title = styled(Info)`\n font-weight: 500;\n`;\n\nconst LastSeen = styled(Info)`\n color: ${(p) => clr(p.theme.inputColorPlaceholder)};\n`;\n\nconst hasSwipeStyles = (p) =>\n p.hasSwipe &&\n css`\n transform: translateX(100%);\n ${transitionStyles('transform')(p)};\n `;\n\nconst openedStyles = (p) =>\n p.opened &&\n css`\n transform: translateX(0);\n `;\n\ninterface ActionsProps {\n hasSwipe: boolean;\n opened: boolean;\n}\nconst Actions = styled(\n 'nav',\n omitEmotionProps('hasSwipe', 'opened')\n)<ActionsProps>`\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n\n display: flex;\n align-items: center;\n\n background: linear-gradient(\n to right,\n ${(p) => clr([...p.theme.colorBg.slice(0, 3), 0] as Color)},\n ${(p) => clr(p.theme.colorBg)}\n ${(p) => p.theme.listItemActionsPaddingLeft}em\n );\n\n ${hasSwipeStyles};\n ${openedStyles};\n ${horizontalPaddingStyles('right')};\n`;\n\nexport const IconContainer = styled.div`\n display: flex;\n justify-content: center;\n align-items: center;\n margin-right: 0.6em;\n`;\n\ninterface IconProps {\n bgColor: string;\n}\nexport const Icon = styled('div', omitEmotionProps('bgColor'))<IconProps>`\n font-size: 1.4em;\n width: 1.3em;\n height: 1.3em;\n\n svg {\n height: 1.3em;\n }\n\n display: flex;\n justify-content: center;\n align-items: center;\n\n border-radius: ${(p) => p.theme.borderRadius}em;\n background-color: ${(p) => p.bgColor};\n color: hsl(0, 0%, 100%);\n`;\n\nconst nameVersionToString = (\n name?: string | null,\n version?: string | null\n): string | null => {\n if (!name) return null;\n return `${name}${version ? ` ${version}` : ''}`;\n};\n\nconst mergeInfo = (...args: Array<string | null | undefined>): string | null =>\n args.filter((item) => item !== null && item !== undefined).join(', ') || null;\n\nconst SessionListItem: React.FC<SessionListItemProps> = ({\n sessionKey,\n hideLastSeenAt,\n}) => {\n const session = useFragment(sessionListItemFragment, sessionKey);\n const { t, i18n } = useTranslation(['profile']);\n const touchDevice = useMemo(() => isTouchDevice(), []);\n const { opened, handlers } = useSwipe();\n\n const browser = useMemo(\n () => nameVersionToString(session.browserName, session.browserVersion),\n [session.browserName, session.browserVersion]\n );\n\n const os = useMemo(\n () => nameVersionToString(session.osName, session.osVersion),\n [session.osName, session.osVersion]\n );\n\n const deviceBrandModel = useMemo(() => {\n const arr = [session.deviceBrand, session.deviceModel];\n // Include the manufacturer name only if it does not equal to the brand name.\n // For example, it allows to avoid \"Apple Apple iPhone 6\".\n if (session.deviceManufacturer !== session.deviceBrand) {\n arr.unshift(session.deviceManufacturer);\n }\n return arr.filter((item) => item !== null).join(' ') || null;\n }, [session.deviceBrand, session.deviceManufacturer, session.deviceModel]);\n\n const title = useMemo(() => {\n let deviceType = (session.deviceType || 'unknown').toLowerCase();\n if (browser) deviceType = 'browser';\n return `${\n t('profile:sessions.deviceType', { returnObjects: true })[deviceType]\n }${session.deviceName ? ` ${session.deviceName}` : ''}`;\n }, [browser, session.deviceName, session.deviceType, t]);\n\n const deviceInfo = useMemo(\n () =>\n session.isApp ? mergeInfo(deviceBrandModel, os) : mergeInfo(browser, os),\n [browser, deviceBrandModel, os, session.isApp]\n );\n\n const ip = useMemo(() => {\n if (!session.ip) return null;\n const location = mergeInfo(session.city, session.country);\n return `${session.ip}${location ? ` (${location})` : ''}`;\n }, [session.city, session.country, session.ip]);\n\n const lastSeen = useMemo(() => {\n const lsa = getLastSeen(session.lastSeenAt);\n if (!lsa) {\n return `${t('profile:sessions.lastSeenOn')} ${formatDate(\n session.lastSeenAt,\n t,\n i18n.language\n )}`;\n }\n return `${t('profile:sessions.lastSeen')} ${lsa[0]} ${pluralForms({\n language: i18n.language,\n forms: t(`profile:sessions.${lsa[1]}`, { returnObjects: true }),\n number: lsa[0],\n })} ${t('profile:sessions.ago')}`;\n }, [i18n.language, session.lastSeenAt, t]);\n\n const [iconComponent, iconColor] = useMemo(() => {\n if (browser) return [<BrowserIcon />, 'hsl(30, 60%, 50%)'];\n if (session.isApp) {\n if (session.osName === 'iOS' || session.osName === 'iPhone OS') {\n return [<AppleIcon />, 'hsl(0, 0%, 50%)'];\n }\n if (session.osName === 'Android')\n return [<AndroidIcon />, 'hsl(150, 60%, 50%)'];\n }\n return [<UnknownDeviceIcon />, 'hsl(5, 60%, 50%)'];\n }, [browser, session.isApp, session.osName]);\n\n const [commitDestroySession, loadingDestroySession] =\n useMutation<SessionListItemDestroySessionMutation>(graphql`\n mutation SessionListItemDestroySessionMutation(\n $input: DestroySessionInput!\n ) {\n destroySession(input: $input) {\n ok\n }\n }\n `);\n\n const destroySession = useCallback(() => {\n commitDestroySession({\n variables: {\n input: {\n id: session.id,\n },\n },\n updater: (store) => {\n // Delete the session from the store\n const rootRP = store.getRoot();\n const sessionsRP = rootRP\n .getLinkedRecords('sessions')\n ?.filter((item) => item.getDataID() !== session.id);\n if (!sessionsRP) return;\n rootRP.setLinkedRecords(sessionsRP, 'sessions');\n },\n onError: (error) => {\n message.error(error.message);\n },\n onCompleted: () => {\n message.success(t('profile:sessions.destroyed'));\n },\n });\n }, [commitDestroySession, session.id, t]);\n\n return (\n <Container {...handlers}>\n <IconContainer>\n <Icon bgColor={iconColor}>{iconComponent}</Icon>\n </IconContainer>\n\n <Content>\n <Title>{title}</Title>\n {deviceInfo && <Info>{deviceInfo}</Info>}\n {ip && <Info>{ip}</Info>}\n {!hideLastSeenAt && <LastSeen>{lastSeen}</LastSeen>}\n </Content>\n\n <Actions hasSwipe={touchDevice} opened={opened}>\n <Button\n type='ghost'\n wide='never'\n size='small'\n loading={loadingDestroySession}\n onClick={destroySession}\n >\n <SignOut />\n </Button>\n </Actions>\n </Container>\n );\n};\n\nexport default SessionListItem;\n"],"mappings":"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","ignoreList":[]}
|