salix-front/src/components/NavBar.vue

83 lines
2.9 KiB
Vue
Raw Normal View History

2022-03-24 15:49:33 +00:00
<script setup>
2022-11-15 13:59:04 +00:00
import { onMounted } from 'vue';
import { useI18n } from 'vue-i18n';
2022-03-24 15:49:33 +00:00
import { useSession } from 'src/composables/useSession';
2022-11-17 07:04:12 +00:00
import UserPanel from 'components/UserPanel.vue';
2023-02-09 14:07:27 +00:00
import { useState } from 'src/composables/useState';
import { useStateStore } from 'stores/useStateStore';
2022-11-29 13:45:48 +00:00
import PinnedModules from './PinnedModules.vue';
2022-03-24 15:49:33 +00:00
const { t } = useI18n();
2022-03-24 15:49:33 +00:00
const session = useSession();
2023-02-09 14:07:27 +00:00
const stateStore = useStateStore();
2022-03-24 15:49:33 +00:00
const state = useState();
const user = state.getUser();
const token = session.getToken();
2023-01-05 13:57:47 +00:00
const appName = 'Lilium';
2022-03-24 15:49:33 +00:00
2023-02-09 14:07:27 +00:00
onMounted(() => stateStore.setMounted());
2022-03-24 15:49:33 +00:00
</script>
<template>
2023-04-11 11:31:03 +00:00
<QHeader class="bg-dark" color="white" elevated>
<QToolbar class="q-py-sm q-px-md">
<QBtn
2023-03-07 14:03:22 +00:00
@click="stateStore.toggleLeftDrawer()"
icon="menu"
class="q-mr-sm"
round
dense
flat
>
2023-04-11 11:31:03 +00:00
<QTooltip bottom anchor="bottom right">
{{ t('globals.collapseMenu') }}
2023-04-11 11:31:03 +00:00
</QTooltip>
</QBtn>
<RouterLink to="/">
<QBtn class="q-ml-xs" color="primary" flat round>
<QAvatar square size="md">
<QImg
2023-02-09 06:26:08 +00:00
src="~/assets/logo_icon.svg"
2023-02-09 14:07:27 +00:00
:alt="appName"
2023-02-09 06:26:08 +00:00
spinner-color="primary"
/>
2023-04-11 11:31:03 +00:00
</QAvatar>
<QTooltip bottom>
{{ t('globals.backToDashboard') }}
2023-04-11 11:31:03 +00:00
</QTooltip>
</QBtn>
</RouterLink>
<QToolbarTitle shrink class="text-weight-bold" v-if="$q.screen.gt.sm">
2023-01-17 13:57:12 +00:00
{{ appName }}
2023-04-11 11:31:03 +00:00
<QBadge label="Beta" align="top" />
</QToolbarTitle>
<QSpace />
2022-11-15 13:59:04 +00:00
<div id="searchbar"></div>
2023-04-11 11:31:03 +00:00
<QSpace />
2022-03-24 15:49:33 +00:00
<div class="q-pl-sm q-gutter-sm row items-center no-wrap">
<div id="actions-prepend"></div>
2023-04-11 11:31:03 +00:00
<QBtn id="pinnedModules" icon="apps" flat dense rounded>
<QTooltip bottom>
2022-11-29 13:45:48 +00:00
{{ t('globals.pinnedModules') }}
2023-04-11 11:31:03 +00:00
</QTooltip>
2022-11-29 13:45:48 +00:00
<PinnedModules />
2023-04-11 11:31:03 +00:00
</QBtn>
<QBtn rounded dense flat no-wrap id="user">
<QAvatar size="lg">
<QImg
2022-03-24 15:49:33 +00:00
:src="`/api/Images/user/160x160/${user.id}/download?access_token=${token}`"
2023-02-09 06:26:08 +00:00
spinner-color="primary"
>
2023-04-11 11:31:03 +00:00
</QImg>
</QAvatar>
<QTooltip bottom>
{{ t('globals.userPanel') }}
2023-04-11 11:31:03 +00:00
</QTooltip>
2022-03-24 15:49:33 +00:00
<UserPanel />
2023-04-11 11:31:03 +00:00
</QBtn>
<div id="actions-append"></div>
2022-03-24 15:49:33 +00:00
</div>
2023-04-11 11:31:03 +00:00
</QToolbar>
</QHeader>
2022-03-24 15:49:33 +00:00
</template>