page.stories.js 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  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. } from './helpers/linking'
  23. import { UserProvider } from '../../js/shared/context/user-context'
  24. import { ScopeDecorator } from '../decorators/scope'
  25. export const Overleaf = args => {
  26. setDefaultLeaveMeta()
  27. setDefaultAccountInfoMeta()
  28. setDefaultPasswordMeta()
  29. setDefaultEmailsMeta()
  30. setDefaultLinkingMeta()
  31. useFetchMock(fetchMock => {
  32. defaultSetupLeaveMocks(fetchMock)
  33. defaultSetupAccountInfoMocks(fetchMock)
  34. defaultSetupPasswordMocks(fetchMock)
  35. defaultSetupEmailsMocks(fetchMock)
  36. defaultSetupLinkingMocks(fetchMock)
  37. })
  38. return (
  39. <UserProvider>
  40. <SettingsPageRoot {...args} />
  41. </UserProvider>
  42. )
  43. }
  44. export const ServerPro = args => {
  45. setDefaultAccountInfoMeta()
  46. setDefaultPasswordMeta()
  47. useFetchMock(fetchMock => {
  48. defaultSetupAccountInfoMocks(fetchMock)
  49. defaultSetupPasswordMocks(fetchMock)
  50. })
  51. window.metaAttributesCache.set('ol-ExposedSettings', {
  52. ...window.metaAttributesCache.get('ol-ExposedSettings'),
  53. hasAffiliationsFeature: false,
  54. isOverleaf: false,
  55. })
  56. window.metaAttributesCache.set('integrationLinkingWidgets', [])
  57. window.metaAttributesCache.set('referenceLinkingWidgets', [])
  58. window.metaAttributesCache.delete('ol-oauthProviders')
  59. return (
  60. <UserProvider>
  61. <SettingsPageRoot {...args} />
  62. </UserProvider>
  63. )
  64. }
  65. export default {
  66. title: 'Account Settings / Full Page',
  67. component: SettingsPageRoot,
  68. decorators: [ScopeDecorator],
  69. }