2022-12-28 19:59:58 +00:00
|
|
|
import { defineComponent } from 'vue';
|
2022-12-29 02:47:45 +00:00
|
|
|
import { NuxtLink } from '#components';
|
2022-12-28 19:59:58 +00:00
|
|
|
|
|
|
|
import './Nav.scss';
|
|
|
|
|
|
|
|
export default defineComponent({
|
|
|
|
setup() {
|
2022-12-29 02:47:45 +00:00
|
|
|
const { setMe } = useMe();
|
|
|
|
|
2022-12-28 19:59:58 +00:00
|
|
|
const expanded = useState(() => false);
|
|
|
|
const toggle = () => {
|
2022-12-29 02:47:45 +00:00
|
|
|
expanded.value = !expanded.value;
|
2022-12-28 19:59:58 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
const classes = computed(() => ({
|
|
|
|
'ex-admin-nav': true,
|
|
|
|
'ex-admin-nav_expanded': expanded.value,
|
|
|
|
}));
|
|
|
|
|
2022-12-29 02:47:45 +00:00
|
|
|
const logout = () => {
|
|
|
|
setMe(null);
|
|
|
|
useGqlToken({
|
|
|
|
token: null,
|
|
|
|
config: { type: 'Bearer' },
|
|
|
|
});
|
|
|
|
};
|
|
|
|
|
2022-12-28 19:59:58 +00:00
|
|
|
return () => (
|
2022-12-29 02:47:45 +00:00
|
|
|
<nav class={classes.value}>
|
2022-12-28 19:59:58 +00:00
|
|
|
<button
|
|
|
|
class="ex-admin-nav--toggle"
|
|
|
|
type="button"
|
|
|
|
onClick={() => toggle()}
|
2022-12-29 02:47:45 +00:00
|
|
|
aria-label="Toggle"
|
|
|
|
>
|
|
|
|
<font-awesome-icon
|
|
|
|
icon={`fa-solid fa-arrow-${expanded.value ? 'left' : 'right'}`}
|
|
|
|
/>
|
|
|
|
</button>
|
2022-12-28 19:59:58 +00:00
|
|
|
<ul class="ex-admin-nav--menu">
|
|
|
|
<li class="ex-admin-nav--menu-item">
|
2022-12-29 02:47:45 +00:00
|
|
|
<NuxtLink
|
|
|
|
class="ex-admin-nav--menu-item-action"
|
|
|
|
to="/"
|
|
|
|
>
|
|
|
|
<font-awesome-icon
|
|
|
|
class="ex-admin-nav--menu-item-icon"
|
|
|
|
icon="fa-solid fa-home"
|
|
|
|
/>
|
|
|
|
<span class="ex-admin-nav--menu-item-title">Website</span>
|
|
|
|
</NuxtLink>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
<li class="ex-admin-nav--menu-spacer"></li>
|
|
|
|
|
|
|
|
<li class="ex-admin-nav--menu-item">
|
|
|
|
<button
|
|
|
|
type="button"
|
|
|
|
class="ex-admin-nav--menu-item-action"
|
|
|
|
onClick={() => logout()}
|
|
|
|
>
|
|
|
|
<font-awesome-icon
|
|
|
|
class="ex-admin-nav--menu-item-icon"
|
|
|
|
icon="fa-solid fa-right-from-bracket"
|
|
|
|
/>
|
|
|
|
<span class="ex-admin-nav--menu-item-title">Logout</span>
|
|
|
|
</button>
|
2022-12-28 19:59:58 +00:00
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</nav>
|
|
|
|
);
|
|
|
|
},
|
|
|
|
});
|