1
0
Fork 0
freesewing/sites/org/components/buttons/save-settings-button.mjs

34 lines
955 B
JavaScript
Raw Normal View History

import { Spinner } from 'shared/components/spinner.mjs'
import { useTranslation } from 'next-i18next'
2023-02-19 20:58:06 +01:00
export const SaveSettingsButton = ({ app, btnProps = {}, welcome = false, label = false }) => {
const { t } = useTranslation(['account'])
let classes = 'btn mt-4 capitalize '
if (welcome) {
classes += 'w-64 '
2023-03-24 21:30:04 +01:00
if (app.state.loading) classes += 'btn-accent '
else classes += 'btn-secondary '
} else {
classes += 'w-full '
2023-03-24 21:30:04 +01:00
if (app.state.loading) classes += 'btn-accent '
else classes += 'btn-primary '
}
return (
<button className={classes} tabIndex="-1" role="button" {...btnProps}>
<span className="flex flex-row items-center gap-2">
2023-03-24 21:30:04 +01:00
{app.state.loading ? (
<>
<Spinner />
<span>{t('processing')}</span>
</>
2023-02-18 16:11:02 +01:00
) : label ? (
<span>{label}</span>
) : (
<span>{t('save')}</span>
)}
</span>
</button>
)
}