From d4593085b3764b63779bdf19a36463ecf21ca84f Mon Sep 17 00:00:00 2001 From: Innei Date: Fri, 16 Jun 2023 23:26:45 +0800 Subject: [PATCH] feat: toc item smooth indicator Signed-off-by: Innei --- src/app/notes/[id]/layout.tsx | 3 +++ src/components/widgets/toc/Toc.tsx | 12 ++++++++++-- src/lib/attach-ua.ts | 16 ++++++++++++++++ src/lib/define-metadata.ts | 9 +++------ 4 files changed, 32 insertions(+), 8 deletions(-) create mode 100644 src/lib/attach-ua.ts diff --git a/src/app/notes/[id]/layout.tsx b/src/app/notes/[id]/layout.tsx index 61a5439d48..c95e2c7e61 100644 --- a/src/app/notes/[id]/layout.tsx +++ b/src/app/notes/[id]/layout.tsx @@ -2,6 +2,7 @@ import RemoveMarkdown from 'remove-markdown' import type { Metadata } from 'next' import { BottomToUpTransitionView } from '~/components/ui/transition/BottomToUpTransitionView' +import { attachUA } from '~/lib/attach-ua' import { queries } from '~/queries/definition' import { getQueryClient } from '~/utils/query-client.server' @@ -15,6 +16,7 @@ export const generateMetadata = async ({ } }): Promise => { try { + attachUA() const { data } = await getQueryClient().fetchQuery( queries.note.byNid(params.id), ) @@ -52,6 +54,7 @@ export default async ( id: string }>, ) => { + attachUA() await getQueryClient().prefetchQuery(queries.note.byNid(props.params.id)) return ( diff --git a/src/components/widgets/toc/Toc.tsx b/src/components/widgets/toc/Toc.tsx index b0649e74a1..948ecbfc8f 100644 --- a/src/components/widgets/toc/Toc.tsx +++ b/src/components/widgets/toc/Toc.tsx @@ -1,4 +1,5 @@ import { memo, useEffect, useMemo, useRef, useState } from 'react' +import { motion } from 'framer-motion' import type { ITocItem } from './TocItem' import { RightToLeftTransitionView } from '~/components/ui/transition/RightToLeftTransitionView' @@ -80,7 +81,7 @@ export const Toc: Component = ({ useAsWeight, className }) => { return (