From ad6f136dd04ca23ddd3a26e5fa105a4fb9cda075 Mon Sep 17 00:00:00 2001 From: cupcakearmy Date: Wed, 4 Jan 2023 19:40:37 +0100 Subject: [PATCH] qr code --- package.json | 2 +- packages/frontend/package.json | 3 +- packages/frontend/src/lib/ui/Canvas.svelte | 41 +++++++++++++++++++ .../frontend/src/lib/ui/NoteResult.svelte | 16 +++++++- packages/frontend/src/lib/utils.ts | 5 +++ pnpm-lock.yaml | 6 +++ proxy.mjs | 3 +- 7 files changed, 71 insertions(+), 5 deletions(-) create mode 100644 packages/frontend/src/lib/ui/Canvas.svelte diff --git a/package.json b/package.json index 256ad54..3ce7170 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "scripts": { - "dev:docker": "docker-compose up redis", + "dev:docker": "docker-compose -f docker-compose.dev.yaml up redis", "dev:packages": "pnpm --parallel run dev", "dev:proxy": "node proxy.mjs", "dev": "run-p dev:*", diff --git a/packages/frontend/package.json b/packages/frontend/package.json index 939f5db..362e583 100644 --- a/packages/frontend/package.json +++ b/packages/frontend/package.json @@ -32,6 +32,7 @@ "copy-to-clipboard": "^3.3.3", "dompurify": "^2.4.1", "file-saver": "^2.0.5", - "pretty-bytes": "^6.0.0" + "pretty-bytes": "^6.0.0", + "qrious": "^4.0.2" } } diff --git a/packages/frontend/src/lib/ui/Canvas.svelte b/packages/frontend/src/lib/ui/Canvas.svelte new file mode 100644 index 0000000..0c5b216 --- /dev/null +++ b/packages/frontend/src/lib/ui/Canvas.svelte @@ -0,0 +1,41 @@ + + +{label} +
+ +
+ + diff --git a/packages/frontend/src/lib/ui/NoteResult.svelte b/packages/frontend/src/lib/ui/NoteResult.svelte index 2569052..ce0eafd 100644 --- a/packages/frontend/src/lib/ui/NoteResult.svelte +++ b/packages/frontend/src/lib/ui/NoteResult.svelte @@ -10,9 +10,12 @@ import Button from '$lib/ui/Button.svelte' import TextInput from '$lib/ui/TextInput.svelte' + import Canvas from './Canvas.svelte' export let result: NoteResult + $: url = `${window.location.origin}/note/${result.id}#${result.password}` + function reset() { window.location.reload() } @@ -22,11 +25,15 @@ type="text" readonly label={$t('common.share_link')} - value="{window.location.origin}/note/{result.id}#{result.password}" + value={url} copy data-testid="share-link" /> -
+ +
+ +
+

{@html $t('home.new_note_notice')}

@@ -34,4 +41,9 @@ diff --git a/packages/frontend/src/lib/utils.ts b/packages/frontend/src/lib/utils.ts index d2e3b90..0c6a7c1 100644 --- a/packages/frontend/src/lib/utils.ts +++ b/packages/frontend/src/lib/utils.ts @@ -9,3 +9,8 @@ export function copy(value: string) { const msg = get(t)('common.copied_to_clipboard') notify.success(msg) } + +export function getCSSVariable(variable: string): string { + if (typeof window === 'undefined') return '' + return window.getComputedStyle(window.document.body).getPropertyValue(variable) +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5c76837..18da95b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -32,6 +32,7 @@ importers: dotenv: ^16.0.3 file-saver: ^2.0.5 pretty-bytes: ^6.0.0 + qrious: ^4.0.2 svelte: ^3.55.0 svelte-check: ^2.10.3 svelte-intl-precompile: ^0.10.1 @@ -45,6 +46,7 @@ importers: dompurify: 2.4.1 file-saver: 2.0.5 pretty-bytes: 6.0.0 + qrious: 4.0.2 devDependencies: '@lokalise/node-api': 9.3.0 '@sveltejs/adapter-static': 1.0.0_@sveltejs+kit@1.0.1 @@ -1690,6 +1692,10 @@ packages: engines: {node: ^14.13.1 || >=16.0.0} dev: false + /qrious/4.0.2: + resolution: {integrity: sha512-xWPJIrK1zu5Ypn898fBp8RHkT/9ibquV2Kv24S/JY9VYEhMBMKur1gHVsOiNUh7PHP9uCgejjpZUHUIXXKoU/g==} + dev: false + /queue-microtask/1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} dev: true diff --git a/proxy.mjs b/proxy.mjs index 84771eb..32664b6 100644 --- a/proxy.mjs +++ b/proxy.mjs @@ -3,12 +3,13 @@ import httpProxy from 'http-proxy' const proxy = httpProxy.createProxyServer() proxy.on('error', function (err, req, res) { + console.error(err) res.writeHead(500, { 'Content-Type': 'text/plain' }) res.end('500 Internal Server Error') }) const server = http.createServer(function (req, res) { - const target = req.url.startsWith('/api/') ? 'http://localhost:5000' : 'http://localhost:3000' + const target = req.url.startsWith('/api/') ? 'http://127.0.0.1:5000' : 'http://localhost:3000' proxy.web(req, res, { target }) }) server.listen(1234)