fix(i18n): fix language mismatch in exported pdf
This commit is contained in:
parent
ee5b0187e2
commit
62fd63e41f
|
@ -59,6 +59,14 @@ const Preview: NextPage<Props> = ({ username, slug, resume: initialData }) => {
|
||||||
}
|
}
|
||||||
}, [dispatch, initialData]);
|
}, [dispatch, initialData]);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
if (!isEmpty(resume) && router.locale !== resume.metadata.locale) {
|
||||||
|
const { pathname, asPath, query } = router;
|
||||||
|
|
||||||
|
router.push({ pathname, query }, asPath, { locale: resume.metadata.locale });
|
||||||
|
}
|
||||||
|
}, [resume, router]);
|
||||||
|
|
||||||
useQuery<Resume>(`resume/${username}/${slug}`, () => fetchResumeByIdentifier({ username, slug }), {
|
useQuery<Resume>(`resume/${username}/${slug}`, () => fetchResumeByIdentifier({ username, slug }), {
|
||||||
initialData,
|
initialData,
|
||||||
retry: false,
|
retry: false,
|
||||||
|
|
|
@ -7,6 +7,7 @@ import get from 'lodash/get';
|
||||||
import isEmpty from 'lodash/isEmpty';
|
import isEmpty from 'lodash/isEmpty';
|
||||||
import { GetServerSideProps, NextPage } from 'next';
|
import { GetServerSideProps, NextPage } from 'next';
|
||||||
import Link from 'next/link';
|
import Link from 'next/link';
|
||||||
|
import { useRouter } from 'next/router';
|
||||||
import { serverSideTranslations } from 'next-i18next/serverSideTranslations';
|
import { serverSideTranslations } from 'next-i18next/serverSideTranslations';
|
||||||
import { useEffect } from 'react';
|
import { useEffect } from 'react';
|
||||||
import toast from 'react-hot-toast';
|
import toast from 'react-hot-toast';
|
||||||
|
@ -35,6 +36,8 @@ export const getServerSideProps: GetServerSideProps<Props> = async ({ query, loc
|
||||||
};
|
};
|
||||||
|
|
||||||
const Preview: NextPage<Props> = ({ shortId }) => {
|
const Preview: NextPage<Props> = ({ shortId }) => {
|
||||||
|
const router = useRouter();
|
||||||
|
|
||||||
const dispatch = useAppDispatch();
|
const dispatch = useAppDispatch();
|
||||||
|
|
||||||
const { data: resume } = useQuery<Resume>(`resume/${shortId}`, () => fetchResumeByShortId({ shortId }), {
|
const { data: resume } = useQuery<Resume>(`resume/${shortId}`, () => fetchResumeByShortId({ shortId }), {
|
||||||
|
@ -52,6 +55,14 @@ const Preview: NextPage<Props> = ({ shortId }) => {
|
||||||
if (resume) dispatch(setResume(resume));
|
if (resume) dispatch(setResume(resume));
|
||||||
}, [resume, dispatch]);
|
}, [resume, dispatch]);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
if (resume && !isEmpty(resume) && router.locale !== resume.metadata.locale) {
|
||||||
|
const { pathname, asPath, query } = router;
|
||||||
|
|
||||||
|
router.push({ pathname, query }, asPath, { locale: resume.metadata.locale });
|
||||||
|
}
|
||||||
|
}, [resume, router]);
|
||||||
|
|
||||||
if (!resume || isEmpty(resume)) return null;
|
if (!resume || isEmpty(resume)) return null;
|
||||||
|
|
||||||
const layout: string[][][] = get(resume, 'metadata.layout', []);
|
const layout: string[][][] = get(resume, 'metadata.layout', []);
|
||||||
|
|
Loading…
Reference in New Issue