Skip to content

Commit 2c4b3c0

Browse files
committed
feat(live-view): integrate useDocumentTitleUpdater and enhance TalkCard props with openFeedbackId
1 parent 07e0974 commit 2c4b3c0

File tree

2 files changed

+19
-13
lines changed

2 files changed

+19
-13
lines changed

src/views/Talks/LiveView.tsx

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import { Link } from "react-router-dom";
1313
import { ROUTE_SCHEDULE } from "@constants/routes";
1414
// @ts-expect-error some quirky import
1515
import { AnimatePresence } from "framer-motion";
16+
import { useDocumentTitleUpdater } from "@hooks/useDocumentTitleUpdate";
1617

1718
export const LiveView: FC<React.PropsWithChildren<unknown>> = () => {
1819
const { isLoading, error, data } = useFetchLiveView();
@@ -40,10 +41,7 @@ export const LiveView: FC<React.PropsWithChildren<unknown>> = () => {
4041
return data?.filter(getPredicate());
4142
}, [data, getPredicate]);
4243

43-
useEffect(() => {
44-
document.title = `Live view - ${conference.title} - ${conference.edition} Edition`;
45-
}, []);
46-
44+
useDocumentTitleUpdater("Live View", conference.edition);
4745
useSentryErrorReport(error);
4846

4947
return (
@@ -68,7 +66,11 @@ export const LiveView: FC<React.PropsWithChildren<unknown>> = () => {
6866
</p>
6967
)}
7068
{filteredTalks?.map((session) => (
71-
<TalkCard key={session.id} {...talkCardAdapter(session)} />
69+
<TalkCard
70+
key={session.id}
71+
{...talkCardAdapter(session)}
72+
openFeedbackId={conference.openFeedbackId}
73+
/>
7274
))}
7375
</AnimatePresence>
7476
</StyledAgenda>

src/views/Talks/TalkCardAdapter.ts

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,20 @@
1-
import {UngroupedSession} from "./liveView.types";
2-
import {TalkCardProps} from "./components/TalkCard";
1+
import { UngroupedSession } from "./liveView.types";
2+
import { TalkCardProps } from "./components/TalkCard";
33

44
import {
55
QuestionAnswers,
66
SessionCategory,
7-
SessionSpeaker
8-
} from "../../types/sessions";
7+
SessionSpeaker,
8+
} from "@/types/sessions";
99

10-
export const talkCardAdapter = (session: UngroupedSession, year: string = "2024"): TalkCardProps => {
10+
export const talkCardAdapter = (
11+
session: UngroupedSession,
12+
year: string = "2024",
13+
): TalkCardProps => {
1114
return {
15+
openFeedbackId: "",
1216
talk: {
13-
id: parseInt(session.id),
17+
id: session.id,
1418
title: session.title,
1519
talkImage: 1,
1620
speakers: session.speakers.map((speaker) => ({
@@ -20,7 +24,7 @@ export const talkCardAdapter = (session: UngroupedSession, year: string = "2024"
2024
level: "Beginner",
2125
link: "",
2226
tags: [],
23-
track: session.room,
27+
track: session.room ?? "Main Stage",
2428
categories: session.categories.map((category) => ({
2529
id: category.id,
2630
name: category.name,
@@ -33,6 +37,6 @@ export const talkCardAdapter = (session: UngroupedSession, year: string = "2024"
3337
})) as QuestionAnswers[],
3438
},
3539
year,
36-
showTrack: true, // Default value, adjust as necessary
40+
showTrack: true,
3741
};
3842
};

0 commit comments

Comments
 (0)