From 65d6c0a110bf36fb9cc45709a3647f8ca21d707e Mon Sep 17 00:00:00 2001 From: TR Tajim Date: Sun, 11 Oct 2026 09:52:27 +0600 Subject: [PATCH 1/2] feat(auth): add guest login prompt for engaged visitors --- resources/js/components/GuestLoginPrompt.vue | 228 +++++++++++++++++++ resources/js/layouts/AppLayout.vue | 2 + 2 files changed, 230 insertions(+) create mode 100644 resources/js/components/GuestLoginPrompt.vue diff --git a/resources/js/components/GuestLoginPrompt.vue b/resources/js/components/GuestLoginPrompt.vue new file mode 100644 index 00000000..45c00023 --- /dev/null +++ b/resources/js/components/GuestLoginPrompt.vue @@ -0,0 +1,228 @@ + + + diff --git a/resources/js/layouts/AppLayout.vue b/resources/js/layouts/AppLayout.vue index 930713b9..77dc8228 100644 --- a/resources/js/layouts/AppLayout.vue +++ b/resources/js/layouts/AppLayout.vue @@ -5,6 +5,7 @@ import { computed, ref, watch } from 'vue'; import AtmosphericBackground from '@/components/AtmosphericBackground.vue'; import FloatingShareBar from '@/components/FloatingShareBar.vue'; import Footer from '@/components/Footer.vue'; +import GuestLoginPrompt from '@/components/GuestLoginPrompt.vue'; import InAppBrowserPrompt from '@/components/InAppBrowserPrompt.vue'; import LoadingSpinner from '@/components/LoadingSpinner.vue'; import { @@ -138,5 +139,6 @@ const drawerOpen = ref(false); + From 9222a406da8bdaff92b0bcfef825345842285b4b Mon Sep 17 00:00:00 2001 From: TR Tajim Date: Sun, 11 Oct 2026 09:57:59 +0600 Subject: [PATCH 2/2] style: format GuestLoginPrompt with prettier --- resources/js/components/GuestLoginPrompt.vue | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/resources/js/components/GuestLoginPrompt.vue b/resources/js/components/GuestLoginPrompt.vue index 45c00023..4b3f53b1 100644 --- a/resources/js/components/GuestLoginPrompt.vue +++ b/resources/js/components/GuestLoginPrompt.vue @@ -31,8 +31,8 @@ const isAuthRoute = computed(() => { const isDismissedInSession = (): boolean => { if (typeof window === 'undefined') { -return true; -} + return true; + } try { return sessionStorage.getItem(DISMISS_KEY) === 'true'; @@ -73,8 +73,8 @@ const evaluatePrompt = (isNewNavigation = false) => { } if (typeof window === 'undefined') { -return; -} + return; + } let count = 1;