1
0
forked from test/crm
jcrm/frontend/src/App.vue
Shariq Ansari 1a9a661c1c fix: wrap layout and dialogs in FrappeUIProvider
(cherry picked from commit 0978fa58a29d6af52f1b1fe4b3e025f4f82ca889)
2025-05-19 10:51:59 +00:00

36 lines
936 B
Vue

<template>
<FrappeUIProvider>
<Layout v-if="session().isLoggedIn">
<router-view />
</Layout>
<Dialogs />
</FrappeUIProvider>
</template>
<script setup>
import { Dialogs } from '@/utils/dialogs'
import { sessionStore as session } from '@/stores/session'
import { setTheme } from '@/stores/theme'
import { FrappeUIProvider, setConfig } from 'frappe-ui'
import { computed, defineAsyncComponent, onMounted } from 'vue'
const MobileLayout = defineAsyncComponent(
() => import('./components/Layouts/MobileLayout.vue'),
)
const DesktopLayout = defineAsyncComponent(
() => import('./components/Layouts/DesktopLayout.vue'),
)
const Layout = computed(() => {
if (window.innerWidth < 640) {
return MobileLayout
} else {
return DesktopLayout
}
})
onMounted(() => setTheme())
setConfig('systemTimezone', window.timezone?.system || null)
setConfig('localTimezone', window.timezone?.user || null)
</script>