From 60be4fbdfb182e0808d68e03b13c56448f259a3d Mon Sep 17 00:00:00 2001 From: Ludwig Lehnert Date: Fri, 13 Jun 2025 19:29:45 +0200 Subject: [PATCH] more changes --- package-lock.json | 30 +++++++++ package.json | 3 + src/app.css | 19 ++++++ src/lib/crypto.ts | 4 +- src/lib/date.ts | 2 +- src/lib/ffmpeg.server.ts | 2 +- src/routes/(area)/log/+page.svelte | 9 +++ src/routes/(area)/login/+page.svelte | 8 ++- src/routes/(area)/logout/+page.svelte | 11 ++++ src/routes/(area)/settings/+page.svelte | 7 ++- src/routes/(area)/today/+page.svelte | 28 ++++++--- src/routes/+page.svelte | 68 ++++++++++++++++++++- src/routes/api/delete/+server.ts | 35 +++++++++++ src/routes/api/{today => submit}/+server.ts | 19 +++--- 14 files changed, 220 insertions(+), 25 deletions(-) create mode 100644 src/routes/(area)/logout/+page.svelte create mode 100644 src/routes/api/delete/+server.ts rename src/routes/api/{today => submit}/+server.ts (64%) diff --git a/package-lock.json b/package-lock.json index c3192e4..22a58ec 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,6 +9,9 @@ "version": "0.0.1", "dependencies": { "@aws-sdk/client-s3": "^3.828.0", + "@fontsource/merriweather": "^5.2.9", + "@fontsource/roboto": "^5.2.6", + "@fontsource/roboto-mono": "^5.2.6", "@noble/ed25519": "^2.3.0", "@noble/hashes": "^1.8.0", "@sveltejs/adapter-node": "^5.2.12", @@ -1295,6 +1298,33 @@ "node": ">=18" } }, + "node_modules/@fontsource/merriweather": { + "version": "5.2.9", + "resolved": "https://registry.npmjs.org/@fontsource/merriweather/-/merriweather-5.2.9.tgz", + "integrity": "sha512-amd5Wp7BM5U0HE/FUgsJmf/dvfqSKYf55HrxR1tMlpT3BqQmVZHB9RJDBpNqqf3/yF6fkryCbx5H9fEMa4mY3g==", + "license": "OFL-1.1", + "funding": { + "url": "https://github.com/sponsors/ayuhito" + } + }, + "node_modules/@fontsource/roboto": { + "version": "5.2.6", + "resolved": "https://registry.npmjs.org/@fontsource/roboto/-/roboto-5.2.6.tgz", + "integrity": "sha512-hzarG7yAhMoP418smNgfY4fO7UmuUEm5JUtbxCoCcFHT0hOJB+d/qAEyoNjz7YkPU5OjM2LM8rJnW8hfm0JLaA==", + "license": "OFL-1.1", + "funding": { + "url": "https://github.com/sponsors/ayuhito" + } + }, + "node_modules/@fontsource/roboto-mono": { + "version": "5.2.6", + "resolved": "https://registry.npmjs.org/@fontsource/roboto-mono/-/roboto-mono-5.2.6.tgz", + "integrity": "sha512-fLCa3zs9XruKE8Fdbq0UWB0wqTi5dzi09QsnW7HgTwwnSVDZ3nH+X7Qg7l0yeIZs+E472cKE3RUD21ZnaXk4Zg==", + "license": "OFL-1.1", + "funding": { + "url": "https://github.com/sponsors/ayuhito" + } + }, "node_modules/@isaacs/fs-minipass": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", diff --git a/package.json b/package.json index 3c6737d..f07fb2c 100644 --- a/package.json +++ b/package.json @@ -23,6 +23,9 @@ }, "dependencies": { "@aws-sdk/client-s3": "^3.828.0", + "@fontsource/merriweather": "^5.2.9", + "@fontsource/roboto": "^5.2.6", + "@fontsource/roboto-mono": "^5.2.6", "@noble/ed25519": "^2.3.0", "@noble/hashes": "^1.8.0", "@sveltejs/adapter-node": "^5.2.12", diff --git a/src/app.css b/src/app.css index b817ed3..59b28ce 100644 --- a/src/app.css +++ b/src/app.css @@ -1,10 +1,24 @@ @import "tailwindcss"; +@import "@fontsource/roboto/400.css"; +@import "@fontsource/roboto/700.css"; +@import "@fontsource/roboto-mono/400.css"; +@import "@fontsource/roboto-mono/700.css"; +@import "@fontsource/merriweather/400.css"; +@import "@fontsource/merriweather/700.css"; + +@theme { + --font-sans: 'Roboto', sans-serif; + --font-serif: 'Merriweather', serif; + --font-mono: 'Roboto Mono', monospace; +} + html, body { height: 100%; scroll-behavior: smooth; background-color: #e7f7df; + font-family: var(--font-sans); } @keyframes fade-in { @@ -71,3 +85,8 @@ body { .min-rh-screen { min-height: calc(100 * var(--vh) - 1px); } + + +button, a { + cursor: pointer; +} \ No newline at end of file diff --git a/src/lib/crypto.ts b/src/lib/crypto.ts index a49496a..87ca223 100644 --- a/src/lib/crypto.ts +++ b/src/lib/crypto.ts @@ -9,11 +9,11 @@ const SALT = 'SONRI-KEY-SALT'; export type KeyVault = Awaited>; // Helper: convert string to Uint8Array -function strToUint8(str: string) { +export function strToUint8(str: string) { return new TextEncoder().encode(str); } -function uint8ToStr(uint8: Uint8Array) { +export function uint8ToStr(uint8: Uint8Array) { return new TextDecoder().decode(uint8); } diff --git a/src/lib/date.ts b/src/lib/date.ts index e97713c..af35e19 100644 --- a/src/lib/date.ts +++ b/src/lib/date.ts @@ -1,4 +1,4 @@ export function dateDiff(a: Date, b: Date) { const diff = (a.getTime() - b.getTime()) - 60 * 60 * 1000; return new Date(diff); -} \ No newline at end of file +} diff --git a/src/lib/ffmpeg.server.ts b/src/lib/ffmpeg.server.ts index f5d0b68..e25e875 100644 --- a/src/lib/ffmpeg.server.ts +++ b/src/lib/ffmpeg.server.ts @@ -13,7 +13,7 @@ export async function convertVideo(video: Uint8Array) { await fs.writeFile(tempInPath, video); const status = await new Promise((resolve, reject) => { - const child = exec(`ffmpeg -i "${tempInPath}" -preset ultrafast -vf "scale=320:480,eq=saturation=1.4,unsharp=5:5:1.5:5:5:0.0" -b:v 420k -b:a 64k "${tempOutPath}"`, (err) => { + const child = exec(`ffmpeg -i "${tempInPath}" -preset ultrafast -vf "scale=320:480,eq=saturation=1.5,unsharp=5:5:1.5:5:5:0.0" -b:v 420k -b:a 48k "${tempOutPath}"`, (err) => { if (err) { reject(err); return; diff --git a/src/routes/(area)/log/+page.svelte b/src/routes/(area)/log/+page.svelte index 467016e..1c81348 100644 --- a/src/routes/(area)/log/+page.svelte +++ b/src/routes/(area)/log/+page.svelte @@ -42,6 +42,11 @@ }; + + + Somri Wormhole - Go back in time! + +
+ + diff --git a/src/routes/(area)/login/+page.svelte b/src/routes/(area)/login/+page.svelte index ae4b1e1..516954b 100644 --- a/src/routes/(area)/login/+page.svelte +++ b/src/routes/(area)/login/+page.svelte @@ -20,7 +20,11 @@ }); -
+ + Somri Login + + +
@@ -31,4 +35,4 @@ Login
-
\ No newline at end of file +
diff --git a/src/routes/(area)/logout/+page.svelte b/src/routes/(area)/logout/+page.svelte new file mode 100644 index 0000000..21faa2f --- /dev/null +++ b/src/routes/(area)/logout/+page.svelte @@ -0,0 +1,11 @@ + \ No newline at end of file diff --git a/src/routes/(area)/settings/+page.svelte b/src/routes/(area)/settings/+page.svelte index 052454d..cfb7aa1 100644 --- a/src/routes/(area)/settings/+page.svelte +++ b/src/routes/(area)/settings/+page.svelte @@ -9,4 +9,9 @@ window.location.href = '/login'; } }); - \ No newline at end of file + + + + + Somri Settings + \ No newline at end of file diff --git a/src/routes/(area)/today/+page.svelte b/src/routes/(area)/today/+page.svelte index 91f19f1..270d299 100644 --- a/src/routes/(area)/today/+page.svelte +++ b/src/routes/(area)/today/+page.svelte @@ -1,9 +1,8 @@ + + Memo - {date.toLocaleDateString(lang(), { dateStyle: 'long' })} + +