page.stories.jsx 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  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. import getMeta from '@/utils/meta'
  27. export const Overleaf = args => {
  28. setDefaultLeaveMeta()
  29. setDefaultAccountInfoMeta()
  30. setDefaultPasswordMeta()
  31. setDefaultEmailsMeta()
  32. setDefaultLinkingMeta()
  33. useFetchMock(fetchMock => {
  34. defaultSetupLeaveMocks(fetchMock)
  35. defaultSetupAccountInfoMocks(fetchMock)
  36. defaultSetupPasswordMocks(fetchMock)
  37. defaultSetupEmailsMocks(fetchMock)
  38. defaultSetupLinkingMocks(fetchMock)
  39. })
  40. return (
  41. <UserProvider>
  42. <SettingsPageRoot {...args} />
  43. </UserProvider>
  44. )
  45. }
  46. export const OverleafWithAccessTokens = args => {
  47. setPersonalAccessTokensMeta()
  48. return Overleaf(args)
  49. }
  50. export const ServerPro = args => {
  51. setDefaultAccountInfoMeta()
  52. setDefaultPasswordMeta()
  53. setPersonalAccessTokensMeta()
  54. useFetchMock(fetchMock => {
  55. defaultSetupAccountInfoMocks(fetchMock)
  56. defaultSetupPasswordMocks(fetchMock)
  57. })
  58. Object.assign(getMeta('ol-ExposedSettings'), {
  59. hasAffiliationsFeature: false,
  60. isOverleaf: false,
  61. })
  62. window.metaAttributesCache.set('ol-hideLinkingWidgets', true)
  63. window.metaAttributesCache.delete('ol-oauthProviders')
  64. return (
  65. <UserProvider>
  66. <SettingsPageRoot {...args} />
  67. </UserProvider>
  68. )
  69. }
  70. export default {
  71. title: 'Account Settings / Full Page',
  72. component: SettingsPageRoot,
  73. decorators: [ScopeDecorator],
  74. }