@@ -3,7 +3,7 @@ import { NFlex, NSkeleton } from 'naive-ui';
3
3
4
4
import { computed , type PropType , toRefs } from ' vue' ;
5
5
6
- import { useRoute } from ' vue-router' ;
6
+ import { RouterLink , useRoute } from ' vue-router' ;
7
7
8
8
import type { ShowProgress } from ' ~/models/list-scroll.model' ;
9
9
import type { TraktEpisodeShort } from ' ~/models/trakt/trakt-episode.model' ;
@@ -40,6 +40,9 @@ const { seasons, episodes, progress, collection } = toRefs(props);
40
40
41
41
const { meta } = useRoute ();
42
42
43
+ const showLink = computed (() => ({ name: ` ${meta .base }-show ` }));
44
+ const seasonLink = computed (() => ({ name: ` ${meta .base }-season ` }));
45
+
43
46
const seasonsLinks = computed (() => {
44
47
if (! seasons ?.value ) return ;
45
48
return Object .entries (seasons .value ).map (([_number , _season ]) => {
@@ -77,7 +80,9 @@ const i18n = useI18n('panel', 'picker');
77
80
<template >
78
81
<NFlex vertical class =" picker" justify =" center" >
79
82
<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 >
81
86
82
87
<NFlex class =" numbers" size =" small" >
83
88
<template v-if =" seasonsLinks ?.length " >
@@ -96,7 +101,9 @@ const i18n = useI18n('panel', 'picker');
96
101
</NFlex >
97
102
98
103
<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 >
100
107
101
108
<NFlex class =" numbers episodes" size =" small" >
102
109
<template v-if =" episodeLinks ?.length " >
@@ -106,7 +113,6 @@ const i18n = useI18n('panel', 'picker');
106
113
v-slot =" { isActive }"
107
114
:link =" { to: link }"
108
115
:button =" { type: finished ? 'primary' : collected ? 'info' : undefined }"
109
- class =" link"
110
116
>
111
117
<span class =" label" :class =" { active: isActive }" >{{ number }}</span >
112
118
</ButtonLink >
@@ -127,6 +133,7 @@ const i18n = useI18n('panel', 'picker');
127
133
margin : 1px 0.25rem auto 0 ;
128
134
color : var (--white-50 );
129
135
font-weight : 600 ;
136
+ text-decoration : none ;
130
137
transition : color 0.3s var (--n-bezier );
131
138
}
132
139
0 commit comments