2025-04-14 13:09:00 +00:00
|
|
|
<template>
|
|
|
|
<div id="app">
|
2025-05-31 14:19:08 +00:00
|
|
|
<!-- Dashboard LayOut -->
|
|
|
|
<template v-if="isDashboardLayout">
|
|
|
|
<SidebarMenu />
|
|
|
|
<div class="dashboard-page">
|
|
|
|
<div class="content">
|
|
|
|
<AppHeader :pageTitle="$route.meta.title" />
|
|
|
|
<router-view></router-view>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</template>
|
2025-04-14 13:09:00 +00:00
|
|
|
|
2025-05-31 14:19:08 +00:00
|
|
|
<!-- Sample LayOut for SignUp .... -->
|
|
|
|
<template v-else>
|
|
|
|
<router-view></router-view>
|
|
|
|
</template>
|
2025-05-03 11:02:18 +00:00
|
|
|
|
2025-05-31 14:19:08 +00:00
|
|
|
<Footer />
|
|
|
|
</div>
|
2025-04-14 13:09:00 +00:00
|
|
|
</template>
|
|
|
|
|
|
|
|
<script>
|
2025-05-31 14:19:08 +00:00
|
|
|
import AppHeader from '@/components/Header.vue';
|
|
|
|
import SidebarMenu from '@/components/SidebarMenu.vue';
|
|
|
|
import Footer from '@/components/Footer.vue';
|
2025-05-03 11:02:18 +00:00
|
|
|
|
2025-04-14 13:09:00 +00:00
|
|
|
export default {
|
|
|
|
name: 'App',
|
2025-05-03 11:02:18 +00:00
|
|
|
components: {
|
2025-05-31 14:19:08 +00:00
|
|
|
Footer,
|
|
|
|
SidebarMenu,
|
|
|
|
AppHeader,
|
|
|
|
},
|
|
|
|
computed: {
|
|
|
|
isDashboardLayout() {
|
|
|
|
return this.$route.meta.requiresAuth === true;
|
|
|
|
},
|
|
|
|
},
|
|
|
|
};
|
2025-04-14 13:09:00 +00:00
|
|
|
</script>
|
|
|
|
|
|
|
|
<style scoped>
|
|
|
|
/* Global Styles */
|
|
|
|
|
|
|
|
body {
|
|
|
|
/* font-family: 'Arial', sans-serif; */
|
|
|
|
background-color: #f4f7fa;
|
|
|
|
margin: 0;
|
|
|
|
padding: 0;
|
|
|
|
font-family: 'Yekan', sans-serif;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.app-title {
|
|
|
|
color: white;
|
|
|
|
font-size: 32px;
|
|
|
|
font-weight: bold;
|
|
|
|
margin: 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
/* Additional styling for the whole app */
|
|
|
|
#app {
|
|
|
|
display: flex;
|
|
|
|
flex-direction: column;
|
|
|
|
min-height: 100vh;
|
|
|
|
}
|
|
|
|
|
|
|
|
router-view {
|
|
|
|
flex-grow: 1;
|
|
|
|
padding: 20px;
|
|
|
|
}
|
2025-05-31 14:19:08 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-04-14 13:09:00 +00:00
|
|
|
</style>
|
|
|
|
|
|
|
|
|
|
|
|
<style>
|
|
|
|
@font-face {
|
2025-05-03 11:02:18 +00:00
|
|
|
font-family: 'IRANSans';
|
|
|
|
src: url('@/assets/fonts/IRANSansXFaNum-Medium.ttf') format('truetype');
|
2025-04-14 13:09:00 +00:00
|
|
|
font-weight: normal;
|
|
|
|
font-style: normal;
|
|
|
|
}
|
|
|
|
|
|
|
|
/* Apply the font globally */
|
2025-05-03 11:02:18 +00:00
|
|
|
* {
|
|
|
|
font-family: 'IRANSans', sans-serif !important;
|
2025-04-14 13:09:00 +00:00
|
|
|
}
|
2025-05-31 14:19:08 +00:00
|
|
|
|
|
|
|
.dashboard-page {
|
|
|
|
margin-right: 20rem;
|
|
|
|
padding: 20px;
|
|
|
|
direction: rtl;
|
|
|
|
font-family: IRANSansXFaNum, sans-serif;
|
|
|
|
}
|
|
|
|
|
|
|
|
.content {
|
|
|
|
background-color: #f8f9fa;
|
|
|
|
border-radius: 20px;
|
|
|
|
padding: 35px 80px !important;
|
|
|
|
display: flex;
|
|
|
|
flex-direction: column;
|
|
|
|
gap: 32px;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2025-04-14 13:09:00 +00:00
|
|
|
</style>
|