From cbc4290a9ba3357597569567e4ac33e38c151bbd Mon Sep 17 00:00:00 2001 From: qqharry21 Date: Fri, 23 Feb 2024 23:26:18 +0800 Subject: [PATCH 01/18] refactor: add new files and update sidebar navigation --- src/app/blogs/page.tsx | 3 ++ src/app/providers.tsx | 5 --- src/app/reports/page.tsx | 3 ++ src/components/search-input.tsx | 5 +++ src/components/sidebar/sidebar-nav.tsx | 36 +++++++++++++------- src/components/sidebar/useSidebarHandlers.ts | 6 ++++ 6 files changed, 41 insertions(+), 17 deletions(-) create mode 100644 src/app/blogs/page.tsx create mode 100644 src/app/reports/page.tsx create mode 100644 src/components/search-input.tsx diff --git a/src/app/blogs/page.tsx b/src/app/blogs/page.tsx new file mode 100644 index 0000000..e63b7c0 --- /dev/null +++ b/src/app/blogs/page.tsx @@ -0,0 +1,3 @@ +export default function Page() { + return
Page
; +} diff --git a/src/app/providers.tsx b/src/app/providers.tsx index 5327c25..2e8420e 100644 --- a/src/app/providers.tsx +++ b/src/app/providers.tsx @@ -5,15 +5,10 @@ import { ThemeProvider } from 'next-themes'; import { MotionProvider } from '@/components/motion-provider'; import { SidebarProvider } from '@/components/sidebar'; -import { useMount } from '@/hooks/useMount'; // import { SmoothScroll } from '@/components/smooth-scroll'; // import { ThemeProvider } from '@/components/theme-provider'; export const Providers = ({ children }: PropsWithChildren) => { - const isMount = useMount(); - - if (!isMount) return 'loading...'; - return ( diff --git a/src/app/reports/page.tsx b/src/app/reports/page.tsx new file mode 100644 index 0000000..e63b7c0 --- /dev/null +++ b/src/app/reports/page.tsx @@ -0,0 +1,3 @@ +export default function Page() { + return
Page
; +} diff --git a/src/components/search-input.tsx b/src/components/search-input.tsx new file mode 100644 index 0000000..4c8af6f --- /dev/null +++ b/src/components/search-input.tsx @@ -0,0 +1,5 @@ +import React from 'react'; + +export const SearchInput = () => { + return
SearchInput
; +}; diff --git a/src/components/sidebar/sidebar-nav.tsx b/src/components/sidebar/sidebar-nav.tsx index 1c9c96d..8bb61cb 100644 --- a/src/components/sidebar/sidebar-nav.tsx +++ b/src/components/sidebar/sidebar-nav.tsx @@ -1,5 +1,8 @@ +'use client'; + import { AnimatePresence } from 'framer-motion'; -import { useRouter } from 'next/navigation'; +import { usePathname, useRouter } from 'next/navigation'; +import { useTransition } from 'react'; import { siteRoutes } from '@/lib/routes'; import { fadeInLeft } from '@/lib/transitions'; @@ -11,6 +14,14 @@ import { MotionTypography } from '../typography'; import { useSidebar } from '.'; export const SidebarNav = () => { + const [_, startTransition] = useTransition(); + const pathname = usePathname(); + const router = useRouter(); + + const handleClick = (href: string) => { + startTransition(() => router.push(href)); + }; + return ( { >