From 14cfdfb15447faebe9bc1f229fd734a618e70eb9 Mon Sep 17 00:00:00 2001 From: "dane.is.extraordinarily.cool" Date: Sat, 31 Jan 2026 10:45:25 -0500 Subject: [PATCH 01/23] refactor: working on some modal enhancements --- app/app.vue | 3 + app/assets/main.css | 5 + app/components/AuthModal.client.vue | 159 ++++++++++++++++ app/components/AuthModal.vue | 198 -------------------- app/components/HeaderAccountMenu.client.vue | 18 +- app/components/Modal.client.vue | 36 ++++ 6 files changed, 212 insertions(+), 207 deletions(-) create mode 100644 app/components/AuthModal.client.vue delete mode 100644 app/components/AuthModal.vue create mode 100644 app/components/Modal.client.vue diff --git a/app/app.vue b/app/app.vue index 0a197e8d77..965ee97d10 100644 --- a/app/app.vue +++ b/app/app.vue @@ -81,4 +81,7 @@ if (import.meta.client) { + + + diff --git a/app/assets/main.css b/app/assets/main.css index 833ea104dd..605f6239ee 100644 --- a/app/assets/main.css +++ b/app/assets/main.css @@ -553,3 +553,8 @@ input[type='search']::-webkit-search-results-decoration { animation-duration: 0.3s; animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1); } + +/* Locking the scroll whenever any of the modals are open */ +html:has(dialog[open]) { + overflow: hidden; +} diff --git a/app/components/AuthModal.client.vue b/app/components/AuthModal.client.vue new file mode 100644 index 0000000000..b7fd582540 --- /dev/null +++ b/app/components/AuthModal.client.vue @@ -0,0 +1,159 @@ + + + diff --git a/app/components/AuthModal.vue b/app/components/AuthModal.vue deleted file mode 100644 index ade24b2eaf..0000000000 --- a/app/components/AuthModal.vue +++ /dev/null @@ -1,198 +0,0 @@ - - - diff --git a/app/components/HeaderAccountMenu.client.vue b/app/components/HeaderAccountMenu.client.vue index 5624c0c563..43395d2176 100644 --- a/app/components/HeaderAccountMenu.client.vue +++ b/app/components/HeaderAccountMenu.client.vue @@ -49,9 +49,12 @@ function openConnectorModal() { showConnectorModal.value = true } -function openAuthModal() { - isOpen.value = false - showAuthModal.value = true +function handleModalOpen() { + const authModal = document.querySelector('#modal') + if (authModal) { + isOpen.value = false + authModal.showModal() + } } @@ -179,7 +182,7 @@ function openAuthModal() { type="button" role="menuitem" class="w-full px-3 py-2.5 flex items-center gap-3 hover:bg-bg-subtle transition-colors text-start" - @click="openAuthModal" + @click="handleModalOpen" >