Skip to content

Commit f1049aa

Browse files
authored
Merge branch 'develop' into fix/pwa-banner
2 parents 32e7cd8 + d4ce533 commit f1049aa

33 files changed

+1597
-596
lines changed

app/[locale]/therapy/book-session/BookTherapyPage.tsx

Lines changed: 256 additions & 102 deletions
Large diffs are not rendered by default.
Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,34 @@
1+
import NoDataAvailable from '@/components/common/NoDataAvailable';
2+
import { getStoryblokStory } from '@/lib/storyblok';
13
import { generateMetadataBasic } from '@/lib/utils/generateMetadataBase';
2-
import { getTranslations } from 'next-intl/server';
34
import BookTherapyPage from './BookTherapyPage';
45

56
type Params = Promise<{ locale: string }>;
67

8+
async function getStory(locale: string) {
9+
return await getStoryblokStory('therapy/book-session', locale);
10+
}
11+
712
export async function generateMetadata({ params }: { params: Params }) {
813
const { locale } = await params;
9-
const t = await getTranslations({ locale, namespace: 'Therapy' });
14+
const story = await getStory(locale);
15+
if (!story) return;
1016

11-
return generateMetadataBasic({ title: t('title') });
17+
return generateMetadataBasic({
18+
title: story.content.title,
19+
description: story.content.seo_description,
20+
});
1221
}
1322

14-
export default function Page() {
15-
return <BookTherapyPage />;
23+
export default async function Page({ params }: { params: Promise<{ locale: string }> }) {
24+
const { locale } = await params;
25+
const story = await getStory(locale);
26+
27+
if (!story) {
28+
return <NoDataAvailable />;
29+
}
30+
31+
return <BookTherapyPage story={story} />;
1632
}
33+
34+
export const revalidate = 14400; // invalidate every 4 hours

app/[locale]/therapy/confirmed-session/ConfirmedTherapyPage.tsx

Lines changed: 0 additions & 98 deletions
This file was deleted.

app/[locale]/therapy/confirmed-session/page.tsx

Lines changed: 0 additions & 16 deletions
This file was deleted.

components/common/Faqs.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,11 @@ const Faqs = (props: FaqsProps) => {
3939
return (
4040
<Box>
4141
{faqList.map((faq, i) => (
42-
<Accordion key={`panel${i}`} onChange={handleChange(faq.title)}>
42+
<Accordion
43+
key={`panel${i}`}
44+
onChange={handleChange(faq.title)}
45+
sx={{ backgroundColor: 'secondary.light' }}
46+
>
4347
<AccordionSummary
4448
expandIcon={<ExpandMoreIcon />}
4549
aria-controls={`panel${i}-content`}

components/common/ImageTextGrid.tsx renamed to components/common/ImageTextRow.tsx

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,19 +12,20 @@ export interface ImageTextItem {
1212
illustrationAlt: string;
1313
}
1414

15-
interface ImageTextGridProps {
15+
interface ImageTextRowProps {
1616
items: Array<ImageTextItem>;
1717
translations: string;
1818
}
1919

2020
const containerStyle = {
2121
...rowStyle,
22-
width: { xs: '100%', md: '60%' },
22+
width: 'calc(100% + 2rem)',
23+
mx: '-1rem',
2324
} as const;
2425

2526
const itemContainerStyle = {
2627
position: 'relative',
27-
width: { xs: '100%', sm: '50%' },
28+
width: { xs: '100%', sm: '50%', md: '25%' },
2829
paddingX: 2,
2930
paddingY: 1,
3031
alignText: 'center',
@@ -34,13 +35,13 @@ const imageContainerStyle = {
3435
position: 'relative',
3536
width: 100,
3637
height: 100,
37-
marginY: 3,
38+
marginY: '1rem !important',
3839
marginX: 'auto',
3940

4041
...richtextContentStyle,
4142
} as const;
4243

43-
const ImageTextGrid = (props: ImageTextGridProps) => {
44+
const ImageTextRow = (props: ImageTextRowProps) => {
4445
const { items, translations } = props;
4546

4647
const t = useTranslations(translations);
@@ -61,11 +62,11 @@ const ImageTextGrid = (props: ImageTextGridProps) => {
6162
}}
6263
/>
6364
</Box>
64-
<Typography>{t(item.text)}</Typography>
65+
<Typography variant="body2">{t(item.text)}</Typography>
6566
</Box>
6667
))}
6768
</Box>
6869
);
6970
};
7071

71-
export default ImageTextGrid;
72+
export default ImageTextRow;

components/pages/CoursesPage.tsx

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import theme from '@/styles/theme';
1818
import { Box, Container, Grid, Typography, useMediaQuery } from '@mui/material';
1919
import { ISbStoryData } from '@storyblok/react/rsc';
2020
import Cookies from 'js-cookie';
21-
import { useLocale, useTranslations } from 'next-intl';
21+
import { useTranslations } from 'next-intl';
2222
import { useSearchParams } from 'next/navigation';
2323
import { useCallback, useEffect, useState } from 'react';
2424
import ResourceCarousel from '../common/ResourceCarousel';
@@ -35,8 +35,6 @@ interface Props {
3535
shorts: ISbStoryData[];
3636
}
3737
export default function CoursesPage({ courseStories, conversations, shorts }: Props) {
38-
const locale = useLocale();
39-
4038
const [loadedCourses, setLoadedCourses] = useState<ISbStoryData[] | null>(null);
4139
const [loadedShorts, setLoadedShorts] = useState<ISbStoryData[] | null>(null);
4240
const [coursesStarted, setCoursesStarted] = useState<Array<string>>([]);
@@ -60,14 +58,6 @@ export default function CoursesPage({ courseStories, conversations, shorts }: Pr
6058

6159
const t = useTranslations('Courses');
6260

63-
const slidesPerView = {
64-
xs: 1,
65-
sm: 2,
66-
md: 3,
67-
lg: 3,
68-
xl: 3,
69-
};
70-
7161
const headerProps = {
7262
title: t('title'),
7363
introduction: t('introduction'),

components/pages/NotesPage.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import { SignUpBanner } from '@/components/banner/SignUpBanner';
44
import ImageTextColumn from '@/components/common/ImageTextColumn';
5-
import { ImageTextItem } from '@/components/common/ImageTextGrid';
5+
import { ImageTextItem } from '@/components/common/ImageTextRow';
66
import WhatsappSubscribeForm from '@/components/forms/WhatsappSubscribeForm';
77
import WhatsappUnsubscribeForm from '@/components/forms/WhatsappUnsubscribeForm';
88
import Header, { HeaderProps } from '@/components/layout/Header';

components/storyblok/StoryblokAccordion.tsx

Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ const containerStyle = {
3131

3232
const accordionDetail = {
3333
textAlign: 'left',
34-
backgroundColor: 'rgba(0, 0, 0, 0.09)',
3534
} as const;
3635

3736
const themes = {
@@ -42,27 +41,10 @@ const themes = {
4241
display: 'none',
4342
},
4443
},
45-
'&.Mui-expanded': {
46-
'& .MuiAccordionDetails-root': {
47-
borderTop: '1px solid rgba(0, 0, 0, 0.08)',
48-
},
49-
},
5044
}, // uses default styling
5145
secondary: {
5246
'& .MuiAccordionSummary-expandIconWrapper': { color: 'primary.dark' },
5347
backgroundColor: 'paleSecondaryLight',
54-
'&.MuiAccordion-root': {
55-
margin: 0,
56-
'&:before': {
57-
display: 'none',
58-
},
59-
},
60-
'&.Mui-expanded': {
61-
'& .MuiAccordionDetails-root': {
62-
backgroundColor: 'rgba(0, 0, 0, 0.09)',
63-
borderTop: '1px solid rgba(0, 0, 0, 0.08)',
64-
},
65-
},
6648
},
6749
};
6850

@@ -113,6 +95,7 @@ const StoryblokAccordion = (props: StoryblokAccordionProps) => {
11395
<Box sx={containerStyle} {...storyblokEditable({ _uid, _editable, accordion_items, theme })}>
11496
{accordion_items.map((ai, i) => (
11597
<Accordion
98+
data-testid="accordion-item"
11699
id={ai.accordion_id ?? undefined}
117100
ref={ai.accordion_id === accordionInUrl ? scrollRef : undefined}
118101
key={`panel${i}`}

components/storyblok/StoryblokTeamMemberCard.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import { useState } from 'react';
1313
import { render } from 'storyblok-rich-text-react-renderer';
1414

1515
const cardStyle = {
16+
textAlign: 'left',
1617
alignSelf: 'flex-start',
1718
width: '100%',
1819
backgroundColor: 'background.default',
@@ -78,7 +79,7 @@ const StoryblokTeamMemberCard = (props: StoryblokTeamMemberCardProps) => {
7879

7980
return (
8081
<Card
81-
data-testid="TeamMemberCard"
82+
data-testid="team-member-card"
8283
sx={cardStyle}
8384
{...storyblokEditable({
8485
_uid,

components/storyblok/StoryblokTeamMembersCards.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ const cardColumnStyle = {
1414

1515
const cardColumnRowStyle = {
1616
...rowStyle,
17+
width: '100%',
1718
marginTop: { xs: 2, md: 5 },
1819
} as const;
1920

@@ -38,7 +39,7 @@ const StoryblokTeamMembersCards = (props: StoryblokTeamMembersCardsProps) => {
3839
<Box sx={cardColumnStyle}>
3940
{leftTeamMemberCards.map((teamMemberCard) => (
4041
<StoryblokTeamMemberCard
41-
key={`${teamMemberCard.name}_team_member`}
42+
key={`${teamMemberCard._uid}_team_member`}
4243
{...teamMemberCard}
4344
cardExpandable={cards_expandable}
4445
/>
@@ -47,7 +48,7 @@ const StoryblokTeamMembersCards = (props: StoryblokTeamMembersCardsProps) => {
4748
<Box sx={cardColumnStyle}>
4849
{rightTeamMemberCards.map((teamMemberCard) => (
4950
<StoryblokTeamMemberCard
50-
key={`${teamMemberCard.name}_team_member`}
51+
key={`${teamMemberCard._uid}_team_member`}
5152
{...teamMemberCard}
5253
cardExpandable={cards_expandable}
5354
/>

0 commit comments

Comments
 (0)