Skip to content

Commit f0913e3

Browse files
committed
feat(panel): adds season & show hidden link in picker
1 parent 6c8e08e commit f0913e3

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

src/components/views/panel/ShowPanelPicker.vue

+11-4
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { NFlex, NSkeleton } from 'naive-ui';
33
44
import { computed, type PropType, toRefs } from 'vue';
55
6-
import { useRoute } from 'vue-router';
6+
import { RouterLink, useRoute } from 'vue-router';
77
88
import type { ShowProgress } from '~/models/list-scroll.model';
99
import type { TraktEpisodeShort } from '~/models/trakt/trakt-episode.model';
@@ -40,6 +40,9 @@ const { seasons, episodes, progress, collection } = toRefs(props);
4040
4141
const { meta } = useRoute();
4242
43+
const showLink = computed(() => ({ name: `${meta.base}-show` }));
44+
const seasonLink = computed(() => ({ name: `${meta.base}-season` }));
45+
4346
const seasonsLinks = computed(() => {
4447
if (!seasons?.value) return;
4548
return Object.entries(seasons.value).map(([_number, _season]) => {
@@ -77,7 +80,9 @@ const i18n = useI18n('panel', 'picker');
7780
<template>
7881
<NFlex vertical class="picker" justify="center">
7982
<NFlex align="baseline" size="small" class="row">
80-
<span class="prefix">{{ i18n('season') }}</span>
83+
<RouterLink class="prefix" :to="showLink">
84+
<span>{{ i18n('season') }}</span>
85+
</RouterLink>
8186

8287
<NFlex class="numbers" size="small">
8388
<template v-if="seasonsLinks?.length">
@@ -96,7 +101,9 @@ const i18n = useI18n('panel', 'picker');
96101
</NFlex>
97102

98103
<NFlex v-if="mode !== 'show'" align="baseline" size="small" class="row">
99-
<span class="prefix">{{ i18n('episode') }}</span>
104+
<RouterLink class="prefix" :to="seasonLink">
105+
<span>{{ i18n('episode') }}</span>
106+
</RouterLink>
100107

101108
<NFlex class="numbers episodes" size="small">
102109
<template v-if="episodeLinks?.length">
@@ -106,7 +113,6 @@ const i18n = useI18n('panel', 'picker');
106113
v-slot="{ isActive }"
107114
:link="{ to: link }"
108115
:button="{ type: finished ? 'primary' : collected ? 'info' : undefined }"
109-
class="link"
110116
>
111117
<span class="label" :class="{ active: isActive }">{{ number }}</span>
112118
</ButtonLink>
@@ -127,6 +133,7 @@ const i18n = useI18n('panel', 'picker');
127133
margin: 1px 0.25rem auto 0;
128134
color: var(--white-50);
129135
font-weight: 600;
136+
text-decoration: none;
130137
transition: color 0.3s var(--n-bezier);
131138
}
132139

0 commit comments

Comments
 (0)