parent
a01721a763
commit
01eaf1f2cc
@ -0,0 +1,30 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<va-navbar shape class="navbar">
|
||||||
|
<template #left>
|
||||||
|
<va-navbar-item class="top-icon">
|
||||||
|
<va-icon size="3rem" color="gray" name="public" />
|
||||||
|
</va-navbar-item>
|
||||||
|
</template>
|
||||||
|
<template #right>
|
||||||
|
<va-navbar-item class="top-icon">
|
||||||
|
<va-icon size="3rem" color="gray" name="account_box" />
|
||||||
|
</va-navbar-item>
|
||||||
|
</template>
|
||||||
|
</va-navbar>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
<style lang="css" scoped>
|
||||||
|
.navbar {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@ -0,0 +1,47 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<va-sidebar color="primary" text-color="white" gradient class="sidebar-proper">
|
||||||
|
<template v-for="item in sidebarItems" :key="item.title">
|
||||||
|
<va-sidebar-item :active="item.active">
|
||||||
|
<va-sidebar-item-content class="sidebar-item">
|
||||||
|
<va-icon class="sidebar-icon" size="2rem" :name="item.icon" />
|
||||||
|
<va-sidebar-item-title class="sidebar-title">{{ item.title }}</va-sidebar-item-title>
|
||||||
|
</va-sidebar-item-content>
|
||||||
|
</va-sidebar-item>
|
||||||
|
</template>
|
||||||
|
</va-sidebar>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
props: {
|
||||||
|
sidebarItems: {
|
||||||
|
type: Array,
|
||||||
|
required: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
<style lang="css" scoped>
|
||||||
|
.sidebar-proper {
|
||||||
|
height: max(100vh, 100%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar-item {
|
||||||
|
height: 4rem;
|
||||||
|
display: flex;
|
||||||
|
padding: 1rem 0.5rem;
|
||||||
|
position: relative;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: flex-start;
|
||||||
|
font-size: 1.2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar-icon {
|
||||||
|
margin: 1rem;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@ -0,0 +1,59 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<navbar />
|
||||||
|
|
||||||
|
<div class="central-view">
|
||||||
|
<sidebar :sidebarItems="sidebarItems" />
|
||||||
|
|
||||||
|
<div class="main-view">
|
||||||
|
<!-- <upload-screen /> -->
|
||||||
|
<active-schema-screen />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import UploadScreen from '@/components/UploadScreen.vue'
|
||||||
|
import ActiveSchemaScreen from '@/components/ActiveSchemaScreen.vue'
|
||||||
|
import Navbar from '@/components/Navbar.vue'
|
||||||
|
import Sidebar from '@/components/Sidebar.vue'
|
||||||
|
export default {
|
||||||
|
components: { UploadScreen, ActiveSchemaScreen, Navbar, Sidebar },
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
sidebarItems: [
|
||||||
|
{
|
||||||
|
title: "Active Schema",
|
||||||
|
icon: "fact_check",
|
||||||
|
active: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "Review Data",
|
||||||
|
icon: "dashboard",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "Upload",
|
||||||
|
icon: "file_upload",
|
||||||
|
},
|
||||||
|
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
<style lang="css" scoped>
|
||||||
|
.central-view {
|
||||||
|
height: max(100vh, 100%);
|
||||||
|
margin: 0;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-view {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
Loading…
Reference in new issue