mirror of
https://github.com/InvoiceShelf/InvoiceShelf.git
synced 2026-04-16 01:34:08 +00:00
85 lines
2.0 KiB
Vue
85 lines
2.0 KiB
Vue
<template>
|
|
<div
|
|
class="
|
|
flex min-h-screen items-center justify-center bg-surface-tertiary px-4 py-12
|
|
sm:px-6 lg:px-8
|
|
"
|
|
>
|
|
<NotificationRoot />
|
|
|
|
<div class="w-full max-w-md">
|
|
<div class="mb-10 flex justify-center">
|
|
<MainLogo
|
|
v-if="!customerLogo"
|
|
class="block h-auto w-44 max-w-full text-primary-500"
|
|
/>
|
|
|
|
<img
|
|
v-else
|
|
:src="customerLogo"
|
|
class="block h-auto w-44 max-w-full"
|
|
/>
|
|
</div>
|
|
|
|
<div class="rounded-2xl border border-line-default bg-surface px-6 py-8 shadow-sm sm:px-8">
|
|
<div class="mb-8 text-left">
|
|
<h1 class="text-2xl font-semibold tracking-tight text-heading">
|
|
{{ pageTitle }}
|
|
</h1>
|
|
<p class="mt-2 text-sm leading-6 text-muted">
|
|
{{ pageDescription }}
|
|
</p>
|
|
</div>
|
|
|
|
<router-view />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<script setup lang="ts">
|
|
import { computed } from 'vue'
|
|
import { useRoute } from 'vue-router'
|
|
import { useI18n } from 'vue-i18n'
|
|
import NotificationRoot from '@v2/components/notifications/NotificationRoot.vue'
|
|
import MainLogo from '@v2/components/icons/MainLogo.vue'
|
|
|
|
declare global {
|
|
interface Window {
|
|
customer_logo?: string
|
|
customer_page_title?: string
|
|
}
|
|
}
|
|
|
|
const route = useRoute()
|
|
const { t } = useI18n()
|
|
|
|
const customerLogo = computed<string | false>(() => {
|
|
return window.customer_logo || false
|
|
})
|
|
|
|
const pageTitle = computed<string>(() => {
|
|
if (route.name === 'customer-portal.forgot-password') {
|
|
return t('login.forgot_password')
|
|
}
|
|
|
|
if (route.name === 'customer-portal.reset-password') {
|
|
return t('login.reset_password')
|
|
}
|
|
|
|
return window.customer_page_title || t('customers.portal_access')
|
|
})
|
|
|
|
const pageDescription = computed<string>(() => {
|
|
if (route.name === 'customer-portal.forgot-password') {
|
|
return t('login.enter_email')
|
|
}
|
|
|
|
if (route.name === 'customer-portal.reset-password') {
|
|
return t('customers.portal_access_text')
|
|
}
|
|
|
|
return t('customers.portal_access_text')
|
|
})
|
|
</script>
|