From 8f4c32b93f050db5754ccf0040147c3aff88aacd Mon Sep 17 00:00:00 2001 From: archipelago Date: Wed, 22 Jul 2026 19:08:38 -0400 Subject: [PATCH] =?UTF-8?q?feat(ui):=20modal=20contract=20=E2=80=94=20pinn?= =?UTF-8?q?ed=20title+tabs,=20scrolling=20middle,=20pinned=20footer?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit BaseModal becomes a flex column: title row and the new #header slot (tabs) stay fixed at the top, #footer (action buttons) fixed at the bottom, only the default slot scrolls (default max-h 90vh unless the caller sets one). Wallet Settings migrates: tabs pinned, four duplicated in-pane Close rows collapse into one pinned footer that carries the active tab's primary action. Co-Authored-By: Claude Fable 5 --- neode-ui/src/components/BaseModal.vue | 28 ++++++- .../src/components/WalletSettingsModal.vue | 84 +++++++++---------- 2 files changed, 63 insertions(+), 49 deletions(-) diff --git a/neode-ui/src/components/BaseModal.vue b/neode-ui/src/components/BaseModal.vue index 2815b1bf..49a1f21e 100644 --- a/neode-ui/src/components/BaseModal.vue +++ b/neode-ui/src/components/BaseModal.vue @@ -8,10 +8,16 @@ @click.self="close" >
+ - - +
+ +
+
+ +
+
+ +
@@ -60,6 +73,13 @@ const emit = defineEmits<{ const modalRef = ref(null) const zClass = computed(() => props.zIndex) +// The pinned-footer layout needs a height bound or tall content pushes the +// footer off-screen anyway. Callers that set their own max-h (e.g. the +// Transactions modal's visual-viewport calc on mobile) keep authority — +// adding a second max-h class would make the CSS winner order-dependent. +const defaultMaxH = computed(() => + props.contentClass.includes('max-h-') ? '' : 'max-h-[90vh]' +) function close() { emit('close') diff --git a/neode-ui/src/components/WalletSettingsModal.vue b/neode-ui/src/components/WalletSettingsModal.vue index 580108bc..a9519d75 100644 --- a/neode-ui/src/components/WalletSettingsModal.vue +++ b/neode-ui/src/components/WalletSettingsModal.vue @@ -1,15 +1,18 @@ @@ -133,16 +123,6 @@
{{ fedError }}
Federation joined.
-
- - -

Joining federations lands with the Fedimint client backend. @@ -179,9 +159,6 @@ Don't warn me each time before opening the external explorer -

- -
@@ -269,16 +246,33 @@
{{ arkError }}
{{ arkOk }}
-
- - -
+ +