@@ -5,14 +5,14 @@ import {
5
5
NProgress ,
6
6
NSkeleton ,
7
7
NTag ,
8
- NTooltip ,
9
8
type PopoverProps ,
10
9
} from ' naive-ui' ;
11
10
12
11
import { computed , defineProps , type PropType , ref , toRefs } from ' vue' ;
13
12
14
13
import PosterPlaceholder from ' ~/assets/images/poster-placholder.webp' ;
15
14
import TagLink from ' ~/components/common/buttons/TagLink.vue' ;
15
+ import ProgressTooltip from ' ~/components/common/tooltip/ProgressTooltip.vue' ;
16
16
import { type ListScrollItem , type ShowProgress } from ' ~/models/list-scroll.model' ;
17
17
18
18
import { useShowStore } from ' ~/stores/data/show.store' ;
@@ -74,15 +74,15 @@ const tags = computed(
74
74
}),
75
75
);
76
76
77
- const { getShowProgress } = useShowStore ();
77
+ const { getShowWatchedProgress } = useShowStore ();
78
78
79
79
const progress = computed <ShowProgress | undefined >(() => {
80
80
if (item ?.value ?.progress ) return item .value ?.progress ;
81
81
if (item ?.value ?.progressRef ) return item .value ?.progressRef .value ;
82
82
if (! item ?.value ?.getProgressQuery ) return ;
83
83
const id = item .value ?.getProgressQuery ();
84
84
if (! id ) return ;
85
- return getShowProgress (id ).value ;
85
+ return getShowWatchedProgress (id ).value ;
86
86
});
87
87
88
88
const innerContainer = ref ();
@@ -137,47 +137,19 @@ const onTagClick = (url?: string) => {
137
137
</template >
138
138
</NFlex >
139
139
<div v-if =" showProgress && !loading" class =" panel-progress" >
140
- <NTooltip
141
- class =" panel-progress-tooltip"
142
- :disabled =" !progress"
143
- placement =" top-end"
144
- :delay =" 100"
145
- :to =" innerContainer"
146
- >
147
- <NFlex v-if =" progress" vertical align =" flex-end" >
148
- <div >
149
- <span class =" metric" >{{ progress?.completed }}</span >
150
- <span > / </span >
151
- <span class =" metric" >{{ progress?.aired }}</span >
152
- <span >  ; </span >
153
- <span >{{ i18n('tooltip_episodes') }}</span >
154
- </div >
155
- <div >
156
- <span class =" metric" >{{ Math.round(progress?.percentage) }}</span >
157
- <span >%</span >
158
- <span >  ; </span >
159
- <span >{{ i18n('tooltip_watched') }}</span >
160
- </div >
161
- <div >
162
- <span class =" metric" >{{ progress?.aired - progress?.completed }}</span >
163
- <span >  ; </span >
164
- <span >{{ i18n('tooltip_remaining') }}</span >
165
- </div >
166
- </NFlex >
167
- <template #trigger >
168
- <NProgress
169
- class =" line"
170
- :data-show-id =" progress?.id"
171
- :data-percentage =" progress?.percentage"
172
- :theme-overrides =" {
173
- railHeight: 'var(--rail-height)',
174
- }"
175
- :percentage =" progress?.percentage ?? 0"
176
- :show-indicator =" false"
177
- color =" var(--trakt-red-dark)"
178
- />
179
- </template >
180
- </NTooltip >
140
+ <ProgressTooltip :progress =" progress" :to =" innerContainer" placement =" top-end" >
141
+ <NProgress
142
+ class =" line"
143
+ :data-show-id =" progress?.id"
144
+ :data-percentage =" progress?.percentage"
145
+ :theme-overrides =" {
146
+ railHeight: 'var(--rail-height)',
147
+ }"
148
+ :percentage =" progress?.percentage ?? 0"
149
+ :show-indicator =" false"
150
+ color =" var(--trakt-red-dark)"
151
+ />
152
+ </ProgressTooltip >
181
153
</div >
182
154
</div >
183
155
</NFlex >
@@ -222,16 +194,6 @@ const onTagClick = (url?: string) => {
222
194
& :hover {
223
195
--trakt-red-dark : var (--trakt-red );
224
196
}
225
-
226
- & -tooltip {
227
- font-size : 0.8rem ;
228
-
229
- .metric {
230
- color : var (--vt-c-white );
231
- font-weight : bolder ;
232
- font-variant-numeric : tabular-nums ;
233
- }
234
- }
235
197
}
236
198
}
237
199
</style >
0 commit comments