@@ -3,13 +3,13 @@ import { useRoute, useRouter } from "vue-router"
33import { useAuth , useUtils } from "@servicestack/vue"
44import { lastRightPart } from "@servicestack/client" ;
55import { ArtifactGallery , ArtifactDownloads } from "./Artifacts.mjs"
6- import { AllRatings , toArtifacts , formatDuration , formatRating , sortByCreatedDesc , sortByCreatedAsc , sortByModifiedDesc , sortByModifiedAsc } from "../lib/utils.mjs"
6+ import { AllRatings , toArtifacts , formatDuration , formatRating , matchesRating , sortByCreatedDesc , sortByCreatedAsc , sortByModifiedDesc , sortByModifiedAsc } from "../lib/utils.mjs"
77
88import AudioPlayer from "./AudioPlayer.mjs"
99import ListenButton from "./ListenButton.mjs"
1010
1111const PlayButton = {
12- template :`
12+ template : `
1313 <button data-slug="@episode.Slug" data-title="@episode.Title" data-url="@episode.Url"
1414 type="button" aria-label="Play episode @episode.Title"
1515 onclick="togglePlayButton(this)"
@@ -50,7 +50,7 @@ export default {
5050 ListenButton,
5151 PlayButton,
5252 } ,
53- template :`
53+ template : `
5454 <ErrorSummary :status="error" />
5555 <div class="relative mt-2 border-b border-gray-200 dark:border-gray-700 min-h-full flex justify-between">
5656 <nav class="flex space-x-8" aria-label="Tabs">
@@ -208,7 +208,7 @@ export default {
208208 </div>
209209 <div class="flex flex-wrap">
210210 <template v-for="(desc, rating) of AllRatings">
211- <span v-if="artifact.rating == rating" :class="gen.publishedDate ? 'bg-yellow-600/50 dark:bg-yellow-300/30' : 'bg-gray-300 dark:bg-gray-600'" class="text-gray-600 dark:text-gray-300 inline-flex items-center rounded-md px-1 py-0.5 text-xs font-medium ring-1 ring-inset ring-gray-500/10 dark:ring-gray-700/10" :title="formatRating(rating) + ' - Suggested Rating'">
211+ <span v-if="matchesRating( artifact.rating, rating) " :class="gen.publishedDate ? 'bg-yellow-600/50 dark:bg-yellow-300/30' : 'bg-gray-300 dark:bg-gray-600'" class="text-gray-600 dark:text-gray-300 inline-flex items-center rounded-md px-1 py-0.5 text-xs font-medium ring-1 ring-inset ring-gray-500/10 dark:ring-gray-700/10" :title="formatRating(rating) + ' - Suggested Rating'">
212212 {{formatRating(rating)}}
213213 </span>
214214 <button v-else type="button" @click="changeRating(gen, artifact, rating)" class="m-0 bg-gray-50 dark:bg-gray-800 text-gray-700 dark:text-gray-300 hover:text-gray-800 dark:hover:text-gray-100 inline-flex items-center rounded-md px-1 py-0.5 text-xs font-medium ring-1 ring-inset ring-gray-500/10 dark:ring-gray-700/10"
@@ -265,7 +265,7 @@ export default {
265265 props : {
266266 thread : Object ,
267267 } ,
268- emits :[ 'selectGeneration' , 'retryGeneration' ] ,
268+ emits : [ 'selectGeneration' , 'retryGeneration' ] ,
269269 setup ( props , { emit } ) {
270270 const store = inject ( 'store' )
271271 const events = inject ( 'events' )
@@ -293,16 +293,16 @@ export default {
293293
294294 // Initialize sort from query parameter, default to '-created' if invalid
295295 const validSorts = [ '-created' , 'created' , '-modified' , 'modified' ]
296- const initialSort = validSorts . includes ( route . query . sort )
297- ? route . query . sort
296+ const initialSort = validSorts . includes ( route . query . sort )
297+ ? route . query . sort
298298 : '-created'
299299 const sortBy = ref ( initialSort )
300-
300+
301301 const visibleGenerations = ref ( 50 )
302302 const pagedGenerations = computed ( ( ) => {
303303 return generations . value . slice ( 0 , visibleGenerations . value )
304304 } )
305-
305+
306306 const generations = computed ( ( ) => {
307307 let filtered = store . threadGenerations
308308
@@ -362,7 +362,7 @@ export default {
362362 query : { ...route . query , sort }
363363 } )
364364 }
365-
365+
366366 function togglePlayButton ( url , title ) {
367367 if ( refAudio . value ?. player ) {
368368 if ( playAudio . value ?. src === url ) {
@@ -383,11 +383,11 @@ export default {
383383 }
384384 emit ( 'selectGeneration' , gen )
385385 }
386-
386+
387387 function isRegenerating ( gen ) {
388388 return regeneratingIdMap . value [ gen . id ] && new Date ( regeneratingIdMap . value [ gen . id ] ) >= new Date ( gen . modifiedDate )
389389 }
390-
390+
391391 async function retryGeneration ( gen ) {
392392 regeneratingIdMap . value [ gen . id ] = gen . modifiedDate
393393 if ( gen . result ?. assets ?. length ) {
@@ -525,6 +525,7 @@ export default {
525525 toArtifacts,
526526 formatDuration,
527527 formatRating,
528+ matchesRating,
528529 setFilter,
529530 setSortBy,
530531 selectGeneration,
0 commit comments