From 1a7954d54e51673596af0058e3798db3a45474c5 Mon Sep 17 00:00:00 2001 From: ZhymabekRoman Date: Sat, 2 Nov 2024 04:39:14 +0500 Subject: [PATCH] feat(package): update dependencies and enhance UI components --- new-web/bun.lockb | Bin 92962 -> 96873 bytes new-web/package.json | 26 +- new-web/src/app.css | 4 + .../ui/drawer/drawer-content.svelte | 24 ++ .../ui/drawer/drawer-description.svelte | 18 ++ .../components/ui/drawer/drawer-footer.svelte | 16 ++ .../components/ui/drawer/drawer-header.svelte | 19 ++ .../components/ui/drawer/drawer-nested.svelte | 12 + .../ui/drawer/drawer-overlay.svelte | 18 ++ .../components/ui/drawer/drawer-title.svelte | 18 ++ .../lib/components/ui/drawer/drawer.svelte | 12 + new-web/src/lib/components/ui/drawer/index.ts | 41 ++++ .../src/lib/elements/BookmarkButton.svelte | 228 ++++++++++++------ new-web/src/lib/elements/ProgressLine.svelte | 8 +- new-web/src/lib/elements/ReportProblem.svelte | 207 +++++++++++----- 15 files changed, 500 insertions(+), 151 deletions(-) create mode 100644 new-web/src/lib/components/ui/drawer/drawer-content.svelte create mode 100644 new-web/src/lib/components/ui/drawer/drawer-description.svelte create mode 100644 new-web/src/lib/components/ui/drawer/drawer-footer.svelte create mode 100644 new-web/src/lib/components/ui/drawer/drawer-header.svelte create mode 100644 new-web/src/lib/components/ui/drawer/drawer-nested.svelte create mode 100644 new-web/src/lib/components/ui/drawer/drawer-overlay.svelte create mode 100644 new-web/src/lib/components/ui/drawer/drawer-title.svelte create mode 100644 new-web/src/lib/components/ui/drawer/drawer.svelte create mode 100644 new-web/src/lib/components/ui/drawer/index.ts diff --git a/new-web/bun.lockb b/new-web/bun.lockb index 94657ecdaf7d305b5d574f7118be81775e54a779..57046fa71b3b1bb707686404512ef90d8d296897 100755 GIT binary patch delta 19120 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 n5EhC~UK)~ZDlcU>d delta 16925 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 KGM~P4`Tqh*+qi`Q diff --git a/new-web/package.json b/new-web/package.json index d513cff..496c0df 100644 --- a/new-web/package.json +++ b/new-web/package.json @@ -12,35 +12,37 @@ "format": "prettier --write ." }, "devDependencies": { - "@sveltejs/adapter-auto": "^3.0.0", - "@sveltejs/kit": "^2.0.0", - "@sveltejs/vite-plugin-svelte": "^3.0.0", + "@sveltejs/adapter-auto": "^3.3.1", + "@sveltejs/kit": "^2.7.4", + "@sveltejs/vite-plugin-svelte": "^3.1.2", "autoprefixer": "^10.4.20", "clsx": "^2.1.1", "cmdk-sv": "^0.0.18", "lucide-svelte": "^0.453.0", "mode-watcher": "^0.4.1", "postcss": "^8.4.47", - "prettier": "^3.1.1", - "prettier-plugin-svelte": "^3.1.2", - "svelte": "^4.2.7", - "svelte-check": "^4.0.0", + "prettier": "^3.3.3", + "prettier-plugin-svelte": "^3.2.7", + "svelte": "^4.2.19", + "svelte-check": "^4.0.5", "svelte-sonner": "^0.3.28", "tailwind-merge": "^2.5.4", "tailwind-variants": "^0.2.1", - "tailwindcss": "^3.4.13", - "typescript": "^5.0.0", - "vite": "^5.0.3" + "tailwindcss": "^3.4.14", + "typescript": "^5.6.3", + "vaul-svelte": "^0.3.2", + "vite": "^5.4.10" }, "type": "module", "dependencies": { "@iconify/svelte": "^4.0.2", "bits-ui": "^0.21.16", "copy-to-clipboard": "^3.3.3", - "es-toolkit": "^1.25.2", + "es-toolkit": "^1.26.1", "medium-zoom": "^1.1.0", "svelte-bricks": "^0.2.1", - "svelte-lazy": "^1.2.9", + "svelte-lazy": "1.2.9", + "svelte-legos": "^0.2.5", "svelte-markdown": "^0.4.1" } } diff --git a/new-web/src/app.css b/new-web/src/app.css index 5150d81..08ce509 100644 --- a/new-web/src/app.css +++ b/new-web/src/app.css @@ -2,6 +2,10 @@ @tailwind components; @tailwind utilities; +html { + scroll-behavior: smooth; +} + @layer base { :root { --background: 0, 0%, 97%; diff --git a/new-web/src/lib/components/ui/drawer/drawer-content.svelte b/new-web/src/lib/components/ui/drawer/drawer-content.svelte new file mode 100644 index 0000000..4f05317 --- /dev/null +++ b/new-web/src/lib/components/ui/drawer/drawer-content.svelte @@ -0,0 +1,24 @@ + + + + + +
+ +
+
diff --git a/new-web/src/lib/components/ui/drawer/drawer-description.svelte b/new-web/src/lib/components/ui/drawer/drawer-description.svelte new file mode 100644 index 0000000..ef761a7 --- /dev/null +++ b/new-web/src/lib/components/ui/drawer/drawer-description.svelte @@ -0,0 +1,18 @@ + + + + + diff --git a/new-web/src/lib/components/ui/drawer/drawer-footer.svelte b/new-web/src/lib/components/ui/drawer/drawer-footer.svelte new file mode 100644 index 0000000..c6c07ad --- /dev/null +++ b/new-web/src/lib/components/ui/drawer/drawer-footer.svelte @@ -0,0 +1,16 @@ + + +
+ +
diff --git a/new-web/src/lib/components/ui/drawer/drawer-header.svelte b/new-web/src/lib/components/ui/drawer/drawer-header.svelte new file mode 100644 index 0000000..f857176 --- /dev/null +++ b/new-web/src/lib/components/ui/drawer/drawer-header.svelte @@ -0,0 +1,19 @@ + + +
+ +
diff --git a/new-web/src/lib/components/ui/drawer/drawer-nested.svelte b/new-web/src/lib/components/ui/drawer/drawer-nested.svelte new file mode 100644 index 0000000..79b68e3 --- /dev/null +++ b/new-web/src/lib/components/ui/drawer/drawer-nested.svelte @@ -0,0 +1,12 @@ + + + + + diff --git a/new-web/src/lib/components/ui/drawer/drawer-overlay.svelte b/new-web/src/lib/components/ui/drawer/drawer-overlay.svelte new file mode 100644 index 0000000..ccc7322 --- /dev/null +++ b/new-web/src/lib/components/ui/drawer/drawer-overlay.svelte @@ -0,0 +1,18 @@ + + + + + diff --git a/new-web/src/lib/components/ui/drawer/drawer-title.svelte b/new-web/src/lib/components/ui/drawer/drawer-title.svelte new file mode 100644 index 0000000..cfbe596 --- /dev/null +++ b/new-web/src/lib/components/ui/drawer/drawer-title.svelte @@ -0,0 +1,18 @@ + + + + + diff --git a/new-web/src/lib/components/ui/drawer/drawer.svelte b/new-web/src/lib/components/ui/drawer/drawer.svelte new file mode 100644 index 0000000..40eae5e --- /dev/null +++ b/new-web/src/lib/components/ui/drawer/drawer.svelte @@ -0,0 +1,12 @@ + + + + + diff --git a/new-web/src/lib/components/ui/drawer/index.ts b/new-web/src/lib/components/ui/drawer/index.ts new file mode 100644 index 0000000..76932e3 --- /dev/null +++ b/new-web/src/lib/components/ui/drawer/index.ts @@ -0,0 +1,41 @@ +import { Drawer as DrawerPrimitive } from "vaul-svelte"; + +import Root from "./drawer.svelte"; +import Content from "./drawer-content.svelte"; +import Description from "./drawer-description.svelte"; +import Overlay from "./drawer-overlay.svelte"; +import Footer from "./drawer-footer.svelte"; +import Header from "./drawer-header.svelte"; +import Title from "./drawer-title.svelte"; +import NestedRoot from "./drawer-nested.svelte"; + +const Trigger = DrawerPrimitive.Trigger; +const Portal = DrawerPrimitive.Portal; +const Close = DrawerPrimitive.Close; + +export { + Root, + NestedRoot, + Content, + Description, + Overlay, + Footer, + Header, + Title, + Trigger, + Portal, + Close, + + // + Root as Drawer, + NestedRoot as DrawerNestedRoot, + Content as DrawerContent, + Description as DrawerDescription, + Overlay as DrawerOverlay, + Footer as DrawerFooter, + Header as DrawerHeader, + Title as DrawerTitle, + Trigger as DrawerTrigger, + Portal as DrawerPortal, + Close as DrawerClose, +}; diff --git a/new-web/src/lib/elements/BookmarkButton.svelte b/new-web/src/lib/elements/BookmarkButton.svelte index 46343cb..bd36d01 100644 --- a/new-web/src/lib/elements/BookmarkButton.svelte +++ b/new-web/src/lib/elements/BookmarkButton.svelte @@ -3,91 +3,175 @@ import { Button, buttonVariants } from '$lib/components/ui/button/index.js'; import * as DropdownMenu from '$lib/components/ui/dropdown-menu/index.js'; import * as Dialog from '$lib/components/ui/dialog'; + import * as Drawer from '$lib/components/ui/drawer'; + import { mediaQuery } from 'svelte-legos'; import CodeBlock from './CodeBlock.svelte'; import copy from 'copy-to-clipboard'; import { toast } from 'svelte-sonner'; + let open = false; + const isDesktop = mediaQuery('(min-width: 768px)'); + function handleCopy(text: string) { copy(text); toast.success('Copied to clipboard'); } - - - $event.preventDefault()}> - - Bookmark - - - - - Add Bookmark for Medium Bypass - -
- -

- Credit: blazeknifecatcher on Reddit -

- -
-
-

Option 1: Redirect in Current Tab

- -
-

Create a new bookmark with the following code as the URL:

+

- -
+
+
+

Option 1: Redirect in Current Tab

+ +
+

Create a new bookmark with the following code as the URL:

-
-
-

Option 2: Open in New Tab

- +
-

For opening in a new tab, use this code instead:

- -
+
+
+

Option 2: Open in New Tab

+ +
-

Click the bookmark on any Medium page to bypass the paywall using Freedium.

- -
- - Close - - - +

For opening in a new tab, use this code instead:

+ +
+ +

Click the bookmark on any Medium page to bypass the paywall using Freedium.

+
+
+ + Close + +
+
+{:else} + + + $event.preventDefault()}> + + Bookmark + + + + + + Add Bookmark for Medium Bypass + + +
+
+

+ Credit: blazeknifecatcher on Reddit +

+ +
+
+

Option 1: Redirect in Current Tab

+ +
+

Create a new bookmark with the following code as the URL:

+ + +
+ +
+
+

Option 2: Open in New Tab

+ +
+ +

For opening in a new tab, use this code instead:

+ +
+ +

Click the bookmark on any Medium page to bypass the paywall using Freedium.

+
+
+ + Close + +
+
+{/if} diff --git a/new-web/src/lib/elements/ProgressLine.svelte b/new-web/src/lib/elements/ProgressLine.svelte index 10f3237..af3ec3a 100644 --- a/new-web/src/lib/elements/ProgressLine.svelte +++ b/new-web/src/lib/elements/ProgressLine.svelte @@ -29,5 +29,11 @@ bind:this={progress} id="progress" class="top-0 z-20 h-1" - style="background:linear-gradient(to right, hsl(var(--primary)) var(--scroll), transparent 0)" + style="background:linear-gradient(to right, hsl(var(--primary)) var(--scroll), transparent 0); width: var(--scroll, 0%);" /> + + diff --git a/new-web/src/lib/elements/ReportProblem.svelte b/new-web/src/lib/elements/ReportProblem.svelte index 60cda51..cad1cc9 100644 --- a/new-web/src/lib/elements/ReportProblem.svelte +++ b/new-web/src/lib/elements/ReportProblem.svelte @@ -1,12 +1,16 @@ - - -
- - Report a problem -
-
-
- - - Report a Problem - -
- -

+{#if $isDesktop} + + +

+ + Report a problem +
+ + + + + Report a Problem + +
+ +

+ Please describe the problem you're experiencing. We'll look into it as soon as + possible. +

+
+
+
+ Problem Type + +
+ + UI problem +
+
+ + Article is not full +
+
+ + Suggestion +
+
+ + Vulnerability (XSS, etc.) +
+
+ + Other +
+
+
+
+ Problem Description + -

- The current opened page will be automatically attached to your report. -

-
-
- -
- - Cancel - - -
- - - + +
+ Cancel + +
+
+ + + +{/if}