page.stories.js 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. import useFetchMock from '../hooks/use-fetch-mock'
  2. import SettingsPageRoot from '../../js/features/settings/components/root'
  3. import {
  4. setDefaultMeta as setDefaultLeaveMeta,
  5. defaultSetupMocks as defaultSetupLeaveMocks,
  6. } from './helpers/leave'
  7. import {
  8. setDefaultMeta as setDefaultAccountInfoMeta,
  9. defaultSetupMocks as defaultSetupAccountInfoMocks,
  10. } from './helpers/account-info'
  11. import {
  12. setDefaultMeta as setDefaultPasswordMeta,
  13. defaultSetupMocks as defaultSetupPasswordMocks,
  14. } from './helpers/password'
  15. import {
  16. setDefaultMeta as setDefaultEmailsMeta,
  17. defaultSetupMocks as defaultSetupEmailsMocks,
  18. } from './helpers/emails'
  19. import {
  20. setDefaultMeta as setDefaultLinkingMeta,
  21. defaultSetupMocks as defaultSetupLinkingMocks,
  22. setPersonalAccessTokensMeta,
  23. } from './helpers/linking'
  24. import { UserProvider } from '../../js/shared/context/user-context'
  25. import { ScopeDecorator } from '../decorators/scope'
  26. export const Overleaf = args => {
  27. setDefaultLeaveMeta()
  28. setDefaultAccountInfoMeta()
  29. setDefaultPasswordMeta()
  30. setDefaultEmailsMeta()
  31. setDefaultLinkingMeta()
  32. useFetchMock(fetchMock => {
  33. defaultSetupLeaveMocks(fetchMock)
  34. defaultSetupAccountInfoMocks(fetchMock)
  35. defaultSetupPasswordMocks(fetchMock)
  36. defaultSetupEmailsMocks(fetchMock)
  37. defaultSetupLinkingMocks(fetchMock)
  38. })
  39. return (
  40. <UserProvider>
  41. <SettingsPageRoot {...args} />
  42. </UserProvider>
  43. )
  44. }
  45. export const OverleafWithAccessTokens = args => {
  46. setPersonalAccessTokensMeta()
  47. return Overleaf(args)
  48. }
  49. export const ServerPro = args => {
  50. setDefaultAccountInfoMeta()
  51. setDefaultPasswordMeta()
  52. setPersonalAccessTokensMeta()
  53. useFetchMock(fetchMock => {
  54. defaultSetupAccountInfoMocks(fetchMock)
  55. defaultSetupPasswordMocks(fetchMock)
  56. })
  57. window.metaAttributesCache.set('ol-ExposedSettings', {
  58. ...window.metaAttributesCache.get('ol-ExposedSettings'),
  59. hasAffiliationsFeature: false,
  60. isOverleaf: false,
  61. })
  62. window.metaAttributesCache.set('integrationLinkingWidgets', [])
  63. window.metaAttributesCache.set('referenceLinkingWidgets', [])
  64. window.metaAttributesCache.delete('ol-oauthProviders')
  65. return (
  66. <UserProvider>
  67. <SettingsPageRoot {...args} />
  68. </UserProvider>
  69. )
  70. }
  71. export default {
  72. title: 'Account Settings / Full Page',
  73. component: SettingsPageRoot,
  74. decorators: [ScopeDecorator],
  75. }