diff --git a/tone-page-web/app/components/Header.tsx b/tone-page-web/app/components/Header.tsx
index f6c70d9..0875e94 100644
--- a/tone-page-web/app/components/Header.tsx
+++ b/tone-page-web/app/components/Header.tsx
@@ -3,15 +3,28 @@
import { cn } from "@/lib/utils";
import Link from "next/link";
import { usePathname } from "next/navigation";
+import { useState } from "react";
+import {
+ Drawer,
+ DrawerContent,
+ DrawerDescription,
+ DrawerHeader,
+ DrawerTitle,
+ DrawerTrigger,
+} from "@/components/ui/drawer"
+import { Button } from "@/components/ui/button";
+import { X } from "lucide-react";
+
export default function Header() {
const pathname = usePathname();
+ const [showMenu, setShowMenu] = useState(false);
const menuItems = [
{ name: '特恩(TONE)', href: '/' },
{ name: '资源', href: '/resource' },
{ name: '博客', href: '/blog' },
- { name: '账户', href: '/account' },
+ { name: '控制台', href: '/console' },
]
return (
@@ -20,23 +33,56 @@ export default function Header() {
{pathname === "/"
?
🍭
- : 特恩(TONE)
}
+ : 特恩(TONE)
}
-
+
+
!state && setShowMenu(false)}>
+
+ setShowMenu(true)}>
+ 菜单
+
+
+
+
+
+ 菜单
+ setShowMenu(false)} />
+
+ 请选择需要前往的页面
+
+
+ {menuItems.slice(1).map((item) => (
+ setShowMenu(false)}
+ >
+
+
+ ))}
+
+
+
+
+
{menuItems.slice(1).map((item) => (
{item.name}
@@ -44,7 +90,7 @@ export default function Header() {
))}
-
+
)
}
diff --git a/tone-page-web/app/account/page.tsx b/tone-page-web/app/console/page.tsx
similarity index 51%
rename from tone-page-web/app/account/page.tsx
rename to tone-page-web/app/console/page.tsx
index ad24b5d..4c06567 100644
--- a/tone-page-web/app/account/page.tsx
+++ b/tone-page-web/app/console/page.tsx
@@ -1,4 +1,4 @@
-export default function Account() {
+export default function Console() {
return (
)
diff --git a/tone-page-web/components/ui/drawer.tsx b/tone-page-web/components/ui/drawer.tsx
new file mode 100644
index 0000000..199023b
--- /dev/null
+++ b/tone-page-web/components/ui/drawer.tsx
@@ -0,0 +1,132 @@
+"use client"
+
+import * as React from "react"
+import { Drawer as DrawerPrimitive } from "vaul"
+
+import { cn } from "@/lib/utils"
+
+function Drawer({
+ ...props
+}: React.ComponentProps) {
+ return
+}
+
+function DrawerTrigger({
+ ...props
+}: React.ComponentProps) {
+ return
+}
+
+function DrawerPortal({
+ ...props
+}: React.ComponentProps) {
+ return
+}
+
+function DrawerClose({
+ ...props
+}: React.ComponentProps) {
+ return
+}
+
+function DrawerOverlay({
+ className,
+ ...props
+}: React.ComponentProps) {
+ return (
+
+ )
+}
+
+function DrawerContent({
+ className,
+ children,
+ ...props
+}: React.ComponentProps) {
+ return (
+
+
+
+
+ {children}
+
+
+ )
+}
+
+function DrawerHeader({ className, ...props }: React.ComponentProps<"div">) {
+ return (
+
+ )
+}
+
+function DrawerFooter({ className, ...props }: React.ComponentProps<"div">) {
+ return (
+
+ )
+}
+
+function DrawerTitle({
+ className,
+ ...props
+}: React.ComponentProps) {
+ return (
+
+ )
+}
+
+function DrawerDescription({
+ className,
+ ...props
+}: React.ComponentProps) {
+ return (
+
+ )
+}
+
+export {
+ Drawer,
+ DrawerPortal,
+ DrawerOverlay,
+ DrawerTrigger,
+ DrawerClose,
+ DrawerContent,
+ DrawerHeader,
+ DrawerFooter,
+ DrawerTitle,
+ DrawerDescription,
+}