* Begin Work * Add more common messages * Work on modal * Add more keys * Add keys for icon buttons * Add more keys * Handle error keys * Add more keys * Add more keys * Edit fields keys * Finish (almost) * Finish work for collection page * Dashboard Nav stack & Format * WIP * Move some messages to common * Finish work * Format * Reorganization * Fix some mistake * add common collections label * Add collections label key to default layout * Make title and description reactive (#8) --------- Co-authored-by: Sasha Sorokin <10401817+brawaru@users.noreply.github.com>
64 lines
2.1 KiB
Vue
64 lines
2.1 KiB
Vue
<template>
|
|
<div class="normal-page">
|
|
<div class="normal-page__sidebar">
|
|
<aside class="universal-card">
|
|
<h1>Dashboard</h1>
|
|
<NavStack>
|
|
<NavStackItem link="/dashboard" label="Overview">
|
|
<DashboardIcon />
|
|
</NavStackItem>
|
|
<NavStackItem link="/dashboard/notifications" label="Notifications">
|
|
<NotificationsIcon />
|
|
</NavStackItem>
|
|
<NavStackItem link="/dashboard/reports" label="Active reports">
|
|
<ReportIcon />
|
|
</NavStackItem>
|
|
<NavStackItem link="/dashboard/analytics" label="Analytics">
|
|
<ChartIcon />
|
|
</NavStackItem>
|
|
|
|
<h3>Manage</h3>
|
|
<NavStackItem v-if="true" link="/dashboard/projects" label="Projects">
|
|
<ListIcon />
|
|
</NavStackItem>
|
|
<NavStackItem v-if="true" link="/dashboard/organizations" label="Organizations">
|
|
<OrganizationIcon />
|
|
</NavStackItem>
|
|
<NavStackItem
|
|
link="/dashboard/collections"
|
|
:label="formatMessage(commonMessages.collectionsLabel)"
|
|
>
|
|
<LibraryIcon />
|
|
</NavStackItem>
|
|
<NavStackItem link="/dashboard/revenue" label="Revenue">
|
|
<CurrencyIcon />
|
|
</NavStackItem>
|
|
</NavStack>
|
|
</aside>
|
|
</div>
|
|
<div class="normal-page__content">
|
|
<NuxtPage :route="route" />
|
|
</div>
|
|
</div>
|
|
</template>
|
|
<script setup>
|
|
import { LibraryIcon, ChartIcon } from 'omorphia'
|
|
import NavStack from '~/components/ui/NavStack.vue'
|
|
import NavStackItem from '~/components/ui/NavStackItem.vue'
|
|
|
|
import DashboardIcon from '~/assets/images/utils/dashboard.svg'
|
|
import CurrencyIcon from '~/assets/images/utils/currency.svg'
|
|
import ListIcon from '~/assets/images/utils/list.svg'
|
|
import ReportIcon from '~/assets/images/utils/report.svg'
|
|
import NotificationsIcon from '~/assets/images/utils/bell.svg'
|
|
import OrganizationIcon from '~/assets/images/utils/organization.svg'
|
|
|
|
const { formatMessage } = useVIntl()
|
|
|
|
definePageMeta({
|
|
middleware: 'auth',
|
|
})
|
|
|
|
const route = useRoute()
|
|
</script>
|