diff --git a/frontend/package-lock.json b/frontend/package-lock.json
index cab0cf4..c56004f 100644
--- a/frontend/package-lock.json
+++ b/frontend/package-lock.json
@@ -18,6 +18,7 @@
"mode-watcher": "^0.0.7",
"nanoid": "^5.0.3",
"postgres": "^3.4.3",
+ "qrious": "^4.0.2",
"sveltekit-superforms": "^1.10.1",
"tailwind-merge": "^2.0.0",
"tailwind-variants": "^0.1.18",
@@ -3190,6 +3191,11 @@
"integrity": "sha512-dKp+C4iXWK4vVYZmYSd0KBH5F/h1HoZRsbJ82AVKRO3PEo8L4lBS/vLwhVtpwwuYcoIsVY+1JYKR268yn480uQ==",
"dev": true
},
+ "node_modules/qrious": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/qrious/-/qrious-4.0.2.tgz",
+ "integrity": "sha512-xWPJIrK1zu5Ypn898fBp8RHkT/9ibquV2Kv24S/JY9VYEhMBMKur1gHVsOiNUh7PHP9uCgejjpZUHUIXXKoU/g=="
+ },
"node_modules/queue-microtask": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
diff --git a/frontend/package.json b/frontend/package.json
index 2ecf85e..fa11a71 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -42,6 +42,7 @@
"mode-watcher": "^0.0.7",
"nanoid": "^5.0.3",
"postgres": "^3.4.3",
+ "qrious": "^4.0.2",
"sveltekit-superforms": "^1.10.1",
"tailwind-merge": "^2.0.0",
"tailwind-variants": "^0.1.18",
diff --git a/frontend/src/lib/components/QR.svelte b/frontend/src/lib/components/QR.svelte
new file mode 100644
index 0000000..639be1b
--- /dev/null
+++ b/frontend/src/lib/components/QR.svelte
@@ -0,0 +1,45 @@
+
+
+
diff --git a/frontend/src/routes/(app)/links/+page.svelte b/frontend/src/routes/(app)/links/+page.svelte
index 4776be3..ea5cd16 100644
--- a/frontend/src/routes/(app)/links/+page.svelte
+++ b/frontend/src/routes/(app)/links/+page.svelte
@@ -14,8 +14,10 @@
Loader2,
MoreVertical,
PlusCircle,
+ QrCode,
} from 'lucide-svelte'
import { goto, invalidateAll } from '$app/navigation'
+ import Qr from '$lib/components/QR.svelte'
export let data: PageData
@@ -76,6 +78,14 @@
})
await invalidateAll()
}
+
+ let qrDialogOpen = false
+ let qrCode = ''
+
+ const openQRDialog = (code: string) => {
+ qrCode = code
+ qrDialogOpen = true
+ }