datatracker/client/agenda/MeetingNavigation.vue
Nicolas Giard 6f2114fb0c
feat: replace old agenda with agenda-neue (#4406)
* feat: remove old agenda (django-side)

* fix: bring in latest commits

* test: remove -neue from playwright tests

* test: remove agenda selenium js tests

* test: remove agenda views tests

* fix: remove deprecated agenda views (week-view, agenda-by, floor-plan)

* test: fix failing python tests

* test: remove more deprecated tests

* chore: remove deprecated templates

* test: remove unused import

* feat: handle agenda personalize with filter + move agenda specific stuff out of root component

* fix: redirect deprecated urls to agenda / floorplan

* feat: agenda - open picker mode when from personalize path

* fix: safari doesn't support device-pixel-content-box property on ResizeObserver

* test: move floor plan test into main agenda test

Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
2022-10-12 15:46:28 -05:00

44 lines
1 KiB
Vue

<template lang="pug">
ul.nav.nav-tabs.meeting-nav(v-if='agendaStore.isLoaded')
li.nav-item(v-for='tab of tabs')
a.nav-link(
v-if='tab.href'
:href='`/meeting/` + agendaStore.meeting.number + `/` + tab.href'
)
i.bi.me-2.d-none.d-sm-inline(:class='tab.icon')
span {{tab.title}}
router-link.nav-link(
v-else
active-class='active'
:to='`/meeting/` + agendaStore.meeting.number + `/` + tab.key'
)
i.bi.me-2.d-none.d-sm-inline(:class='tab.icon')
span {{tab.title}}
</template>
<script setup>
import { useAgendaStore } from './store'
// STATE
const tabs = [
{ key: 'agenda', title: 'Agenda', icon: 'bi-calendar3' },
{ key: 'floor-plan', title: 'Floor plan', icon: 'bi-pin-map' },
{ key: 'plaintext', href: 'agenda.txt', title: 'Plaintext', icon: 'bi-file-text' }
]
// STORES
const agendaStore = useAgendaStore()
</script>
<style lang="scss">
@import "../shared/breakpoints";
.meeting-nav {
@media screen and (max-width: $bs5-break-sm) {
justify-content: center;
}
}
</style>