// Dependencies import { serverSideTranslations } from 'next-i18next/serverSideTranslations' // Hooks import { useTranslation } from 'next-i18next' import { useAccount } from 'shared/hooks/use-account.mjs' // Components import { PageWrapper, ns as pageNs } from 'shared/components/wrappers/page.mjs' import { ChoiceLink } from 'shared/components/choice-link.mjs' import { KeyIcon, MeasieIcon, DesignIcon, PageIcon, PluginIcon } from 'shared/components/icons.mjs' // Translation namespaces used on this page // Note that we include the account namespace here for the 'new' keyword const namespaces = [...pageNs, 'account'] /* * Each page MUST be wrapped in the PageWrapper component. * You also MUST spread props.page into this wrapper component * when path and locale come from static props (as here) * or set them manually. */ const NewIndexPage = ({ page }) => { const { t } = useTranslation(['account']) const { account } = useAccount() const control = account.control ? account.control : 99 return (

{t('newBasic')}

} href="/new/pattern" > {t('patternNewInfo')} } href="/new/set" > {t('setNewInfo')} {control > 3 ? ( <>

{t('newAdvanced')}

} href="/new/apikey" > {t('keyNewInfo')} } href="https://freesewing.dev/tutorials/pattern-design" > {t('designNewInfo')} } href="https://freesewing.dev/guides/plugins" > {t('pluginNewInfo')} ) : null}
) } export default NewIndexPage export async function getStaticProps({ locale }) { return { props: { ...(await serverSideTranslations(locale, namespaces)), page: { locale, path: ['new'], }, }, } }