From 21227972127191b24be3309e47cefaad2f3676dd Mon Sep 17 00:00:00 2001 From: Martin Starosta Date: Mon, 26 Jun 2023 10:30:57 +0200 Subject: [PATCH] Fix UK switch in stories (#323) Co-authored-by: Martin Starosta --- components/basecomponents/StoryReader.tsx | 6 ++++++ pages/kids/stories/[story].tsx | 3 ++- pages/kids/stories/pdf/[storyId].tsx | 3 ++- pages/kiosk/stories/[story].tsx | 3 ++- 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/components/basecomponents/StoryReader.tsx b/components/basecomponents/StoryReader.tsx index 4518420a..d06c7977 100644 --- a/components/basecomponents/StoryReader.tsx +++ b/components/basecomponents/StoryReader.tsx @@ -31,6 +31,12 @@ const StoryReader = ({ titleCurrent, titleOther, id, phrases }: StoryReaderProps const handleLanguageChange = (language: Language) => { const ukCurrent = language === 'uk'; const currentTime = audio.current?.currentTime || 0; + + if (phrases.length === 0) { + console.log('No phrases provided to StoryReader.'); + return; + } + if ((ukCurrent && currentTime < phrases[0].start_uk) || (!ukCurrent && currentTime < phrases[0].start_cs)) { /*if this function is launched before the first phrase starts, which is usually at about fifteenth second, we want to play the story from the beginning, and that is why we use this condition */ diff --git a/pages/kids/stories/[story].tsx b/pages/kids/stories/[story].tsx index 303f57a4..08f32a2c 100644 --- a/pages/kids/stories/[story].tsx +++ b/pages/kids/stories/[story].tsx @@ -96,8 +96,9 @@ export const getStaticPaths: GetStaticPaths = async () => { export const getStaticProps: GetStaticProps = async ({ params, locale }) => { const storyId = params?.story ?? ''; const story = stories.find((s) => s.slug === storyId); + const storyLocale = getCountryVariant(); - const phrases = await getStoryData((locale as Language) ?? 'cs', String(story?.slug)); + const phrases = await getStoryData(storyLocale ?? 'cs', String(story?.slug)); return { props: { story, phrases, ...(await serverSideTranslations(locale ?? 'cs', ['common'])) }, diff --git a/pages/kids/stories/pdf/[storyId].tsx b/pages/kids/stories/pdf/[storyId].tsx index b45cce21..3ec38823 100644 --- a/pages/kids/stories/pdf/[storyId].tsx +++ b/pages/kids/stories/pdf/[storyId].tsx @@ -110,6 +110,7 @@ export const getStaticPaths: GetStaticPaths = async () => { export const getStaticProps: GetStaticProps = async ({ params, locale }) => { const storyId = params?.storyId ?? ''; const story = stories.find((s) => s.slug === storyId); + const storyLocale = getCountryVariant(); if (!story) { return { @@ -119,7 +120,7 @@ export const getStaticProps: GetStaticProps = async ({ params, locale }) => { let storyData: StoryPhrase[] = []; try { - storyData = await getStoryData((locale as Language) ?? 'cs', story.slug); + storyData = await getStoryData(storyLocale ?? 'cs', String(story?.slug)); } catch (err) { console.error(err); } diff --git a/pages/kiosk/stories/[story].tsx b/pages/kiosk/stories/[story].tsx index 12685f3d..27391077 100644 --- a/pages/kiosk/stories/[story].tsx +++ b/pages/kiosk/stories/[story].tsx @@ -68,8 +68,9 @@ export const getStaticPaths: GetStaticPaths = async () => { export const getStaticProps: GetStaticProps = async ({ params, locale }) => { const storyId = params?.story ?? ''; const story = stories.find((s) => s.slug === storyId); + const storyLocale = getCountryVariant(); - const phrases = await getStoryData((locale as Language) ?? 'cs', String(story?.slug)); + const phrases = await getStoryData(storyLocale ?? 'cs', String(story?.slug)); return { props: { story, phrases, ...(await serverSideTranslations(locale ?? 'cs', ['common'])) },