mirror of
https://github.com/Dadechin/XRoomDashboardFront.git
synced 2025-07-02 00:04:35 +00:00
Now the sidebar, header, and footer are in the App.vue
This commit is contained in:
parent
b8985e7f96
commit
a6f9ac7e44
|
@ -1,26 +1,43 @@
|
|||
<template>
|
||||
<div id="app">
|
||||
<!-- Main App Layout -->
|
||||
|
||||
|
||||
<!-- 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>
|
||||
|
||||
<!-- The router-view here will display the active route's component -->
|
||||
<router-view></router-view>
|
||||
<!-- Sample LayOut for SignUp .... -->
|
||||
<template v-else>
|
||||
<router-view></router-view>
|
||||
</template>
|
||||
|
||||
<Footer />
|
||||
</div>
|
||||
<Footer />
|
||||
|
||||
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import Footer from '@/components/Footer.vue'
|
||||
import AppHeader from '@/components/Header.vue';
|
||||
import SidebarMenu from '@/components/SidebarMenu.vue';
|
||||
import Footer from '@/components/Footer.vue';
|
||||
|
||||
export default {
|
||||
name: 'App',
|
||||
components: {
|
||||
Footer
|
||||
}
|
||||
}
|
||||
Footer,
|
||||
SidebarMenu,
|
||||
AppHeader,
|
||||
},
|
||||
computed: {
|
||||
isDashboardLayout() {
|
||||
return this.$route.meta.requiresAuth === true;
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
@ -35,12 +52,6 @@ body {
|
|||
|
||||
}
|
||||
|
||||
/* Styling for the header */
|
||||
header {
|
||||
background-color: #4A90E2; /* Blue color */
|
||||
padding: 20px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.app-title {
|
||||
color: white;
|
||||
|
@ -60,6 +71,12 @@ router-view {
|
|||
flex-grow: 1;
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</style>
|
||||
|
||||
|
||||
|
@ -75,4 +92,22 @@ router-view {
|
|||
* {
|
||||
font-family: 'IRANSans', sans-serif !important;
|
||||
}
|
||||
|
||||
.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;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
|
@ -209,6 +209,11 @@ export default {
|
|||
this.$emit('upload-success');
|
||||
this.$emit('close');
|
||||
alert('فایل با موفقیت آپلود شد');
|
||||
|
||||
// بررسی مسیر فعلی و هدایت به /dashboard/files در صورت نیاز
|
||||
if (this.$route.path !== '/dashboard/files') {
|
||||
this.$router.push('/dashboard/files');
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Error uploading file:', error);
|
||||
alert('خطا در آپلود فایل');
|
||||
|
|
|
@ -1,25 +1,21 @@
|
|||
<template>
|
||||
<SidebarMenu />
|
||||
|
||||
<div class="dashboard-page">
|
||||
<div class="content">
|
||||
<!-- Header -->
|
||||
<AppHeader pageTitle="انتخاب آواتار" />
|
||||
<div style="gap: 1.5rem;display: flex;flex-direction: column;">
|
||||
<div style="gap: 1.5rem;display: flex;flex-direction: column;">
|
||||
|
||||
<div class="page-title"> آواتار خود را انتخاب کنید</div>
|
||||
|
||||
<div class="page-title"> آواتار خود را انتخاب کنید</div>
|
||||
|
||||
<h5>
|
||||
نحوه ظاهر شدن خود را در طول جلسات در XRoom را سفارشی سازی کنید.
|
||||
نگران نباشید، شما می توانید ان را در هر زمان دیگری تغییر دهید.
|
||||
</h5>
|
||||
|
||||
<router-link to="/dashboard/readyplayer">ساخت آواتار به دلخواه </router-link>
|
||||
<h5>
|
||||
نحوه ظاهر شدن خود را در طول جلسات در XRoom را سفارشی سازی کنید.
|
||||
نگران نباشید، شما می توانید ان را در هر زمان دیگری تغییر دهید.
|
||||
</h5>
|
||||
|
||||
<router-link to="/dashboard/readyplayer">ساخت آواتار به دلخواه </router-link>
|
||||
</div>
|
||||
<div class="avatar-selection-container">
|
||||
<!-- Left Column - Women Models -->
|
||||
<div class="gender-column">
|
||||
<h3 class="text-center mb-4">آواتارهای زنانه</h3>
|
||||
<h3 class="mb-4 text-center">آواتارهای زنانه</h3>
|
||||
<div class="avatar-grid">
|
||||
<div v-for="(avatar, index) in femaleAvatars" :key="'female-' + index" class="avatar-card">
|
||||
<div class="model-preview-container">
|
||||
|
@ -47,7 +43,7 @@
|
|||
|
||||
<!-- Right Column - Men Models -->
|
||||
<div class="gender-column">
|
||||
<h3 class="text-center mb-4">آواتارهای مردانه</h3>
|
||||
<h3 class="mb-4 text-center">آواتارهای مردانه</h3>
|
||||
<div class="avatar-grid">
|
||||
<div v-for="(avatar, index) in maleAvatars" :key="'male-' + index" class="avatar-card">
|
||||
<div class="model-preview-container">
|
||||
|
@ -74,20 +70,15 @@
|
|||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import SidebarMenu from '@/components/SidebarMenu.vue'
|
||||
import axios from '@/axios';
|
||||
import { ref } from 'vue';
|
||||
import AppHeader from '@/components/Header.vue';
|
||||
|
||||
export default {
|
||||
name: 'ChangeAvatar',
|
||||
components: {
|
||||
SidebarMenu,
|
||||
AppHeader,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
|
@ -271,21 +262,6 @@ export default {
|
|||
|
||||
<style scoped>
|
||||
|
||||
.dashboard-page {
|
||||
margin-right: 360px;
|
||||
padding: 20px;
|
||||
direction: rtl;
|
||||
font-family: IRANSansXFaNum, sans-serif;
|
||||
}
|
||||
|
||||
.content {
|
||||
background-color: #f8f9fa;
|
||||
border-radius: 20px;
|
||||
padding: 35px 80px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 32px;
|
||||
}
|
||||
.page-title {
|
||||
font-size: 22px;
|
||||
font-weight: bold;
|
||||
|
@ -431,8 +407,11 @@ body, html {
|
|||
|
||||
/* Each gender column */
|
||||
.gender-column {
|
||||
flex: 1; /* Each column takes equal width */
|
||||
min-width: 0; /* Prevent flex items from overflowing */
|
||||
flex: 1;
|
||||
min-width: 0;
|
||||
gap: 1rem;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
/* Grid layout inside each column */
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
<template>
|
||||
|
||||
<SidebarMenu />
|
||||
<div class="dashboard-page">
|
||||
<div class="content">
|
||||
<div>
|
||||
<!-- Top Header -->
|
||||
<AppHeader pageTitle="دانلود ها" />
|
||||
|
||||
|
@ -43,19 +40,13 @@
|
|||
برای دستورالعملهای نصب ، حتماً از <router-link to="/dashboard/download" style="color: #3A57E8;">پایگاه دانش ما</router-link> دیدن کنید.
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import SidebarMenu from '@/components/SidebarMenu.vue'
|
||||
import AppHeader from '@/components/Header.vue';
|
||||
|
||||
export default {
|
||||
name: 'DashboardPage',
|
||||
components: {
|
||||
SidebarMenu,
|
||||
AppHeader,
|
||||
|
||||
},
|
||||
data () {
|
||||
|
@ -83,7 +74,7 @@ export default {
|
|||
|
||||
<style scoped>
|
||||
|
||||
.dashboard-page {
|
||||
/* .dashboard-page {
|
||||
margin-right: 360px;
|
||||
padding: 20px;
|
||||
direction: rtl;
|
||||
|
@ -97,7 +88,7 @@ export default {
|
|||
flex-direction: column;
|
||||
gap: 32px;
|
||||
}
|
||||
|
||||
*/
|
||||
.section-title {
|
||||
font-size: 20px;
|
||||
font-weight: 600;
|
||||
|
@ -124,6 +115,7 @@ export default {
|
|||
|
||||
.chose-device {
|
||||
margin-top: 2rem;
|
||||
margin-bottom: 2rem;
|
||||
}
|
||||
|
||||
.cards {
|
||||
|
@ -237,7 +229,6 @@ export default {
|
|||
}
|
||||
|
||||
.instructions-text {
|
||||
margin-top: 1.5rem;
|
||||
font-size: 15px;
|
||||
font-weight: 600;
|
||||
color: #4F5A69;
|
||||
|
|
|
@ -1,12 +1,5 @@
|
|||
<template>
|
||||
<SidebarMenu />
|
||||
|
||||
<div class="dashboard-page">
|
||||
<div class="content">
|
||||
|
||||
<!-- Header -->
|
||||
<AppHeader pageTitle="ویرایش پروفایل" />
|
||||
|
||||
<div>
|
||||
|
||||
<!-- Two-Column Form Layout -->
|
||||
<div class="profile-edit-container">
|
||||
|
@ -96,19 +89,14 @@
|
|||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import SidebarMenu from '@/components/SidebarMenu.vue'
|
||||
import axios from '@/axios';
|
||||
import AppHeader from '@/components/Header.vue';
|
||||
|
||||
export default {
|
||||
name: 'EditProfile',
|
||||
components: {
|
||||
SidebarMenu,
|
||||
AppHeader,
|
||||
|
||||
},
|
||||
data() {
|
||||
|
@ -209,7 +197,7 @@ export default {
|
|||
|
||||
<style scoped>
|
||||
|
||||
.dashboard-page {
|
||||
/* .dashboard-page {
|
||||
margin-right: 360px;
|
||||
padding: 20px;
|
||||
direction: rtl;
|
||||
|
@ -223,7 +211,7 @@ export default {
|
|||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 32px;
|
||||
}
|
||||
} */
|
||||
.page-title {
|
||||
font-size: 22px;
|
||||
font-weight: bold;
|
||||
|
|
|
@ -1,11 +1,5 @@
|
|||
<template>
|
||||
<SidebarMenu />
|
||||
|
||||
<div class="dashboard-page">
|
||||
<div class="content">
|
||||
<!-- Top Header -->
|
||||
<AppHeader pageTitle="جلسات" />
|
||||
|
||||
<div>
|
||||
<!-- Description -->
|
||||
<div class="section-description">
|
||||
<div class="section-title">مدیریت جلسات</div>
|
||||
|
@ -133,19 +127,14 @@
|
|||
@close="showModal = false"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import SidebarMenu from '@/components/SidebarMenu.vue';
|
||||
import AppHeader from '@/components/Header.vue';
|
||||
import CreateMeetingModal from '@/components/CreateMeetingModal.vue';
|
||||
|
||||
export default {
|
||||
name: 'DashboardPage',
|
||||
components: {
|
||||
SidebarMenu,
|
||||
AppHeader,
|
||||
CreateMeetingModal,
|
||||
},
|
||||
data() {
|
||||
|
@ -222,7 +211,7 @@ export default {
|
|||
};
|
||||
</script>
|
||||
<style scoped>
|
||||
.dashboard-page {
|
||||
/* .dashboard-page {
|
||||
margin-right: 360px;
|
||||
padding: 20px;
|
||||
direction: rtl;
|
||||
|
@ -236,7 +225,7 @@ export default {
|
|||
flex-direction: column;
|
||||
gap: 32px;
|
||||
}
|
||||
|
||||
*/
|
||||
|
||||
.section-title {
|
||||
font-size: 20px;
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
<template>
|
||||
<SidebarMenu />
|
||||
|
||||
<div class="dashboard-page">
|
||||
<div class="content">
|
||||
<div>
|
||||
<!-- Top Header -->
|
||||
<AppHeader pageTitle="فضاها" />
|
||||
|
||||
|
@ -48,7 +45,6 @@
|
|||
<p>هیچ فضایی با فیلترهای انتخابشده یافت نشد.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
@ -65,8 +61,6 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import SidebarMenu from '@/components/SidebarMenu.vue';
|
||||
import AppHeader from '@/components/Header.vue';
|
||||
import CreateSpaceModal from '@/components/CreateSpaceModal.vue';
|
||||
import { Swiper, SwiperSlide } from 'swiper/vue';
|
||||
import 'swiper/css';
|
||||
|
@ -76,8 +70,6 @@ import axios from 'axios';
|
|||
export default {
|
||||
name: 'DashboardPage',
|
||||
components: {
|
||||
SidebarMenu,
|
||||
AppHeader,
|
||||
CreateSpaceModal,
|
||||
Swiper,
|
||||
SwiperSlide,
|
||||
|
@ -175,7 +167,7 @@ export default {
|
|||
</style>
|
||||
|
||||
<style scoped>
|
||||
.dashboard-page {
|
||||
/* .dashboard-page {
|
||||
margin-right: 360px;
|
||||
padding: 20px;
|
||||
direction: rtl;
|
||||
|
@ -188,7 +180,7 @@ export default {
|
|||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 32px;
|
||||
}
|
||||
} */
|
||||
.section-title {
|
||||
font-size: 20px;
|
||||
font-weight: 600;
|
||||
|
|
|
@ -1,9 +1,7 @@
|
|||
<template>
|
||||
<SidebarMenu />
|
||||
<div class="dashboard-page">
|
||||
<div class="content">
|
||||
<div class="ef">
|
||||
<!-- Top Header -->
|
||||
<AppHeader pageTitle="فایلها" />
|
||||
|
||||
|
||||
<!-- Description -->
|
||||
<div class="section-description">
|
||||
|
@ -64,7 +62,17 @@
|
|||
:key="`${section.type}-${index}`"
|
||||
@click="openPreviewDialog(section.type, index, getFullFileUrl(file[section.type]), file.id)"
|
||||
>
|
||||
<img :src="getFilePreviewImage(section.type, file)" class="file-image" />
|
||||
<img
|
||||
:src="getFilePreviewImage(section.type, file)"
|
||||
:class="[
|
||||
{
|
||||
'file-image': section.type === 'image',
|
||||
'file-pdf': section.type === 'pdf',
|
||||
'file-video': section.type === 'video',
|
||||
'file-glb': section.type === 'glb'
|
||||
}
|
||||
]"
|
||||
/>
|
||||
<div class="file-card-info">
|
||||
<div class="file-title">{{ file.name }}</div>
|
||||
<div class="file-meta">
|
||||
|
@ -130,22 +138,17 @@
|
|||
@close="closePreviewDialog"
|
||||
@delete-success="fetchUserData"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import '@google/model-viewer';
|
||||
import SidebarMenu from '@/components/SidebarMenu.vue';
|
||||
import axios from 'axios';
|
||||
import AppHeader from '@/components/Header.vue';
|
||||
import NewFileDialog from '@/components/NewFileDialog.vue';
|
||||
import FilePreviewDialog from '@/components/FilePreviewDialog.vue';
|
||||
|
||||
export default {
|
||||
name: 'DashboardPage',
|
||||
components: {
|
||||
SidebarMenu,
|
||||
AppHeader,
|
||||
NewFileDialog,
|
||||
FilePreviewDialog,
|
||||
},
|
||||
|
@ -423,20 +426,7 @@ export default {
|
|||
margin-top: 1rem;
|
||||
}
|
||||
|
||||
/* Layout and Containers */
|
||||
.dashboard-page {
|
||||
margin-right: 360px;
|
||||
padding: 20px;
|
||||
direction: rtl;
|
||||
font-family: IRANSansXFaNum, sans-serif;
|
||||
}
|
||||
|
||||
.content {
|
||||
background-color: #f8f9fa;
|
||||
border-radius: 20px;
|
||||
padding: 35px 80px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 32px;
|
||||
}
|
||||
|
||||
|
@ -530,7 +520,14 @@ export default {
|
|||
height: 190px;
|
||||
width: 100%;
|
||||
border-radius: 15px;
|
||||
object-fit: cover;
|
||||
}
|
||||
|
||||
.file-image{
|
||||
object-fit: cover;
|
||||
}
|
||||
|
||||
.file-pdf , .file-video , .file-glb{
|
||||
object-fit: contain;
|
||||
}
|
||||
|
||||
.file-card-info {
|
||||
|
|
|
@ -1,10 +1,6 @@
|
|||
<template>
|
||||
<SidebarMenu />
|
||||
<div class="dashboard-page">
|
||||
<div class="content">
|
||||
<div>
|
||||
<!-- <AppHeader /> -->
|
||||
<AppHeader pageTitle="از این داشبورد، کار با XRoom را آغاز کنید." />
|
||||
|
||||
<div class="dashboard-grid">
|
||||
|
||||
<!-- Right Section -->
|
||||
|
@ -43,8 +39,8 @@
|
|||
<div class="files-header">
|
||||
<h1 style=" font-size: 24px;">آخرین فایل ها</h1>
|
||||
<div class="file-buttons">
|
||||
<button class="white-button">بارگذاری فایل</button>
|
||||
<button class="white-button">مدیریت فایلها</button>
|
||||
<button class="white-button" @click="openDialog('image')">بارگذاری فایل</button>
|
||||
<router-link class="white-button" to="/dashboard/files">مدیریت فایلها</router-link>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -100,8 +96,6 @@
|
|||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Create Meeting Modal -->
|
||||
<CreateMeetingModal
|
||||
:is-open="showModal"
|
||||
|
@ -114,30 +108,40 @@
|
|||
:is-open="tutorialShowModal"
|
||||
@close="tutorialShowModal = false"
|
||||
/>
|
||||
|
||||
<!-- New File Dialog Component -->
|
||||
<NewFileDialog
|
||||
:is-open="isNewFileDialogOpen"
|
||||
:initial-upload-type="currentUploadType"
|
||||
:base-url="baseUrl"
|
||||
@close="closeDialog"
|
||||
@upload-success="fetchUserData"
|
||||
/>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import SidebarMenu from '@/components/SidebarMenu.vue'
|
||||
import AppHeader from '@/components/Header.vue';
|
||||
import CreateMeetingModal from '@/components/CreateMeetingModal.vue';
|
||||
import TutorialShowModal from '@/components/TutorialShowModal.vue';
|
||||
import NewFileDialog from '@/components/NewFileDialog.vue';
|
||||
|
||||
|
||||
export default {
|
||||
name: 'DashboardPage',
|
||||
components: {
|
||||
SidebarMenu,
|
||||
AppHeader,
|
||||
CreateMeetingModal,
|
||||
TutorialShowModal,
|
||||
NewFileDialog
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
showModal: false,
|
||||
tutorialShowModal: false,
|
||||
isNewFileDialogOpen: false,
|
||||
currentUploadType: 'image',
|
||||
baseUrl: 'http://194.62.43.230:8000'
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
methods: {
|
||||
createNewMeeting(meetingData) {
|
||||
const newMeeting = {
|
||||
id: this.meetings.length + 1,
|
||||
|
@ -153,13 +157,22 @@ export default {
|
|||
filterMeetings() {
|
||||
console.log('Filtering meetings');
|
||||
},
|
||||
openDialog(type = 'image') {
|
||||
this.currentUploadType = type;
|
||||
this.isNewFileDialogOpen = true;
|
||||
},
|
||||
closeDialog() {
|
||||
this.isNewFileDialogOpen = false;
|
||||
},
|
||||
fetchUserData() {
|
||||
console.log('Fetching user data');
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.dashboard-page {
|
||||
/* .dashboard-page {
|
||||
margin-right: 360px;
|
||||
padding: 20px;
|
||||
direction: rtl;
|
||||
|
@ -175,13 +188,13 @@ export default {
|
|||
padding: 35px 80px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
} */
|
||||
|
||||
.dashboard-grid {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
gap: 40px;
|
||||
margin-top: 80px;
|
||||
margin-top: 1rem;
|
||||
}
|
||||
|
||||
.left-section {
|
||||
|
@ -374,6 +387,8 @@ export default {
|
|||
font-family: "IRANSansXFaNum-Medium", Helvetica;
|
||||
cursor: pointer;
|
||||
transition: background-color 0.2s;
|
||||
color: #101010;
|
||||
line-height: normal;
|
||||
}
|
||||
|
||||
.white-button:hover {
|
||||
|
|
|
@ -1,11 +1,5 @@
|
|||
<template>
|
||||
<SidebarMenu />
|
||||
|
||||
<div class="dashboard-page">
|
||||
<div class="content">
|
||||
<!-- Header -->
|
||||
<AppHeader pageTitle="انتخاب آواتار" />
|
||||
|
||||
<template>
|
||||
<div>
|
||||
|
||||
<div class="page-title">ساخت آواتار جدید</div>
|
||||
|
||||
|
@ -19,19 +13,14 @@
|
|||
|
||||
></iframe>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import SidebarMenu from '@/components/SidebarMenu.vue'
|
||||
<script>
|
||||
import axios from '@/axios';
|
||||
import AppHeader from '@/components/Header.vue';
|
||||
|
||||
export default {
|
||||
name: 'ChangeAvatar',
|
||||
components: {
|
||||
SidebarMenu,
|
||||
AppHeader,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
|
@ -234,7 +223,7 @@ import AppHeader from '@/components/Header.vue';
|
|||
}
|
||||
|
||||
/* Rest of your existing styles... */
|
||||
.dashboard-page {
|
||||
/* .dashboard-page {
|
||||
margin-right: 360px;
|
||||
padding: 20px;
|
||||
direction: rtl;
|
||||
|
@ -248,7 +237,7 @@ import AppHeader from '@/components/Header.vue';
|
|||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 32px;
|
||||
}
|
||||
} */
|
||||
|
||||
.page-title {
|
||||
font-size: 22px;
|
||||
|
|
|
@ -1,11 +1,6 @@
|
|||
<!-- DashboardPage.vue -->
|
||||
<template>
|
||||
<SidebarMenu />
|
||||
|
||||
<div class="dashboard-page">
|
||||
<div class="content">
|
||||
<!-- Top Header -->
|
||||
<AppHeader pageTitle="تیم ها" />
|
||||
<div>
|
||||
<!-- Description -->
|
||||
<div class="section-description">
|
||||
<div class="section-title">مدیریت اعضا</div>
|
||||
|
@ -73,12 +68,9 @@
|
|||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import SidebarMenu from '@/components/SidebarMenu.vue';
|
||||
import AppHeader from '@/components/Header.vue';
|
||||
import TeamUser from '@/components/TeamUser.vue';
|
||||
import BuySubscription from '@/components/BuySubscription.vue';
|
||||
import Membership from '@/components/Membership.vue';
|
||||
|
@ -88,8 +80,6 @@ import axios from 'axios';
|
|||
export default {
|
||||
name: 'DashboardPage',
|
||||
components: {
|
||||
SidebarMenu,
|
||||
AppHeader,
|
||||
TeamUser,
|
||||
BuySubscription,
|
||||
Membership,
|
||||
|
@ -507,7 +497,7 @@ export default {
|
|||
margin-top: 1rem;
|
||||
}
|
||||
|
||||
.dashboard-page {
|
||||
/* .dashboard-page {
|
||||
margin-right: 360px;
|
||||
padding: 20px;
|
||||
direction: rtl;
|
||||
|
@ -522,7 +512,7 @@ export default {
|
|||
flex-direction: column;
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
*/
|
||||
.tab-buttons {
|
||||
display: flex;
|
||||
gap: 25px;
|
||||
|
|
|
@ -36,55 +36,55 @@ const routes = [
|
|||
path: '/dashboard',
|
||||
name: 'DashboardPage',
|
||||
component: DashboardPage,
|
||||
meta: { requiresAuth: true }
|
||||
meta: { requiresAuth: true , title : 'از این داشبورد، کار با XRoom را آغاز کنید.'}
|
||||
},
|
||||
{
|
||||
path: '/dashboard/files',
|
||||
name: 'files',
|
||||
component: FilesPage,
|
||||
meta: { requiresAuth: true }
|
||||
meta: { requiresAuth: true , title : 'فایل ها'}
|
||||
},
|
||||
{
|
||||
path: '/dashboard/download',
|
||||
name: 'download',
|
||||
component: DownloadPage,
|
||||
meta: { requiresAuth: true }
|
||||
meta: { requiresAuth: true , title : 'دانلود ها'}
|
||||
},
|
||||
{
|
||||
path: '/dashboard/spaces',
|
||||
name: 'spaces',
|
||||
component: spacesPage,
|
||||
meta: { requiresAuth: true }
|
||||
meta: { requiresAuth: true , title : 'فضاها'}
|
||||
},
|
||||
{
|
||||
path: '/dashboard/meetings',
|
||||
name: 'meetings',
|
||||
component: MeetingPage,
|
||||
meta: { requiresAuth: true }
|
||||
meta: { requiresAuth: true , title : 'جلسات'}
|
||||
},
|
||||
{
|
||||
path: '/dashboard/teams',
|
||||
name: 'teams',
|
||||
component: TeamsPage,
|
||||
meta: { requiresAuth: true }
|
||||
meta: { requiresAuth: true , title : 'تیم ها'}
|
||||
},
|
||||
{
|
||||
path: '/dashboard/edit-profile',
|
||||
name: 'EditProfile',
|
||||
component: () => import('@/pages/dashboard/EditProfile.vue'),
|
||||
meta: { requiresAuth: true }
|
||||
meta: { requiresAuth: true , title : 'ویرایش پروفایل'}
|
||||
},
|
||||
{
|
||||
path: '/dashboard/readyPlayer',
|
||||
name: 'ReadyPlayer',
|
||||
component: () => import('@/pages/dashboard/readyPlayer.vue'),
|
||||
meta: { requiresAuth: true }
|
||||
meta: { requiresAuth: true , title : 'انتخاب آواتار'}
|
||||
},
|
||||
{
|
||||
path: '/dashboard/ChangeAvatar',
|
||||
name: 'ChangeAvatar',
|
||||
component: () => import('@/pages/dashboard/ChangeAvatar.vue'),
|
||||
meta: { requiresAuth: true }
|
||||
meta: { requiresAuth: true , title : 'انتخاب آواتار'}
|
||||
}
|
||||
]
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user