@os-team/profile 1.2.0 → 1.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (375) hide show
  1. package/dist/@types/emotion.d.js +1 -0
  2. package/dist/@types/i18next.d.js +1 -0
  3. package/dist/@types/relay.d.js +0 -0
  4. package/dist/{types/components → components}/profile/ProfileButton.d.ts +1 -1
  5. package/dist/components/profile/ProfileButton.d.ts.map +1 -0
  6. package/dist/components/profile/ProfileButton.js +9 -0
  7. package/dist/components/profile/ProfileConfigContext.d.ts.map +1 -0
  8. package/dist/{esm/components → components}/profile/ProfileConfigContext.js +1 -2
  9. package/dist/components/profile/ProfileContext.d.ts.map +1 -0
  10. package/dist/{esm/components → components}/profile/ProfileContext.js +1 -2
  11. package/dist/{types/components → components}/profile/ProfileDrawer.d.ts +2 -2
  12. package/dist/components/profile/ProfileDrawer.d.ts.map +1 -0
  13. package/dist/components/profile/ProfileDrawer.js +28 -0
  14. package/dist/{types/components → components}/profile/ProfileDrawerContent.d.ts +7 -0
  15. package/dist/components/profile/ProfileDrawerContent.d.ts.map +1 -0
  16. package/dist/{esm/components → components}/profile/ProfileDrawerContent.js +66 -41
  17. package/dist/{types/components → components}/profile/ProfileNavigationItem.d.ts +1 -1
  18. package/dist/components/profile/ProfileNavigationItem.d.ts.map +1 -0
  19. package/dist/components/profile/ProfileNavigationItem.js +28 -0
  20. package/dist/components/profile/ProfileUpdateNameModal.d.ts.map +1 -0
  21. package/dist/{esm/components → components}/profile/ProfileUpdateNameModal.js +38 -31
  22. package/dist/components/profile/ProfileUpdatePasswordModal.d.ts.map +1 -0
  23. package/dist/{esm/components → components}/profile/ProfileUpdatePasswordModal.js +40 -33
  24. package/dist/components/profile/ProtectedWrapper.d.ts.map +1 -0
  25. package/dist/{esm/components → components}/profile/ProtectedWrapper.js +19 -14
  26. package/dist/{types/components → components}/profile/UserAvatar.d.ts +1 -1
  27. package/dist/components/profile/UserAvatar.d.ts.map +1 -0
  28. package/dist/{esm/components → components}/profile/UserAvatar.js +7 -6
  29. package/dist/{types/components → components}/profile/UserAvatarAddon.d.ts +1 -1
  30. package/dist/components/profile/UserAvatarAddon.d.ts.map +1 -0
  31. package/dist/components/profile/UserAvatarAddon.js +50 -0
  32. package/dist/{types/components → components}/profile/__generated__/ProfileDrawerContentSignOutMutation.graphql.d.ts +5 -0
  33. package/dist/components/profile/__generated__/ProfileDrawerContentSignOutMutation.graphql.d.ts.map +1 -0
  34. package/dist/{esm/components → components}/profile/__generated__/ProfileDrawerContentSignOutMutation.graphql.js +2 -3
  35. package/dist/{types/components → components}/profile/__generated__/ProfileDrawerContentUpdateAvatarMutation.graphql.d.ts +5 -0
  36. package/dist/components/profile/__generated__/ProfileDrawerContentUpdateAvatarMutation.graphql.d.ts.map +1 -0
  37. package/dist/{esm/components → components}/profile/__generated__/ProfileDrawerContentUpdateAvatarMutation.graphql.js +2 -3
  38. package/dist/{types/components → components}/profile/__generated__/ProfileUpdateNameModalMutation.graphql.d.ts +5 -0
  39. package/dist/components/profile/__generated__/ProfileUpdateNameModalMutation.graphql.d.ts.map +1 -0
  40. package/dist/{esm/components → components}/profile/__generated__/ProfileUpdateNameModalMutation.graphql.js +2 -3
  41. package/dist/{types/components → components}/profile/__generated__/ProfileUpdatePasswordModalMutation.graphql.d.ts +5 -0
  42. package/dist/components/profile/__generated__/ProfileUpdatePasswordModalMutation.graphql.d.ts.map +1 -0
  43. package/dist/{esm/components → components}/profile/__generated__/ProfileUpdatePasswordModalMutation.graphql.js +2 -3
  44. package/dist/{types/components → components}/profile/__generated__/ProtectedWrapperQuery.graphql.d.ts +5 -0
  45. package/dist/components/profile/__generated__/ProtectedWrapperQuery.graphql.d.ts.map +1 -0
  46. package/dist/{esm/components → components}/profile/__generated__/ProtectedWrapperQuery.graphql.js +2 -3
  47. package/dist/{types/components → components}/session/SessionDrawer.d.ts +1 -1
  48. package/dist/components/session/SessionDrawer.d.ts.map +1 -0
  49. package/dist/components/session/SessionDrawer.js +45 -0
  50. package/dist/components/session/SessionDrawerContent.d.ts.map +1 -0
  51. package/dist/{esm/components → components}/session/SessionDrawerContent.js +12 -10
  52. package/dist/{types/components → components}/session/SessionList.d.ts +5 -5
  53. package/dist/components/session/SessionList.d.ts.map +1 -0
  54. package/dist/{esm/components → components}/session/SessionList.js +33 -17
  55. package/dist/{types/components → components}/session/SessionListItem.d.ts +9 -9
  56. package/dist/components/session/SessionListItem.d.ts.map +1 -0
  57. package/dist/{esm/components → components}/session/SessionListItem.js +37 -19
  58. package/dist/components/session/SessionListSkeleton.d.ts.map +1 -0
  59. package/dist/components/session/SessionListSkeleton.js +43 -0
  60. package/dist/{types/components → components}/session/__generated__/SessionDrawerContentQuery.graphql.d.ts +5 -0
  61. package/dist/components/session/__generated__/SessionDrawerContentQuery.graphql.d.ts.map +1 -0
  62. package/dist/{esm/components → components}/session/__generated__/SessionDrawerContentQuery.graphql.js +2 -3
  63. package/dist/{types/components → components}/session/__generated__/SessionListDestroyAllOtherSessionsMutation.graphql.d.ts +5 -0
  64. package/dist/components/session/__generated__/SessionListDestroyAllOtherSessionsMutation.graphql.d.ts.map +1 -0
  65. package/dist/{esm/components → components}/session/__generated__/SessionListDestroyAllOtherSessionsMutation.graphql.js +2 -3
  66. package/dist/{types/components → components}/session/__generated__/SessionListItemDestroySessionMutation.graphql.d.ts +5 -0
  67. package/dist/components/session/__generated__/SessionListItemDestroySessionMutation.graphql.d.ts.map +1 -0
  68. package/dist/{esm/components → components}/session/__generated__/SessionListItemDestroySessionMutation.graphql.js +2 -3
  69. package/dist/{types/components → components}/session/__generated__/SessionListItem_session.graphql.d.ts +5 -0
  70. package/dist/components/session/__generated__/SessionListItem_session.graphql.d.ts.map +1 -0
  71. package/dist/{esm/components → components}/session/__generated__/SessionListItem_session.graphql.js +2 -3
  72. package/dist/{types/components → components}/session/__generated__/SessionListRefetchQuery.graphql.d.ts +5 -0
  73. package/dist/components/session/__generated__/SessionListRefetchQuery.graphql.d.ts.map +1 -0
  74. package/dist/{esm/components → components}/session/__generated__/SessionListRefetchQuery.graphql.js +2 -3
  75. package/dist/{types/components → components}/session/__generated__/SessionList_sessions.graphql.d.ts +5 -0
  76. package/dist/components/session/__generated__/SessionList_sessions.graphql.d.ts.map +1 -0
  77. package/dist/{esm/components → components}/session/__generated__/SessionList_sessions.graphql.js +2 -3
  78. package/dist/{types/components → components}/session/formatDate.d.ts +1 -1
  79. package/dist/components/session/formatDate.d.ts.map +1 -0
  80. package/dist/{esm/components → components}/session/formatDate.js +1 -2
  81. package/dist/components/session/getLastSeen.d.ts +3 -0
  82. package/dist/components/session/getLastSeen.d.ts.map +1 -0
  83. package/dist/{esm/components → components}/session/getLastSeen.js +1 -2
  84. package/dist/{types/components → components}/shared/ButtonUpdate.d.ts +1 -1
  85. package/dist/components/shared/ButtonUpdate.d.ts.map +1 -0
  86. package/dist/{esm/components → components}/shared/ButtonUpdate.js +6 -3
  87. package/dist/components/shared/ErrorResult.d.ts.map +1 -0
  88. package/dist/{esm/components → components}/shared/ErrorResult.js +4 -4
  89. package/dist/components/shared/FormError.d.ts.map +1 -0
  90. package/dist/{esm/components → components}/shared/FormError.js +6 -5
  91. package/dist/components/shared/MainLoader.d.ts.map +1 -0
  92. package/dist/{esm/components → components}/shared/MainLoader.js +5 -3
  93. package/dist/{types/components → components}/shared/icons/AndroidIcon.d.ts +1 -1
  94. package/dist/components/shared/icons/AndroidIcon.d.ts.map +1 -0
  95. package/dist/components/shared/icons/AndroidIcon.js +12 -0
  96. package/dist/{types/components → components}/shared/icons/AppleIcon.d.ts +1 -1
  97. package/dist/components/shared/icons/AppleIcon.d.ts.map +1 -0
  98. package/dist/components/shared/icons/AppleIcon.js +12 -0
  99. package/dist/{types/components → components}/shared/icons/BrowserIcon.d.ts +1 -1
  100. package/dist/components/shared/icons/BrowserIcon.d.ts.map +1 -0
  101. package/dist/components/shared/icons/BrowserIcon.js +12 -0
  102. package/dist/{types/components → components}/shared/icons/ProfileIcon.d.ts +1 -1
  103. package/dist/components/shared/icons/ProfileIcon.d.ts.map +1 -0
  104. package/dist/components/shared/icons/ProfileIcon.js +12 -0
  105. package/dist/{types/components → components}/shared/icons/UnknownDeviceIcon.d.ts +1 -1
  106. package/dist/components/shared/icons/UnknownDeviceIcon.d.ts.map +1 -0
  107. package/dist/components/shared/icons/UnknownDeviceIcon.js +12 -0
  108. package/dist/index.d.ts.map +1 -0
  109. package/dist/index.js +14 -0
  110. package/dist/utils/getError.d.ts.map +1 -0
  111. package/dist/{esm/utils → utils}/getError.js +1 -2
  112. package/dist/utils/getUserFullName.d.ts.map +1 -0
  113. package/dist/{esm/utils → utils}/getUserFullName.js +1 -2
  114. package/dist/{types/utils → utils}/handleFormErrors.d.ts +1 -1
  115. package/dist/utils/handleFormErrors.d.ts.map +1 -0
  116. package/dist/{esm/utils → utils}/handleFormErrors.js +1 -2
  117. package/package.json +55 -61
  118. package/src/@types/react-app-env.d.ts +3 -0
  119. package/src/App.tsx +42 -0
  120. package/src/AppRouter.tsx +12 -0
  121. package/src/components/ErrorResult.tsx +23 -0
  122. package/src/components/Layout.tsx +70 -0
  123. package/src/components/MainLoader.tsx +22 -0
  124. package/src/components/icons/HomeIcon.tsx +12 -0
  125. package/src/i18next.ts +34 -0
  126. package/src/index.tsx +6 -0
  127. package/src/lib/@types/emotion.d.ts +7 -0
  128. package/src/lib/@types/i18next.d.ts +12 -0
  129. package/src/lib/@types/relay.d.ts +3 -0
  130. package/src/lib/components/profile/ProfileButton.tsx +8 -0
  131. package/src/lib/components/profile/ProfileConfigContext.ts +16 -0
  132. package/src/lib/components/profile/ProfileContext.ts +20 -0
  133. package/src/lib/components/profile/ProfileDrawer.tsx +31 -0
  134. package/src/lib/components/profile/ProfileDrawerContent.tsx +276 -0
  135. package/src/lib/components/profile/ProfileNavigationItem.tsx +36 -0
  136. package/src/lib/components/profile/ProfileUpdateNameModal.tsx +117 -0
  137. package/src/lib/components/profile/ProfileUpdatePasswordModal.tsx +129 -0
  138. package/src/lib/components/profile/ProtectedWrapper.tsx +81 -0
  139. package/src/lib/components/profile/UserAvatar.tsx +23 -0
  140. package/src/lib/components/profile/UserAvatarAddon.tsx +62 -0
  141. package/src/lib/components/profile/__generated__/ProfileDrawerContentSignOutMutation.graphql.ts +74 -0
  142. package/src/lib/components/profile/__generated__/ProfileDrawerContentUpdateAvatarMutation.graphql.ts +100 -0
  143. package/src/lib/components/profile/__generated__/ProfileUpdateNameModalMutation.graphql.ts +124 -0
  144. package/src/lib/components/profile/__generated__/ProfileUpdatePasswordModalMutation.graphql.ts +93 -0
  145. package/src/lib/components/profile/__generated__/ProtectedWrapperQuery.graphql.ts +106 -0
  146. package/src/lib/components/session/SessionDrawer.tsx +50 -0
  147. package/src/lib/components/session/SessionDrawerContent.tsx +34 -0
  148. package/src/lib/components/session/SessionList.tsx +138 -0
  149. package/src/lib/components/session/SessionListItem.tsx +318 -0
  150. package/src/lib/components/session/SessionListSkeleton.tsx +48 -0
  151. package/src/lib/components/session/__generated__/SessionDrawerContentQuery.graphql.ts +181 -0
  152. package/src/lib/components/session/__generated__/SessionListDestroyAllOtherSessionsMutation.graphql.ts +74 -0
  153. package/src/lib/components/session/__generated__/SessionListItemDestroySessionMutation.graphql.ts +92 -0
  154. package/src/lib/components/session/__generated__/SessionListItem_session.graphql.ts +154 -0
  155. package/src/lib/components/session/__generated__/SessionListRefetchQuery.graphql.ts +181 -0
  156. package/src/lib/components/session/__generated__/SessionList_sessions.graphql.ts +83 -0
  157. package/src/lib/components/session/formatDate.ts +21 -0
  158. package/{dist/cjs/components/session/getLastSeen.js → src/lib/components/session/getLastSeen.ts} +9 -9
  159. package/src/lib/components/shared/ButtonUpdate.tsx +10 -0
  160. package/src/lib/components/shared/ErrorResult.tsx +28 -0
  161. package/src/lib/components/shared/FormError.tsx +11 -0
  162. package/src/lib/components/shared/MainLoader.tsx +22 -0
  163. package/src/lib/components/shared/icons/AndroidIcon.tsx +12 -0
  164. package/src/lib/components/shared/icons/AppleIcon.tsx +12 -0
  165. package/src/lib/components/shared/icons/BrowserIcon.tsx +12 -0
  166. package/src/lib/components/shared/icons/ProfileIcon.tsx +12 -0
  167. package/src/lib/components/shared/icons/UnknownDeviceIcon.tsx +14 -0
  168. package/{dist/esm/index.js → src/lib/index.ts} +1 -1
  169. package/src/lib/utils/getError.ts +101 -0
  170. package/src/lib/utils/getUserFullName.ts +14 -0
  171. package/src/lib/utils/handleFormErrors.ts +16 -0
  172. package/src/pages/HomePage.tsx +11 -0
  173. package/src/schema.graphql +2494 -0
  174. package/src/utils/createRelayEnvironment.ts +22 -0
  175. package/src/utils/getError.ts +101 -0
  176. package/dist/cjs/@types/emotion.d.js +0 -4
  177. package/dist/cjs/@types/emotion.d.js.map +0 -1
  178. package/dist/cjs/@types/i18next.d.js +0 -4
  179. package/dist/cjs/@types/i18next.d.js.map +0 -1
  180. package/dist/cjs/components/profile/ProfileButton.js +0 -16
  181. package/dist/cjs/components/profile/ProfileButton.js.map +0 -1
  182. package/dist/cjs/components/profile/ProfileConfigContext.js +0 -17
  183. package/dist/cjs/components/profile/ProfileConfigContext.js.map +0 -1
  184. package/dist/cjs/components/profile/ProfileContext.js +0 -18
  185. package/dist/cjs/components/profile/ProfileContext.js.map +0 -1
  186. package/dist/cjs/components/profile/ProfileDrawer.js +0 -35
  187. package/dist/cjs/components/profile/ProfileDrawer.js.map +0 -1
  188. package/dist/cjs/components/profile/ProfileDrawerContent.js +0 -167
  189. package/dist/cjs/components/profile/ProfileDrawerContent.js.map +0 -1
  190. package/dist/cjs/components/profile/ProfileNavigationItem.js +0 -35
  191. package/dist/cjs/components/profile/ProfileNavigationItem.js.map +0 -1
  192. package/dist/cjs/components/profile/ProfileUpdateNameModal.js +0 -106
  193. package/dist/cjs/components/profile/ProfileUpdateNameModal.js.map +0 -1
  194. package/dist/cjs/components/profile/ProfileUpdatePasswordModal.js +0 -106
  195. package/dist/cjs/components/profile/ProfileUpdatePasswordModal.js.map +0 -1
  196. package/dist/cjs/components/profile/ProtectedWrapper.js +0 -54
  197. package/dist/cjs/components/profile/ProtectedWrapper.js.map +0 -1
  198. package/dist/cjs/components/profile/UserAvatar.js +0 -42
  199. package/dist/cjs/components/profile/UserAvatar.js.map +0 -1
  200. package/dist/cjs/components/profile/UserAvatarAddon.js +0 -41
  201. package/dist/cjs/components/profile/UserAvatarAddon.js.map +0 -1
  202. package/dist/cjs/components/profile/__generated__/ProfileDrawerContentSignOutMutation.graphql.js +0 -63
  203. package/dist/cjs/components/profile/__generated__/ProfileDrawerContentSignOutMutation.graphql.js.map +0 -1
  204. package/dist/cjs/components/profile/__generated__/ProfileDrawerContentUpdateAvatarMutation.graphql.js +0 -78
  205. package/dist/cjs/components/profile/__generated__/ProfileDrawerContentUpdateAvatarMutation.graphql.js.map +0 -1
  206. package/dist/cjs/components/profile/__generated__/ProfileUpdateNameModalMutation.graphql.js +0 -95
  207. package/dist/cjs/components/profile/__generated__/ProfileUpdateNameModalMutation.graphql.js.map +0 -1
  208. package/dist/cjs/components/profile/__generated__/ProfileUpdatePasswordModalMutation.graphql.js +0 -72
  209. package/dist/cjs/components/profile/__generated__/ProfileUpdatePasswordModalMutation.graphql.js.map +0 -1
  210. package/dist/cjs/components/profile/__generated__/ProtectedWrapperQuery.graphql.js +0 -87
  211. package/dist/cjs/components/profile/__generated__/ProtectedWrapperQuery.graphql.js.map +0 -1
  212. package/dist/cjs/components/session/SessionDrawer.js +0 -46
  213. package/dist/cjs/components/session/SessionDrawer.js.map +0 -1
  214. package/dist/cjs/components/session/SessionDrawerContent.js +0 -39
  215. package/dist/cjs/components/session/SessionDrawerContent.js.map +0 -1
  216. package/dist/cjs/components/session/SessionList.js +0 -73
  217. package/dist/cjs/components/session/SessionList.js.map +0 -1
  218. package/dist/cjs/components/session/SessionListItem.js +0 -150
  219. package/dist/cjs/components/session/SessionListItem.js.map +0 -1
  220. package/dist/cjs/components/session/SessionListSkeleton.js +0 -31
  221. package/dist/cjs/components/session/SessionListSkeleton.js.map +0 -1
  222. package/dist/cjs/components/session/__generated__/SessionDrawerContentQuery.graphql.js +0 -154
  223. package/dist/cjs/components/session/__generated__/SessionDrawerContentQuery.graphql.js.map +0 -1
  224. package/dist/cjs/components/session/__generated__/SessionListDestroyAllOtherSessionsMutation.graphql.js +0 -63
  225. package/dist/cjs/components/session/__generated__/SessionListDestroyAllOtherSessionsMutation.graphql.js.map +0 -1
  226. package/dist/cjs/components/session/__generated__/SessionListItemDestroySessionMutation.graphql.js +0 -72
  227. package/dist/cjs/components/session/__generated__/SessionListItemDestroySessionMutation.graphql.js.map +0 -1
  228. package/dist/cjs/components/session/__generated__/SessionListItem_session.graphql.js +0 -118
  229. package/dist/cjs/components/session/__generated__/SessionListItem_session.graphql.js.map +0 -1
  230. package/dist/cjs/components/session/__generated__/SessionListRefetchQuery.graphql.js +0 -154
  231. package/dist/cjs/components/session/__generated__/SessionListRefetchQuery.graphql.js.map +0 -1
  232. package/dist/cjs/components/session/__generated__/SessionList_sessions.graphql.js +0 -65
  233. package/dist/cjs/components/session/__generated__/SessionList_sessions.graphql.js.map +0 -1
  234. package/dist/cjs/components/session/formatDate.js +0 -19
  235. package/dist/cjs/components/session/formatDate.js.map +0 -1
  236. package/dist/cjs/components/session/getLastSeen.js.map +0 -1
  237. package/dist/cjs/components/shared/ButtonUpdate.js +0 -18
  238. package/dist/cjs/components/shared/ButtonUpdate.js.map +0 -1
  239. package/dist/cjs/components/shared/ErrorResult.js +0 -31
  240. package/dist/cjs/components/shared/ErrorResult.js.map +0 -1
  241. package/dist/cjs/components/shared/FormError.js +0 -21
  242. package/dist/cjs/components/shared/FormError.js.map +0 -1
  243. package/dist/cjs/components/shared/MainLoader.js +0 -17
  244. package/dist/cjs/components/shared/MainLoader.js.map +0 -1
  245. package/dist/cjs/components/shared/icons/AndroidIcon.js +0 -18
  246. package/dist/cjs/components/shared/icons/AndroidIcon.js.map +0 -1
  247. package/dist/cjs/components/shared/icons/AppleIcon.js +0 -18
  248. package/dist/cjs/components/shared/icons/AppleIcon.js.map +0 -1
  249. package/dist/cjs/components/shared/icons/BrowserIcon.js +0 -18
  250. package/dist/cjs/components/shared/icons/BrowserIcon.js.map +0 -1
  251. package/dist/cjs/components/shared/icons/ProfileIcon.js +0 -18
  252. package/dist/cjs/components/shared/icons/ProfileIcon.js.map +0 -1
  253. package/dist/cjs/components/shared/icons/UnknownDeviceIcon.js +0 -18
  254. package/dist/cjs/components/shared/icons/UnknownDeviceIcon.js.map +0 -1
  255. package/dist/cjs/index.js +0 -142
  256. package/dist/cjs/index.js.map +0 -1
  257. package/dist/cjs/utils/getError.js +0 -59
  258. package/dist/cjs/utils/getError.js.map +0 -1
  259. package/dist/cjs/utils/getUserFullName.js +0 -19
  260. package/dist/cjs/utils/getUserFullName.js.map +0 -1
  261. package/dist/cjs/utils/handleFormErrors.js +0 -25
  262. package/dist/cjs/utils/handleFormErrors.js.map +0 -1
  263. package/dist/esm/@types/emotion.d.js +0 -2
  264. package/dist/esm/@types/emotion.d.js.map +0 -1
  265. package/dist/esm/@types/i18next.d.js +0 -2
  266. package/dist/esm/@types/i18next.d.js.map +0 -1
  267. package/dist/esm/components/profile/ProfileButton.js +0 -9
  268. package/dist/esm/components/profile/ProfileButton.js.map +0 -1
  269. package/dist/esm/components/profile/ProfileConfigContext.js.map +0 -1
  270. package/dist/esm/components/profile/ProfileContext.js.map +0 -1
  271. package/dist/esm/components/profile/ProfileDrawer.js +0 -25
  272. package/dist/esm/components/profile/ProfileDrawer.js.map +0 -1
  273. package/dist/esm/components/profile/ProfileDrawerContent.js.map +0 -1
  274. package/dist/esm/components/profile/ProfileNavigationItem.js +0 -27
  275. package/dist/esm/components/profile/ProfileNavigationItem.js.map +0 -1
  276. package/dist/esm/components/profile/ProfileUpdateNameModal.js.map +0 -1
  277. package/dist/esm/components/profile/ProfileUpdatePasswordModal.js.map +0 -1
  278. package/dist/esm/components/profile/ProtectedWrapper.js.map +0 -1
  279. package/dist/esm/components/profile/UserAvatar.js.map +0 -1
  280. package/dist/esm/components/profile/UserAvatarAddon.js +0 -47
  281. package/dist/esm/components/profile/UserAvatarAddon.js.map +0 -1
  282. package/dist/esm/components/profile/__generated__/ProfileDrawerContentSignOutMutation.graphql.js.map +0 -1
  283. package/dist/esm/components/profile/__generated__/ProfileDrawerContentUpdateAvatarMutation.graphql.js.map +0 -1
  284. package/dist/esm/components/profile/__generated__/ProfileUpdateNameModalMutation.graphql.js.map +0 -1
  285. package/dist/esm/components/profile/__generated__/ProfileUpdatePasswordModalMutation.graphql.js.map +0 -1
  286. package/dist/esm/components/profile/__generated__/ProtectedWrapperQuery.graphql.js.map +0 -1
  287. package/dist/esm/components/session/SessionDrawer.js +0 -39
  288. package/dist/esm/components/session/SessionDrawer.js.map +0 -1
  289. package/dist/esm/components/session/SessionDrawerContent.js.map +0 -1
  290. package/dist/esm/components/session/SessionList.js.map +0 -1
  291. package/dist/esm/components/session/SessionListItem.js.map +0 -1
  292. package/dist/esm/components/session/SessionListSkeleton.js +0 -31
  293. package/dist/esm/components/session/SessionListSkeleton.js.map +0 -1
  294. package/dist/esm/components/session/__generated__/SessionDrawerContentQuery.graphql.js.map +0 -1
  295. package/dist/esm/components/session/__generated__/SessionListDestroyAllOtherSessionsMutation.graphql.js.map +0 -1
  296. package/dist/esm/components/session/__generated__/SessionListItemDestroySessionMutation.graphql.js.map +0 -1
  297. package/dist/esm/components/session/__generated__/SessionListItem_session.graphql.js.map +0 -1
  298. package/dist/esm/components/session/__generated__/SessionListRefetchQuery.graphql.js.map +0 -1
  299. package/dist/esm/components/session/__generated__/SessionList_sessions.graphql.js.map +0 -1
  300. package/dist/esm/components/session/formatDate.js.map +0 -1
  301. package/dist/esm/components/session/getLastSeen.js.map +0 -1
  302. package/dist/esm/components/shared/ButtonUpdate.js.map +0 -1
  303. package/dist/esm/components/shared/ErrorResult.js.map +0 -1
  304. package/dist/esm/components/shared/FormError.js.map +0 -1
  305. package/dist/esm/components/shared/MainLoader.js.map +0 -1
  306. package/dist/esm/components/shared/icons/AndroidIcon.js +0 -11
  307. package/dist/esm/components/shared/icons/AndroidIcon.js.map +0 -1
  308. package/dist/esm/components/shared/icons/AppleIcon.js +0 -11
  309. package/dist/esm/components/shared/icons/AppleIcon.js.map +0 -1
  310. package/dist/esm/components/shared/icons/BrowserIcon.js +0 -11
  311. package/dist/esm/components/shared/icons/BrowserIcon.js.map +0 -1
  312. package/dist/esm/components/shared/icons/ProfileIcon.js +0 -11
  313. package/dist/esm/components/shared/icons/ProfileIcon.js.map +0 -1
  314. package/dist/esm/components/shared/icons/UnknownDeviceIcon.js +0 -11
  315. package/dist/esm/components/shared/icons/UnknownDeviceIcon.js.map +0 -1
  316. package/dist/esm/index.js.map +0 -1
  317. package/dist/esm/utils/getError.js.map +0 -1
  318. package/dist/esm/utils/getUserFullName.js.map +0 -1
  319. package/dist/esm/utils/handleFormErrors.js.map +0 -1
  320. package/dist/types/components/profile/ProfileButton.d.ts.map +0 -1
  321. package/dist/types/components/profile/ProfileConfigContext.d.ts.map +0 -1
  322. package/dist/types/components/profile/ProfileContext.d.ts.map +0 -1
  323. package/dist/types/components/profile/ProfileDrawer.d.ts.map +0 -1
  324. package/dist/types/components/profile/ProfileDrawerContent.d.ts.map +0 -1
  325. package/dist/types/components/profile/ProfileNavigationItem.d.ts.map +0 -1
  326. package/dist/types/components/profile/ProfileUpdateNameModal.d.ts.map +0 -1
  327. package/dist/types/components/profile/ProfileUpdatePasswordModal.d.ts.map +0 -1
  328. package/dist/types/components/profile/ProtectedWrapper.d.ts.map +0 -1
  329. package/dist/types/components/profile/UserAvatar.d.ts.map +0 -1
  330. package/dist/types/components/profile/UserAvatarAddon.d.ts.map +0 -1
  331. package/dist/types/components/profile/__generated__/ProfileDrawerContentSignOutMutation.graphql.d.ts.map +0 -1
  332. package/dist/types/components/profile/__generated__/ProfileDrawerContentUpdateAvatarMutation.graphql.d.ts.map +0 -1
  333. package/dist/types/components/profile/__generated__/ProfileUpdateNameModalMutation.graphql.d.ts.map +0 -1
  334. package/dist/types/components/profile/__generated__/ProfileUpdatePasswordModalMutation.graphql.d.ts.map +0 -1
  335. package/dist/types/components/profile/__generated__/ProtectedWrapperQuery.graphql.d.ts.map +0 -1
  336. package/dist/types/components/session/SessionDrawer.d.ts.map +0 -1
  337. package/dist/types/components/session/SessionDrawerContent.d.ts.map +0 -1
  338. package/dist/types/components/session/SessionList.d.ts.map +0 -1
  339. package/dist/types/components/session/SessionListItem.d.ts.map +0 -1
  340. package/dist/types/components/session/SessionListSkeleton.d.ts.map +0 -1
  341. package/dist/types/components/session/__generated__/SessionDrawerContentQuery.graphql.d.ts.map +0 -1
  342. package/dist/types/components/session/__generated__/SessionListDestroyAllOtherSessionsMutation.graphql.d.ts.map +0 -1
  343. package/dist/types/components/session/__generated__/SessionListItemDestroySessionMutation.graphql.d.ts.map +0 -1
  344. package/dist/types/components/session/__generated__/SessionListItem_session.graphql.d.ts.map +0 -1
  345. package/dist/types/components/session/__generated__/SessionListRefetchQuery.graphql.d.ts.map +0 -1
  346. package/dist/types/components/session/__generated__/SessionList_sessions.graphql.d.ts.map +0 -1
  347. package/dist/types/components/session/formatDate.d.ts.map +0 -1
  348. package/dist/types/components/session/getLastSeen.d.ts +0 -3
  349. package/dist/types/components/session/getLastSeen.d.ts.map +0 -1
  350. package/dist/types/components/shared/ButtonUpdate.d.ts.map +0 -1
  351. package/dist/types/components/shared/ErrorResult.d.ts.map +0 -1
  352. package/dist/types/components/shared/FormError.d.ts.map +0 -1
  353. package/dist/types/components/shared/MainLoader.d.ts.map +0 -1
  354. package/dist/types/components/shared/icons/AndroidIcon.d.ts.map +0 -1
  355. package/dist/types/components/shared/icons/AppleIcon.d.ts.map +0 -1
  356. package/dist/types/components/shared/icons/BrowserIcon.d.ts.map +0 -1
  357. package/dist/types/components/shared/icons/ProfileIcon.d.ts.map +0 -1
  358. package/dist/types/components/shared/icons/UnknownDeviceIcon.d.ts.map +0 -1
  359. package/dist/types/index.d.ts.map +0 -1
  360. package/dist/types/utils/getError.d.ts.map +0 -1
  361. package/dist/types/utils/getUserFullName.d.ts.map +0 -1
  362. package/dist/types/utils/handleFormErrors.d.ts.map +0 -1
  363. /package/dist/{types/components → components}/profile/ProfileConfigContext.d.ts +0 -0
  364. /package/dist/{types/components → components}/profile/ProfileContext.d.ts +0 -0
  365. /package/dist/{types/components → components}/profile/ProfileUpdateNameModal.d.ts +0 -0
  366. /package/dist/{types/components → components}/profile/ProfileUpdatePasswordModal.d.ts +0 -0
  367. /package/dist/{types/components → components}/profile/ProtectedWrapper.d.ts +0 -0
  368. /package/dist/{types/components → components}/session/SessionDrawerContent.d.ts +0 -0
  369. /package/dist/{types/components → components}/session/SessionListSkeleton.d.ts +0 -0
  370. /package/dist/{types/components → components}/shared/ErrorResult.d.ts +0 -0
  371. /package/dist/{types/components → components}/shared/FormError.d.ts +0 -0
  372. /package/dist/{types/components → components}/shared/MainLoader.d.ts +0 -0
  373. /package/dist/{types/index.d.ts → index.d.ts} +0 -0
  374. /package/dist/{types/utils → utils}/getError.d.ts +0 -0
  375. /package/dist/{types/utils → utils}/getUserFullName.d.ts +0 -0
@@ -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
@@ -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"}
@@ -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"}
@@ -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(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
17
- function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
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 && Object.prototype.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","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_taggedTemplateLiteral","strings","raw","slice","freeze","defineProperties","value","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","defineProperty","getOwnPropertyDescriptor","u","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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"}
@@ -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(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
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 && Object.prototype.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","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","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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"}
@@ -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 && Object.prototype.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(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
- function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
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","prototype","hasOwnProperty","call","i","set","obj","_taggedTemplateLiteral","strings","raw","slice","freeze","defineProperties","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":"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"}
@@ -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(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
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 && Object.prototype.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(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
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","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_taggedTemplateLiteral","strings","raw","slice","freeze","defineProperties","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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"}