From 92ef79b607ff787b4cb0301abf9e2bf0e96dff5a Mon Sep 17 00:00:00 2001 From: Allan Lasser Date: Thu, 11 Dec 2025 11:11:50 -0500 Subject: [PATCH 01/10] Adds nvmrc I'm always using the wrong node version on my system, so this gives more hints for which node to build for --- .nvmrc | 1 + 1 file changed, 1 insertion(+) create mode 100644 .nvmrc diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 000000000..8fdd954df --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +22 \ No newline at end of file From 973c9a933149b1769a5c893e8ceaf14f22647189 Mon Sep 17 00:00:00 2001 From: Allan Lasser Date: Thu, 11 Dec 2025 12:13:34 -0500 Subject: [PATCH 02/10] Support variable-size share dialog --- src/lib/components/documents/Share.svelte | 25 +++++++++------ .../documents/stories/Share.stories.svelte | 31 +++++++++++++------ src/lib/components/layouts/Modal.svelte | 19 ++++++++++-- 3 files changed, 53 insertions(+), 22 deletions(-) diff --git a/src/lib/components/documents/Share.svelte b/src/lib/components/documents/Share.svelte index 4ba32bd52..dcb891cde 100644 --- a/src/lib/components/documents/Share.svelte +++ b/src/lib/components/documents/Share.svelte @@ -283,16 +283,18 @@ diff --git a/src/lib/components/layouts/Modal.svelte b/src/lib/components/layouts/Modal.svelte index 492c5918d..02c54f74a 100644 --- a/src/lib/components/layouts/Modal.svelte +++ b/src/lib/components/layouts/Modal.svelte @@ -35,6 +35,10 @@ of the $modal store. These are used to set the active modal on any given page. const dispatch = createEventDispatcher(); + export let maxWidth: string = "48rem"; + export let maxHeight: string = "90vh"; + export let fillViewport: boolean = false; + function onKeydown(e: KeyboardEvent) { if (e.key === "Escape") { dispatch("close"); @@ -47,6 +51,9 @@ of the $modal store. These are used to set the active modal on any given page.
@@ -87,22 +94,28 @@ of the $modal store. These are used to set the active modal on any given page. .card { display: flex; flex-direction: column; - gap: 1rem; - max-width: 48rem; + gap: 0 1rem; overflow-x: hidden; overflow-y: auto; position: relative; - padding: 1.5rem; + padding: 0; border-radius: var(--font-md, 1rem); background: var(--white, #fff); box-shadow: 0px 4px 16px 4px #99a8b3; } + .card.fill-viewport { + width: 100%; + height: auto; + } + .card > header { display: flex; align-items: center; justify-content: space-between; flex-direction: row-reverse; + padding: 1rem; + border-bottom: 1px solid var(--gray-2, #d8dee2); } .content { From 880aa3c67cfee02efe1454ec3b5c03fb918f64b1 Mon Sep 17 00:00:00 2001 From: Allan Lasser Date: Thu, 11 Dec 2025 12:13:58 -0500 Subject: [PATCH 03/10] Update Share modal instances with variable sizing --- src/lib/components/notes/Note.svelte | 2 +- src/lib/components/sidebar/DocumentActions.svelte | 2 +- src/lib/components/sidebar/ViewerActions.svelte | 7 ++++++- src/lib/components/viewer/PageActions.svelte | 2 +- 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/lib/components/notes/Note.svelte b/src/lib/components/notes/Note.svelte index aa82bfb19..d4183d7ec 100644 --- a/src/lib/components/notes/Note.svelte +++ b/src/lib/components/notes/Note.svelte @@ -102,7 +102,7 @@
{#if !embed && shareNoteOpen} - (shareNoteOpen = false)}> + (shareNoteOpen = false)} fillViewport maxWidth="66rem" maxHeight="80vh">

{$_("dialog.share")}

diff --git a/src/lib/components/sidebar/DocumentActions.svelte b/src/lib/components/sidebar/DocumentActions.svelte index 5d238fb90..5610e6a7b 100644 --- a/src/lib/components/sidebar/DocumentActions.svelte +++ b/src/lib/components/sidebar/DocumentActions.svelte @@ -167,7 +167,7 @@ Most actual actions are deferred to their own forms, so this is more of a switch {#if visible} - +

{$_(labels[visible])}

{#if visible === "share"} diff --git a/src/lib/components/sidebar/ViewerActions.svelte b/src/lib/components/sidebar/ViewerActions.svelte index c0274a93e..342212011 100644 --- a/src/lib/components/sidebar/ViewerActions.svelte +++ b/src/lib/components/sidebar/ViewerActions.svelte @@ -149,7 +149,12 @@ {#if visible} - +

{$_(labels[visible])} {#if visible === "revisions"} diff --git a/src/lib/components/viewer/PageActions.svelte b/src/lib/components/viewer/PageActions.svelte index 01912719f..fe72429cd 100644 --- a/src/lib/components/viewer/PageActions.svelte +++ b/src/lib/components/viewer/PageActions.svelte @@ -103,7 +103,7 @@

{#if pageShareOpen} - (pageShareOpen = false)}> + (pageShareOpen = false)} fillViewport maxWidth="90vw" maxHeight="80vh">

{$_("dialog.share")}

From 01e519508e46b4e007954fe81094c33533cb96fd Mon Sep 17 00:00:00 2001 From: Allan Lasser Date: Thu, 11 Dec 2025 12:29:30 -0500 Subject: [PATCH 04/10] Padding for all forms used in Modals --- src/lib/components/accounts/Mailkey.svelte | 34 +++++++++++-------- src/lib/components/forms/ChangeOwner.svelte | 1 + src/lib/components/forms/ConfirmDelete.svelte | 1 + .../components/forms/ConfirmRedaction.svelte | 4 +++ src/lib/components/forms/DeleteProject.svelte | 1 + src/lib/components/forms/Edit.svelte | 1 + src/lib/components/forms/EditAccess.svelte | 1 + src/lib/components/forms/EditMany.svelte | 1 + src/lib/components/forms/EditNote.svelte | 6 ++++ src/lib/components/forms/EditProject.svelte | 1 + .../forms/InviteCollaborator.svelte | 1 + src/lib/components/forms/Projects.svelte | 1 + .../forms/RemoveCollaborator.svelte | 1 + src/lib/components/forms/Reprocess.svelte | 1 + .../forms/UpdateCollaborator.svelte | 1 + src/lib/components/forms/UserFeedback.svelte | 1 + 16 files changed, 43 insertions(+), 14 deletions(-) diff --git a/src/lib/components/accounts/Mailkey.svelte b/src/lib/components/accounts/Mailkey.svelte index c032c5d04..84f3c5345 100644 --- a/src/lib/components/accounts/Mailkey.svelte +++ b/src/lib/components/accounts/Mailkey.svelte @@ -55,23 +55,29 @@

{$_("mailkey.title")}

-
{@html $_("mailkey.description")}
- {#if message} -

- {@html message} -

- {/if} - - - - +
+
{@html $_("mailkey.description")}
+ {#if message} +

+ {@html message} +

+ {/if} + + + + +
diff --git a/src/lib/components/forms/ConfirmRedaction.svelte b/src/lib/components/forms/ConfirmRedaction.svelte index 54a4e81d6..99e5f58aa 100644 --- a/src/lib/components/forms/ConfirmRedaction.svelte +++ b/src/lib/components/forms/ConfirmRedaction.svelte @@ -89,6 +89,10 @@ This almost certainly lives in a modal. diff --git a/src/lib/components/forms/Edit.svelte b/src/lib/components/forms/Edit.svelte index b527da9de..a5b7c0bf6 100644 --- a/src/lib/components/forms/Edit.svelte +++ b/src/lib/components/forms/Edit.svelte @@ -137,5 +137,6 @@ Usually this will be rendered inside a modal, but it doesn't have to be. diff --git a/src/lib/components/forms/EditAccess.svelte b/src/lib/components/forms/EditAccess.svelte index 68af7ff52..3ae699aa1 100644 --- a/src/lib/components/forms/EditAccess.svelte +++ b/src/lib/components/forms/EditAccess.svelte @@ -106,5 +106,6 @@ Usually this will be rendered inside a modal, but it doesn't have to be. diff --git a/src/lib/components/forms/EditMany.svelte b/src/lib/components/forms/EditMany.svelte index eb8109c57..d536ab268 100644 --- a/src/lib/components/forms/EditMany.svelte +++ b/src/lib/components/forms/EditMany.svelte @@ -150,5 +150,6 @@ Usually this will be rendered inside a modal, but it doesn't have to be. diff --git a/src/lib/components/forms/EditNote.svelte b/src/lib/components/forms/EditNote.svelte index 5fd6bb974..cd119fe80 100644 --- a/src/lib/components/forms/EditNote.svelte +++ b/src/lib/components/forms/EditNote.svelte @@ -92,3 +92,9 @@ Positioning and generating coordinates should happen outside of this form. + + diff --git a/src/lib/components/forms/EditProject.svelte b/src/lib/components/forms/EditProject.svelte index d2a52d768..eae4417fa 100644 --- a/src/lib/components/forms/EditProject.svelte +++ b/src/lib/components/forms/EditProject.svelte @@ -81,5 +81,6 @@ Edit project metadata diff --git a/src/lib/components/forms/InviteCollaborator.svelte b/src/lib/components/forms/InviteCollaborator.svelte index 3798f08ed..5560bf2a4 100644 --- a/src/lib/components/forms/InviteCollaborator.svelte +++ b/src/lib/components/forms/InviteCollaborator.svelte @@ -74,6 +74,7 @@ Invite a new collaborator to a project flex-direction: column; gap: 0.75rem; width: 100%; + padding: 1rem; } .error { diff --git a/src/lib/components/forms/Projects.svelte b/src/lib/components/forms/Projects.svelte index 22cf4a330..f76e9126f 100644 --- a/src/lib/components/forms/Projects.svelte +++ b/src/lib/components/forms/Projects.svelte @@ -163,6 +163,7 @@ and we don't want to do that everywhere. flex-direction: column; gap: 0.5rem; width: 100%; + padding: 1rem; } .projects { diff --git a/src/lib/components/forms/RemoveCollaborator.svelte b/src/lib/components/forms/RemoveCollaborator.svelte index 1b9664ba9..00adffa47 100644 --- a/src/lib/components/forms/RemoveCollaborator.svelte +++ b/src/lib/components/forms/RemoveCollaborator.svelte @@ -58,5 +58,6 @@ Remove a collaborator from a project flex-direction: column; gap: 0.75rem; width: 100%; + padding: 1rem; } diff --git a/src/lib/components/forms/Reprocess.svelte b/src/lib/components/forms/Reprocess.svelte index 170368b6a..73c23c874 100644 --- a/src/lib/components/forms/Reprocess.svelte +++ b/src/lib/components/forms/Reprocess.svelte @@ -248,6 +248,7 @@ This will mostly be used inside a modal but isn't dependent on one. flex-flow: column nowrap; gap: 0.5rem; width: 100%; + padding: 1rem; } .disclaimer { diff --git a/src/lib/components/forms/UpdateCollaborator.svelte b/src/lib/components/forms/UpdateCollaborator.svelte index ac5787611..bd1529058 100644 --- a/src/lib/components/forms/UpdateCollaborator.svelte +++ b/src/lib/components/forms/UpdateCollaborator.svelte @@ -65,5 +65,6 @@ Update permissions for a single collaborator on a project flex-direction: column; gap: 0.75rem; width: 100%; + padding: 1rem; } diff --git a/src/lib/components/forms/UserFeedback.svelte b/src/lib/components/forms/UserFeedback.svelte index 2f4067e74..6b4b410be 100644 --- a/src/lib/components/forms/UserFeedback.svelte +++ b/src/lib/components/forms/UserFeedback.svelte @@ -129,6 +129,7 @@ display: flex; flex-direction: column; gap: 0.5rem; + padding: 1rem; } header, footer { From e1098df80d2b70cf47e09f3a5b5a4803be75e0a5 Mon Sep 17 00:00:00 2001 From: Allan Lasser Date: Thu, 11 Dec 2025 13:17:49 -0500 Subject: [PATCH 05/10] Refactor common form styles into `kit.css` --- src/lib/components/accounts/Mailkey.svelte | 5 +---- src/lib/components/forms/ChangeOwner.svelte | 4 +--- src/lib/components/forms/ConfirmDelete.svelte | 4 +--- src/lib/components/forms/ConfirmRedaction.svelte | 6 +----- src/lib/components/forms/DeleteProject.svelte | 6 +----- src/lib/components/forms/Edit.svelte | 9 +-------- src/lib/components/forms/EditAccess.svelte | 9 +-------- src/lib/components/forms/EditData.svelte | 7 +------ src/lib/components/forms/EditMany.svelte | 9 +-------- src/lib/components/forms/EditNote.svelte | 8 +------- src/lib/components/forms/EditProject.svelte | 9 +-------- src/lib/components/forms/EditSections.svelte | 7 +------ src/lib/components/forms/InviteCollaborator.svelte | 10 +--------- src/lib/components/forms/Projects.svelte | 4 +--- src/lib/components/forms/RemoveCollaborator.svelte | 12 +----------- src/lib/components/forms/Reprocess.svelte | 6 +----- src/lib/components/forms/UpdateCollaborator.svelte | 12 +----------- src/lib/components/forms/UserFeedback.svelte | 5 +---- src/style/kit.css | 14 ++++++++++++++ 19 files changed, 32 insertions(+), 114 deletions(-) diff --git a/src/lib/components/accounts/Mailkey.svelte b/src/lib/components/accounts/Mailkey.svelte index 84f3c5345..927f7e9ac 100644 --- a/src/lib/components/accounts/Mailkey.svelte +++ b/src/lib/components/accounts/Mailkey.svelte @@ -55,7 +55,7 @@

{$_("mailkey.title")}

-
+