import { ErrorPage } from 'components/error.page' import { LoadingPage } from 'components/loading.page' import { NextPage } from 'next' import { useRouter } from 'next/router' import React, { useEffect } from 'react' import { useTranslation } from 'react-i18next' import { CardLayout } from '../../../components/form/layouts/card' import { SliderLayout } from '../../../components/form/layouts/slider' import { useSubmission } from '../../../components/use.submission' import { useFormPublicQuery } from '../../../graphql/query/form.public.query' const Index: NextPage = () => { const { t, i18n } = useTranslation() const router = useRouter() const submission = useSubmission(router.query.id as string) const { loading, data, error } = useFormPublicQuery({ variables: { id: router.query.id as string, }, }) useEffect(() => { // check form language to switch to! if (!data) { return } if (i18n.language !== data.form.language) { // TODO prompt for language change if is not a match! i18n .changeLanguage(data.form.language) .catch((e: Error) => console.error('failed to change language', e)) } }, [data]) if (loading) { return } if (error) { return } switch (data.form.design.layout) { case 'card': return case 'slider': default: return } } export default Index