From c2f843ce4c3fa0b033a0341ca2653ba16dcea5ad Mon Sep 17 00:00:00 2001 From: Izan <66965250+SrIzan10@users.noreply.github.com> Date: Wed, 14 Jan 2026 22:24:34 +0100 Subject: [PATCH] chore: mobile friendly navbar --- app/components/ui/sheet/Sheet.vue | 19 +++ app/components/ui/sheet/SheetClose.vue | 15 ++ app/components/ui/sheet/SheetContent.vue | 62 +++++++++ app/components/ui/sheet/SheetDescription.vue | 21 +++ app/components/ui/sheet/SheetFooter.vue | 16 +++ app/components/ui/sheet/SheetHeader.vue | 15 ++ app/components/ui/sheet/SheetOverlay.vue | 21 +++ app/components/ui/sheet/SheetTitle.vue | 21 +++ app/components/ui/sheet/SheetTrigger.vue | 15 ++ app/components/ui/sheet/index.ts | 8 ++ app/layouts/default.vue | 137 ++++++++++++++----- i18n/locales/en.json | 3 +- i18n/locales/es.json | 3 +- 13 files changed, 318 insertions(+), 38 deletions(-) create mode 100644 app/components/ui/sheet/Sheet.vue create mode 100644 app/components/ui/sheet/SheetClose.vue create mode 100644 app/components/ui/sheet/SheetContent.vue create mode 100644 app/components/ui/sheet/SheetDescription.vue create mode 100644 app/components/ui/sheet/SheetFooter.vue create mode 100644 app/components/ui/sheet/SheetHeader.vue create mode 100644 app/components/ui/sheet/SheetOverlay.vue create mode 100644 app/components/ui/sheet/SheetTitle.vue create mode 100644 app/components/ui/sheet/SheetTrigger.vue create mode 100644 app/components/ui/sheet/index.ts diff --git a/app/components/ui/sheet/Sheet.vue b/app/components/ui/sheet/Sheet.vue new file mode 100644 index 0000000..8522f84 --- /dev/null +++ b/app/components/ui/sheet/Sheet.vue @@ -0,0 +1,19 @@ + + + diff --git a/app/components/ui/sheet/SheetClose.vue b/app/components/ui/sheet/SheetClose.vue new file mode 100644 index 0000000..39a942c --- /dev/null +++ b/app/components/ui/sheet/SheetClose.vue @@ -0,0 +1,15 @@ + + + diff --git a/app/components/ui/sheet/SheetContent.vue b/app/components/ui/sheet/SheetContent.vue new file mode 100644 index 0000000..e0c4b8f --- /dev/null +++ b/app/components/ui/sheet/SheetContent.vue @@ -0,0 +1,62 @@ + + + diff --git a/app/components/ui/sheet/SheetDescription.vue b/app/components/ui/sheet/SheetDescription.vue new file mode 100644 index 0000000..6c8ba0a --- /dev/null +++ b/app/components/ui/sheet/SheetDescription.vue @@ -0,0 +1,21 @@ + + + diff --git a/app/components/ui/sheet/SheetFooter.vue b/app/components/ui/sheet/SheetFooter.vue new file mode 100644 index 0000000..5fcf751 --- /dev/null +++ b/app/components/ui/sheet/SheetFooter.vue @@ -0,0 +1,16 @@ + + + diff --git a/app/components/ui/sheet/SheetHeader.vue b/app/components/ui/sheet/SheetHeader.vue new file mode 100644 index 0000000..b6305ab --- /dev/null +++ b/app/components/ui/sheet/SheetHeader.vue @@ -0,0 +1,15 @@ + + + diff --git a/app/components/ui/sheet/SheetOverlay.vue b/app/components/ui/sheet/SheetOverlay.vue new file mode 100644 index 0000000..220452a --- /dev/null +++ b/app/components/ui/sheet/SheetOverlay.vue @@ -0,0 +1,21 @@ + + + diff --git a/app/components/ui/sheet/SheetTitle.vue b/app/components/ui/sheet/SheetTitle.vue new file mode 100644 index 0000000..889ae54 --- /dev/null +++ b/app/components/ui/sheet/SheetTitle.vue @@ -0,0 +1,21 @@ + + + diff --git a/app/components/ui/sheet/SheetTrigger.vue b/app/components/ui/sheet/SheetTrigger.vue new file mode 100644 index 0000000..41b121d --- /dev/null +++ b/app/components/ui/sheet/SheetTrigger.vue @@ -0,0 +1,15 @@ + + + diff --git a/app/components/ui/sheet/index.ts b/app/components/ui/sheet/index.ts new file mode 100644 index 0000000..7c70e5d --- /dev/null +++ b/app/components/ui/sheet/index.ts @@ -0,0 +1,8 @@ +export { default as Sheet } from "./Sheet.vue" +export { default as SheetClose } from "./SheetClose.vue" +export { default as SheetContent } from "./SheetContent.vue" +export { default as SheetDescription } from "./SheetDescription.vue" +export { default as SheetFooter } from "./SheetFooter.vue" +export { default as SheetHeader } from "./SheetHeader.vue" +export { default as SheetTitle } from "./SheetTitle.vue" +export { default as SheetTrigger } from "./SheetTrigger.vue" diff --git a/app/layouts/default.vue b/app/layouts/default.vue index e7be7fd..04b5c11 100644 --- a/app/layouts/default.vue +++ b/app/layouts/default.vue @@ -4,56 +4,64 @@ import ThemeDropdown from "~/components/ui/ThemeDropdown.vue"; import LanguageSwitcher from "~/components/app/LanguageSwitcher.vue"; import "vue-sonner/style.css"; import { Toaster } from "@/components/ui/sonner"; +import { + Sheet, + SheetContent, + SheetHeader, + SheetTitle, + SheetTrigger, +} from "@/components/ui/sheet"; +import { Menu } from "lucide-vue-next"; const { t } = useI18n(); +const mobileMenuOpen = ref(false); + +const navLinks = [ + { to: "/", label: "home" }, + { to: "/stream", label: "stream" }, + { to: "/about", label: "about" }, + { to: "/presets", label: "presets", requiresAuth: true }, +];