+
+
+
+
+
+ {{ body.text }}
+
+
+
+
+ diff --git a/src/App.vue b/src/App.vue index 3b63ebc..b1540fc 100644 --- a/src/App.vue +++ b/src/App.vue @@ -89,13 +89,17 @@
@@ -121,6 +125,7 @@ import SupportMessengerPicker from '@/components/SupportMessengerPicker.vue' import { useDraggableFloatingButton } from '@/utils/useDraggableFloatingButton' import { useApplyDesktopLayoutClass, useDesktopBreakpoint } from '@/layouts/composables/useAppLayout' import AppCreditLink from '@/components/AppCreditLink.vue' +import EnamadBadge from '@/components/EnamadBadge.vue' import { usePwaInstall } from '@/composables/usePwaInstall' import PwaInstallGuideModal from '@/components/pwa/PwaInstallGuideModal.vue' import GoldDayCalculatorModal from '@/components/GoldDayCalculatorModal.vue' @@ -159,6 +164,7 @@ const showDesktopFloatingCredit = computed(() => { if (!isDesktop.value) return false return route.name === 'login' || !!route.meta.hideMenu }) +const isLoginRoute = computed(() => route.name === 'login') const { guideOpen, @@ -305,19 +311,34 @@ watch(latestIncomingNotification, (payload) => { margin-left: auto; margin-right: auto; min-height: var(--app-credit-bar-inner); - padding-bottom: var(--app-safe-bottom); + padding: 4px 0 var(--app-safe-bottom); background: #fff; box-shadow: 0 -2px 4px -2px #0000001a; display: flex; + flex-direction: column; justify-content: center; + align-items: center; + gap: 4px; font-size: 9px; } +.app-credit-footer--login.app-credit-footer--mobile { + min-height: 72px; +} + +:root:has(.app-credit-footer--login) { + --app-credit-bar-inner: 72px; +} + .app-credit-footer--desktop-float { left: auto; right: 20px; bottom: 16px; width: auto; + display: flex; + flex-direction: column; + align-items: center; + gap: 6px; } .app-credit-link { diff --git a/src/app/setupRouter.ts b/src/app/setupRouter.ts index 5ff9faa..108ce5a 100644 --- a/src/app/setupRouter.ts +++ b/src/app/setupRouter.ts @@ -37,7 +37,7 @@ export function setupRouterGuards() { if (to.meta?.public) { return true } - return ['login', '404', 'buyProduct', 'productDetail', 'about', 'cart', 'tvMonitor'].includes( + return ['login', '404', 'buyProduct', 'productDetail', 'about', 'aboutSoftware', 'cart', 'tvMonitor'].includes( to.name as string, ) } diff --git a/src/components/EnamadBadge.vue b/src/components/EnamadBadge.vue new file mode 100644 index 0000000..95a345a --- /dev/null +++ b/src/components/EnamadBadge.vue @@ -0,0 +1,70 @@ + + +معرفی نرمافزار و خدمات
+