overleaf-cep/services/web/frontend/stories/settings/account-info.stories.jsx
Rebeka Dekany 562ef81389 Cleanup Bootstrap 3 code in the Account settings page (#24058)
* Remove the Bootstrap 5 version utilities

* Remove Account settings LESS stylesheet and unused styles

* Prefer using the OLFormText wrapper component instead of FormText

* Remove the Bootstrap 3 version stories

* Replace Font Awesome icons to Material icons

* Fix the heading hierarchy

* Cleanup unused translation

* Restore ellipsis to the text of two loading spinners

* Add loading button tests back and add some button loading labels

---------

Co-authored-by: Tim Down <158919+timdown@users.noreply.github.com>
GitOrigin-RevId: 283a9167c8c78bf0fe5062840ded6917dcd6263b
2025-03-24 10:49:33 +00:00

58 lines
1.4 KiB
JavaScript

import useFetchMock from '../hooks/use-fetch-mock'
import AccountInfoSection from '../../js/features/settings/components/account-info-section'
import { setDefaultMeta, defaultSetupMocks } from './helpers/account-info'
import { UserProvider } from '../../js/shared/context/user-context'
import getMeta from '@/utils/meta'
export const Success = args => {
setDefaultMeta()
useFetchMock(defaultSetupMocks)
return (
<UserProvider>
<AccountInfoSection {...args} />
</UserProvider>
)
}
export const ReadOnly = args => {
setDefaultMeta()
window.metaAttributesCache.set('ol-isExternalAuthenticationSystemUsed', true)
window.metaAttributesCache.set('ol-shouldAllowEditingDetails', false)
return (
<UserProvider>
<AccountInfoSection {...args} />
</UserProvider>
)
}
export const NoEmailInput = args => {
setDefaultMeta()
Object.assign(getMeta('ol-ExposedSettings'), {
hasAffiliationsFeature: true,
})
useFetchMock(defaultSetupMocks)
return (
<UserProvider>
<AccountInfoSection {...args} />
</UserProvider>
)
}
export const Error = args => {
setDefaultMeta()
useFetchMock(fetchMock => fetchMock.post(/\/user\/settings/, 500))
return (
<UserProvider>
<AccountInfoSection {...args} />
</UserProvider>
)
}
export default {
title: 'Account Settings / Account Info',
component: AccountInfoSection,
}