From 015646841fdffe98ca7d1a705469f71f8a4e427a Mon Sep 17 00:00:00 2001 From: TZGyn Date: Sun, 19 Nov 2023 04:46:58 +0800 Subject: [PATCH] added sliding sidebar on smaller viewports --- bun.lockb | Bin 140939 -> 145998 bytes package.json | 94 ++++++++-------- src/lib/components/UserIcon.svelte | 70 ++++++++++++ src/lib/components/sidebar.svelte | 78 ++----------- src/lib/components/ui/sheet/index.ts | 106 ++++++++++++++++++ .../components/ui/sheet/sheet-content.svelte | 47 ++++++++ .../ui/sheet/sheet-description.svelte | 16 +++ .../components/ui/sheet/sheet-footer.svelte | 19 ++++ .../components/ui/sheet/sheet-header.svelte | 16 +++ .../components/ui/sheet/sheet-overlay.svelte | 24 ++++ .../components/ui/sheet/sheet-portal.svelte | 13 +++ .../components/ui/sheet/sheet-title.svelte | 16 +++ src/routes/(app)/+layout.svelte | 54 ++++++++- 13 files changed, 435 insertions(+), 118 deletions(-) create mode 100644 src/lib/components/UserIcon.svelte create mode 100644 src/lib/components/ui/sheet/index.ts create mode 100644 src/lib/components/ui/sheet/sheet-content.svelte create mode 100644 src/lib/components/ui/sheet/sheet-description.svelte create mode 100644 src/lib/components/ui/sheet/sheet-footer.svelte create mode 100644 src/lib/components/ui/sheet/sheet-header.svelte create mode 100644 src/lib/components/ui/sheet/sheet-overlay.svelte create mode 100644 src/lib/components/ui/sheet/sheet-portal.svelte create mode 100644 src/lib/components/ui/sheet/sheet-title.svelte diff --git a/bun.lockb b/bun.lockb index 286acb2cd7cb34a255b49a3769ac07b370748d3d..ac4a2ac5440ae6280feafa23a0e5e82ffe75d868 100755 GIT binary patch delta 22475 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 delta 19407 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 diff --git a/package.json b/package.json index 2f881c0..33c31d9 100644 --- a/package.json +++ b/package.json @@ -1,49 +1,49 @@ { - "name": "link-shortener-svelte", - "version": "0.0.1", - "private": true, - "scripts": { - "dev": "vite dev", - "build": "vite build", - "preview": "vite preview", - "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", - "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", - "lint": "prettier --plugin-search-dir . --check .", - "format": "prettier --write ." - }, - "devDependencies": { - "@sveltejs/adapter-node": "^1.3.1", - "@sveltejs/kit": "^1.20.4", - "autoprefixer": "^10.4.14", - "bun-types": "^1.0.11", - "drizzle-kit": "^0.20.1", - "postcss": "^8.4.24", - "postcss-load-config": "^4.0.1", - "prettier": "^3.1.0", - "prettier-plugin-svelte": "^3.1.0", - "prettier-plugin-tailwindcss": "^0.5.7", - "svelte": "^4.0.5", - "svelte-adapter-bun": "^0.5.1", - "svelte-check": "^3.4.3", - "tailwindcss": "^3.3.2", - "tslib": "^2.4.1", - "typescript": "^5.0.0", - "vite": "^4.4.2" - }, - "type": "module", - "dependencies": { - "argon2": "^0.31.2", - "bits-ui": "^0.9.8", - "clsx": "^2.0.0", - "drizzle-orm": "^0.29.0", - "formsnap": "^0.4.1", - "lucide-svelte": "^0.292.0", - "mode-watcher": "^0.0.7", - "nanoid": "^5.0.3", - "postgres": "^3.4.3", - "sveltekit-superforms": "^1.10.1", - "tailwind-merge": "^2.0.0", - "tailwind-variants": "^0.1.18", - "zod": "^3.22.4" - } + "name": "link-shortener-svelte", + "version": "0.0.1", + "private": true, + "scripts": { + "dev": "vite dev", + "build": "vite build", + "preview": "vite preview", + "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", + "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", + "lint": "prettier --plugin-search-dir . --check .", + "format": "prettier --write ." + }, + "devDependencies": { + "@sveltejs/adapter-node": "^1.3.1", + "@sveltejs/kit": "^1.20.4", + "autoprefixer": "^10.4.14", + "bun-types": "^1.0.11", + "drizzle-kit": "^0.20.1", + "postcss": "^8.4.24", + "postcss-load-config": "^4.0.1", + "prettier": "^3.1.0", + "prettier-plugin-svelte": "^3.1.0", + "prettier-plugin-tailwindcss": "^0.5.7", + "svelte": "^4.0.5", + "svelte-adapter-bun": "^0.5.1", + "svelte-check": "^3.4.3", + "tailwindcss": "^3.3.2", + "tslib": "^2.4.1", + "typescript": "^5.0.0", + "vite": "^4.4.2" + }, + "type": "module", + "dependencies": { + "argon2": "^0.31.2", + "bits-ui": "^0.9.8", + "clsx": "^2.0.0", + "drizzle-orm": "^0.29.0", + "formsnap": "^0.4.1", + "lucide-svelte": "^0.292.0", + "mode-watcher": "^0.0.7", + "nanoid": "^5.0.3", + "postgres": "^3.4.3", + "sveltekit-superforms": "^1.10.1", + "tailwind-merge": "^2.0.0", + "tailwind-variants": "^0.1.18", + "zod": "^3.22.4" + } } diff --git a/src/lib/components/UserIcon.svelte b/src/lib/components/UserIcon.svelte new file mode 100644 index 0000000..af1e72e --- /dev/null +++ b/src/lib/components/UserIcon.svelte @@ -0,0 +1,70 @@ + + + + + + + + + + + + {email} + + goto('/profile')}> + Profile + + + (dialogOpen = true)} + class="text-destructive data-[highlighted]:bg-destructive"> + Log Out + + + + + + + + Are you absolutely sure? + + You are about to log out of this account. + + + + Cancel + + + + diff --git a/src/lib/components/sidebar.svelte b/src/lib/components/sidebar.svelte index 8f31b93..79b3d83 100644 --- a/src/lib/components/sidebar.svelte +++ b/src/lib/components/sidebar.svelte @@ -1,31 +1,21 @@
+ class={cn( + 'flex h-full min-w-[350px] flex-col justify-between border-r p-4', + className, + )}>
@@ -49,55 +39,7 @@
- - - - - - - - - - {email} - - goto('/profile')}> - Profile - - - (dialogOpen = true)} - class="text-destructive data-[highlighted]:bg-destructive"> - Log Out - - - - -
- - - - Are you absolutely sure? - - You are about to log out of this account. - - - - Cancel - - - - -
+
diff --git a/src/lib/components/ui/sheet/index.ts b/src/lib/components/ui/sheet/index.ts new file mode 100644 index 0000000..a156219 --- /dev/null +++ b/src/lib/components/ui/sheet/index.ts @@ -0,0 +1,106 @@ +import { Dialog as SheetPrimitive } from "bits-ui"; +import { tv, type VariantProps } from "tailwind-variants"; + +import Portal from "./sheet-portal.svelte"; +import Overlay from "./sheet-overlay.svelte"; +import Content from "./sheet-content.svelte"; +import Header from "./sheet-header.svelte"; +import Footer from "./sheet-footer.svelte"; +import Title from "./sheet-title.svelte"; +import Description from "./sheet-description.svelte"; + +const Root = SheetPrimitive.Root; +const Close = SheetPrimitive.Close; +const Trigger = SheetPrimitive.Trigger; + +export { + Root, + Close, + Trigger, + Portal, + Overlay, + Content, + Header, + Footer, + Title, + Description, + // + Root as Sheet, + Close as SheetClose, + Trigger as SheetTrigger, + Portal as SheetPortal, + Overlay as SheetOverlay, + Content as SheetContent, + Header as SheetHeader, + Footer as SheetFooter, + Title as SheetTitle, + Description as SheetDescription +}; + +export const sheetVariants = tv({ + base: "fixed z-50 gap-4 bg-background p-6 shadow-lg", + variants: { + side: { + top: "inset-x-0 top-0 border-b", + bottom: "inset-x-0 bottom-0 border-t", + left: "inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm", + right: "inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm" + } + }, + defaultVariants: { + side: "right" + } +}); + +export const sheetTransitions = { + top: { + in: { + y: "-100%", + duration: 500, + opacity: 1 + }, + out: { + y: "-100%", + duration: 300, + opacity: 1 + } + }, + bottom: { + in: { + y: "100%", + duration: 500, + opacity: 1 + }, + out: { + y: "100%", + duration: 300, + opacity: 1 + } + }, + left: { + in: { + x: "-100%", + duration: 500, + opacity: 1 + }, + out: { + x: "-100%", + duration: 300, + opacity: 1 + } + }, + right: { + in: { + x: "100%", + duration: 500, + opacity: 1 + }, + out: { + x: "100%", + duration: 300, + opacity: 1 + } + } +}; + +export type Side = VariantProps["side"]; diff --git a/src/lib/components/ui/sheet/sheet-content.svelte b/src/lib/components/ui/sheet/sheet-content.svelte new file mode 100644 index 0000000..4e51692 --- /dev/null +++ b/src/lib/components/ui/sheet/sheet-content.svelte @@ -0,0 +1,47 @@ + + + + + + + + + Close + + + diff --git a/src/lib/components/ui/sheet/sheet-description.svelte b/src/lib/components/ui/sheet/sheet-description.svelte new file mode 100644 index 0000000..1e1a23a --- /dev/null +++ b/src/lib/components/ui/sheet/sheet-description.svelte @@ -0,0 +1,16 @@ + + + + + diff --git a/src/lib/components/ui/sheet/sheet-footer.svelte b/src/lib/components/ui/sheet/sheet-footer.svelte new file mode 100644 index 0000000..36c0cca --- /dev/null +++ b/src/lib/components/ui/sheet/sheet-footer.svelte @@ -0,0 +1,19 @@ + + +
+ +
diff --git a/src/lib/components/ui/sheet/sheet-header.svelte b/src/lib/components/ui/sheet/sheet-header.svelte new file mode 100644 index 0000000..b2d63db --- /dev/null +++ b/src/lib/components/ui/sheet/sheet-header.svelte @@ -0,0 +1,16 @@ + + +
+ +
diff --git a/src/lib/components/ui/sheet/sheet-overlay.svelte b/src/lib/components/ui/sheet/sheet-overlay.svelte new file mode 100644 index 0000000..054307a --- /dev/null +++ b/src/lib/components/ui/sheet/sheet-overlay.svelte @@ -0,0 +1,24 @@ + + + diff --git a/src/lib/components/ui/sheet/sheet-portal.svelte b/src/lib/components/ui/sheet/sheet-portal.svelte new file mode 100644 index 0000000..df9e1b9 --- /dev/null +++ b/src/lib/components/ui/sheet/sheet-portal.svelte @@ -0,0 +1,13 @@ + + + + + diff --git a/src/lib/components/ui/sheet/sheet-title.svelte b/src/lib/components/ui/sheet/sheet-title.svelte new file mode 100644 index 0000000..b50ea5f --- /dev/null +++ b/src/lib/components/ui/sheet/sheet-title.svelte @@ -0,0 +1,16 @@ + + + + + diff --git a/src/routes/(app)/+layout.svelte b/src/routes/(app)/+layout.svelte index 67254cd..8b8820f 100644 --- a/src/routes/(app)/+layout.svelte +++ b/src/routes/(app)/+layout.svelte @@ -1,13 +1,61 @@
- -
- +