From b53f4c4859f0c679581573528edc1aa090a1d490 Mon Sep 17 00:00:00 2001 From: thiloho <123883702+thiloho@users.noreply.github.com> Date: Sat, 5 Oct 2024 21:15:26 +0200 Subject: [PATCH] Use other string diff algorithm and optimize logs page --- web-app/package-lock.json | 22 +++-- web-app/package.json | 3 +- .../src/lib/components/LoadingSpinner.svelte | 2 +- web-app/src/lib/utils.ts | 2 +- .../routes/(anonymous)/register/+page.svelte | 60 +++++++++++--- .../website/[websiteId]/logs/+page.server.ts | 50 ++++++++++- .../website/[websiteId]/logs/+page.svelte | 82 ++++++++++--------- web-app/src/routes/+layout.svelte | 2 +- web-app/template-styles/variables.css | 8 +- 9 files changed, 160 insertions(+), 71 deletions(-) diff --git a/web-app/package-lock.json b/web-app/package-lock.json index 12e611a..ac3a952 100644 --- a/web-app/package-lock.json +++ b/web-app/package-lock.json @@ -8,7 +8,7 @@ "name": "web-app", "version": "0.0.1", "dependencies": { - "fast-diff": "1.3.0", + "diff-match-patch": "1.0.5", "highlight.js": "11.10.0", "isomorphic-dompurify": "2.15.0", "marked": "14.1.2", @@ -20,6 +20,7 @@ "@sveltejs/adapter-node": "5.2.3", "@sveltejs/kit": "2.5.28", "@sveltejs/vite-plugin-svelte": "4.0.0-next.6", + "@types/diff-match-patch": "1.0.36", "@types/eslint": "9.6.1", "@types/eslint__js": "8.42.3", "@types/eslint-config-prettier": "6.11.3", @@ -1215,6 +1216,13 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/diff-match-patch": { + "version": "1.0.36", + "resolved": "https://registry.npmjs.org/@types/diff-match-patch/-/diff-match-patch-1.0.36.tgz", + "integrity": "sha512-xFdR6tkm0MWvBfO8xXCSsinYxHcqkQUlcHeSpMC2ukzOb6lwQAfDmW+Qt0AvlGd8HpsS28qKsB+oPeJn9I39jg==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/dompurify": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/@types/dompurify/-/dompurify-3.0.5.tgz", @@ -2044,6 +2052,12 @@ "dev": true, "license": "MIT" }, + "node_modules/diff-match-patch": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/diff-match-patch/-/diff-match-patch-1.0.5.tgz", + "integrity": "sha512-IayShXAgj/QMXgB0IWmKx+rOPuGMhqm5w6jvFxmVenXKIzRqTAAsbBPT3kWQeGANj3jGgvcvv4yK6SxqYmikgw==", + "license": "Apache-2.0" + }, "node_modules/dompurify": { "version": "3.1.6", "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.1.6.tgz", @@ -2485,12 +2499,6 @@ "dev": true, "license": "MIT" }, - "node_modules/fast-diff": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", - "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", - "license": "Apache-2.0" - }, "node_modules/fast-glob": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", diff --git a/web-app/package.json b/web-app/package.json index 79e6551..36386a7 100644 --- a/web-app/package.json +++ b/web-app/package.json @@ -19,6 +19,7 @@ "@sveltejs/adapter-node": "5.2.3", "@sveltejs/kit": "2.5.28", "@sveltejs/vite-plugin-svelte": "4.0.0-next.6", + "@types/diff-match-patch": "1.0.36", "@types/eslint": "9.6.1", "@types/eslint__js": "8.42.3", "@types/eslint-config-prettier": "6.11.3", @@ -38,7 +39,7 @@ }, "type": "module", "dependencies": { - "fast-diff": "1.3.0", + "diff-match-patch": "1.0.5", "highlight.js": "11.10.0", "isomorphic-dompurify": "2.15.0", "marked": "14.1.2", diff --git a/web-app/src/lib/components/LoadingSpinner.svelte b/web-app/src/lib/components/LoadingSpinner.svelte index 12ee598..e349122 100644 --- a/web-app/src/lib/components/LoadingSpinner.svelte +++ b/web-app/src/lib/components/LoadingSpinner.svelte @@ -25,7 +25,7 @@ margin-inline-start: -2rem; border-radius: 50%; border: var(--border-primary); - border-width: 0.125rem; + border-width: 0.25rem; border-block-start-color: var(--color-accent); animation: spinner 500ms linear infinite; } diff --git a/web-app/src/lib/utils.ts b/web-app/src/lib/utils.ts index db03f0d..25e4e90 100644 --- a/web-app/src/lib/utils.ts +++ b/web-app/src/lib/utils.ts @@ -152,7 +152,7 @@ export const md = (markdownContent: string, showToc = true) => { return html; }; -export const LOADING_DELAY = 500; +export const LOADING_DELAY = 250; let loadingDelay: number; export const enhanceForm = (options?: { diff --git a/web-app/src/routes/(anonymous)/register/+page.svelte b/web-app/src/routes/(anonymous)/register/+page.svelte index be38cb9..b8dcc08 100644 --- a/web-app/src/routes/(anonymous)/register/+page.svelte +++ b/web-app/src/routes/(anonymous)/register/+page.svelte @@ -31,27 +31,61 @@ clip-rule="evenodd" > - Account registration is disabled on this instance + Registration is disabled
{:else} -