From 01e8f4882f5165f4ea8aef53f230ed9af2f76762 Mon Sep 17 00:00:00 2001 From: Aslam Date: Thu, 5 Sep 2024 00:16:00 +0700 Subject: [PATCH] refactor: remove the use of custom hook (#133) --- .../routes/topics/detail/TopicDetailRoute.tsx | 12 +++++++----- web/hooks/use-topic-data.ts | 13 ------------- 2 files changed, 7 insertions(+), 18 deletions(-) delete mode 100644 web/hooks/use-topic-data.ts diff --git a/web/components/routes/topics/detail/TopicDetailRoute.tsx b/web/components/routes/topics/detail/TopicDetailRoute.tsx index e4faf368..8688ceea 100644 --- a/web/components/routes/topics/detail/TopicDetailRoute.tsx +++ b/web/components/routes/topics/detail/TopicDetailRoute.tsx @@ -1,12 +1,12 @@ "use client" -import React, { useRef } from "react" +import React, { useMemo, useRef } from "react" import { TopicDetailHeader } from "./Header" import { TopicSections } from "./partials/topic-sections" -import { useLinkNavigation } from "./use-link-navigation" -import { useTopicData } from "@/hooks/use-topic-data" import { atom } from "jotai" -import { useAccount } from "@/lib/providers/jazz-provider" +import { useAccount, useCoState } from "@/lib/providers/jazz-provider" +import { Topic } from "@/lib/schema" +import { JAZZ_GLOBAL_GROUP_ID } from "@/lib/constants" interface TopicDetailRouteProps { topicName: string @@ -16,7 +16,9 @@ export const openPopoverForIdAtom = atom(null) export function TopicDetailRoute({ topicName }: TopicDetailRouteProps) { const { me } = useAccount({ root: { personalLinks: [] } }) - const { topic } = useTopicData(topicName, me) + + const topicID = useMemo(() => me && Topic.findUnique({ topicName }, JAZZ_GLOBAL_GROUP_ID, me), [topicName, me]) + const topic = useCoState(Topic, topicID, { latestGlobalGuide: { sections: [{ links: [] }] } }) // const { activeIndex, setActiveIndex, containerRef, linkRefs } = useLinkNavigation(allLinks) const linksRefDummy = useRef<(HTMLLIElement | null)[]>([]) const containerRefDummy = useRef(null) diff --git a/web/hooks/use-topic-data.ts b/web/hooks/use-topic-data.ts deleted file mode 100644 index 3592586d..00000000 --- a/web/hooks/use-topic-data.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { useMemo } from "react" -import { useCoState } from "@/lib/providers/jazz-provider" -import { Account } from "jazz-tools" -import { Topic } from "@/lib/schema" -import { JAZZ_GLOBAL_GROUP_ID } from "@/lib/constants" - -export function useTopicData(topicName: string, me: Account | undefined) { - const topicID = useMemo(() => me && Topic.findUnique({ topicName }, JAZZ_GLOBAL_GROUP_ID, me), [topicName, me]) - - const topic = useCoState(Topic, topicID, { latestGlobalGuide: { sections: [{ links: [] }] } }) - - return { topic } -}