From c7468c60a611f9ec2df4dd37175d9babcb6a0cf8 Mon Sep 17 00:00:00 2001 From: 0tuedon <90271995+0tuedon@users.noreply.github.com> Date: Mon, 13 Apr 2026 00:08:00 +0100 Subject: [PATCH] fix(summary): disable links when in other tabs --- src/components/common/Tabs.tsx | 12 ++++++----- src/components/explore/NavigationByWords.tsx | 20 ++++++++++++++++++- .../IndividualTranscript.tsx | 5 ++++- 3 files changed, 30 insertions(+), 7 deletions(-) diff --git a/src/components/common/Tabs.tsx b/src/components/common/Tabs.tsx index 3f39862..cdb694b 100644 --- a/src/components/common/Tabs.tsx +++ b/src/components/common/Tabs.tsx @@ -1,13 +1,13 @@ "use client"; import { Resources } from "contentlayer/generated"; -import React, { SetStateAction, useState } from "react"; +import React, { SetStateAction } from "react"; import TranscriptTabContent from "../individual-transcript/TranscriptTabContent"; import NavigationByWords from "../explore/NavigationByWords"; import { NavigationList } from "@/utils"; import useLang from "@/hooks/useLang"; import useTranslations from "@/hooks/useTranslations"; -import { useParams, useRouter } from "next/navigation"; +import { useParams } from "next/navigation"; const Tabs = ({ summary, @@ -16,6 +16,8 @@ const Tabs = ({ currentHeading, groupedHeading, setCurrentHeading, + openTabs, + setOpenTabs, }: { summary?: string; markdown: string; @@ -23,14 +25,13 @@ const Tabs = ({ currentHeading?: string; groupedHeading?: NavigationList[]; setCurrentHeading?: React.Dispatch>; + openTabs: "transcript" | "summary" | "extraInfo"; + setOpenTabs: React.Dispatch>; }) => { const lang = useLang(); const t = useTranslations(lang); const currentRoute = useParams(); const slug = Array.isArray(currentRoute?.slug) ? currentRoute.slug.slice(0,currentRoute.slug.length - 1).join("/") : ""; - const [openTabs, setOpenTabs] = useState< - "transcript" | "summary" | "extraInfo" - >("transcript"); return (
@@ -63,6 +64,7 @@ const Tabs = ({
diff --git a/src/components/explore/NavigationByWords.tsx b/src/components/explore/NavigationByWords.tsx index 514decb..396befb 100644 --- a/src/components/explore/NavigationByWords.tsx +++ b/src/components/explore/NavigationByWords.tsx @@ -15,9 +15,11 @@ export interface IContentNavigation { navigationList: NavigationList[] | ExploreGroupedData[]; // Account for Explore Page and Transcript Page screen?: "mobile" | "desktop"; className?: string; + currentTab?: "transcript" | "summary" | "extraInfo"; } const NavigationByWords = ({ currentGroup, + currentTab, navigationList, screen, className, @@ -25,6 +27,7 @@ const NavigationByWords = ({ const selectRef = useRef(null); const linkRef = useRef(null); + const isSummaryTab = currentTab === "summary"; const onOptionsChange: React.ChangeEventHandler = (e) => { const value = e.target.value; if (linkRef.current) { @@ -51,6 +54,7 @@ const NavigationByWords = ({ )} > {navigationList.map((nav) => ( + !isSummaryTab? {nav?.name} - + : + + {nav?.name} + ))} )} diff --git a/src/components/individual-transcript/IndividualTranscript.tsx b/src/components/individual-transcript/IndividualTranscript.tsx index 0429e02..93ee152 100644 --- a/src/components/individual-transcript/IndividualTranscript.tsx +++ b/src/components/individual-transcript/IndividualTranscript.tsx @@ -21,7 +21,7 @@ const IndividualTranscript = ({ transcript: Transcript; }) => { const [currentHeading, setCurrentHeading] = useState(""); - + const [openTabs, setOpenTabs] = useState<"transcript" | "summary" | "extraInfo">("transcript") const lang = useLang(); const t = useTranslations(lang); @@ -59,6 +59,8 @@ const IndividualTranscript = ({ extraInfo={transcript?.additional_resources} currentHeading={currentHeading} groupedHeading={allHeadings} + openTabs={openTabs} + setOpenTabs={setOpenTabs} setCurrentHeading={setCurrentHeading} /> @@ -73,6 +75,7 @@ const IndividualTranscript = ({ `!w-full rounded-xl max-h-[calc(90vh-var(--header-height))]`, allHeadings.length < 1 && "!invisible", )} + currentTab={openTabs} screen="desktop" />