From 29792bc35f33b6da98bf1ee926853501c3ee046e Mon Sep 17 00:00:00 2001 From: Chris McGravey Date: Wed, 14 Sep 2022 18:59:54 -0500 Subject: [PATCH] Add option to select a default language --- src/pages/_app.jsx | 15 ++++++++++++--- src/pages/api/settings.js | 7 +++++++ 2 files changed, 19 insertions(+), 3 deletions(-) create mode 100644 src/pages/api/settings.js diff --git a/src/pages/_app.jsx b/src/pages/_app.jsx index d4a21131..9bf1d3c0 100644 --- a/src/pages/_app.jsx +++ b/src/pages/_app.jsx @@ -1,17 +1,26 @@ /* eslint-disable react/jsx-props-no-spreading */ -import { SWRConfig } from "swr"; +import useSWR, { SWRConfig } from "swr"; import "styles/globals.css"; import "styles/weather-icons.css"; import "styles/theme.css"; -import "utils/i18n"; +import i18n from "utils/i18n"; + +const swr = (resource, init) => fetch(resource, init).then((res) => res.json()); function MyApp({ Component, pageProps }) { + const { data } = useSWR(`/api/settings`, swr); + console.log(data); + if (data?.language) { + console.log("custom language"); + i18n.changeLanguage(data.language); + } + return ( fetch(resource, init).then((res) => res.json()), + fetcher: swr, }} > diff --git a/src/pages/api/settings.js b/src/pages/api/settings.js new file mode 100644 index 00000000..fe006ec8 --- /dev/null +++ b/src/pages/api/settings.js @@ -0,0 +1,7 @@ +import { getSettings } from "utils/config"; + +export default async function handler(req, res) { + const settings = await getSettings(); + + return res.send(settings); +}