diff --git a/app/components/HomeMovieCard.vue b/app/components/HomeMovieCard.vue index a917315..bde12ef 100644 --- a/app/components/HomeMovieCard.vue +++ b/app/components/HomeMovieCard.vue @@ -12,6 +12,7 @@ const props = defineProps<{ year?: number time?: string episode?: string + episodeTotal?: string quality?: string lang?: string categories?: string[] @@ -20,6 +21,21 @@ const props = defineProps<{ } }>() +const episodeDisplay = computed(() => { + const ep = props.movie.episode + const total = props.movie.episodeTotal + if (!ep) return undefined + + const totalNum = total ? total.replace(/[^0-9]/g, '') : '' + const epNum = ep.replace(/[^0-9]/g, '') + + if (epNum && totalNum && epNum !== totalNum) { + return `Tập ${epNum}/${totalNum}` + } + + return ep +}) + const isPreviewVisible = ref(false) const isDescriptionExpanded = ref(false) const previewStyle = ref>({}) @@ -82,16 +98,20 @@ onBeforeUnmount(() => { @mouseenter="showPreview" @mouseleave="scheduleHide" @focus="showPreview" @blur="scheduleHide">
-

{{ movie.name }}

-

{{ movie.episode || movie.year || movie.quality }}

+

{{ episodeDisplay || movie.year || movie.quality }}

{{ movie.sources.length }} server + + {{ episodeDisplay }} +
@@ -103,7 +123,7 @@ onBeforeUnmount(() => { class="fixed z-90 hidden origin-top-left overflow-hidden rounded-xl bg-[#07111d] text-white shadow-2xl shadow-black/60 ring-1 ring-yellow-300/45 sm:block" :style="previewStyle" @mouseenter="keepPreview" @mouseleave="scheduleHide">
- +

@@ -135,8 +155,8 @@ onBeforeUnmount(() => { movie.quality }} {{ movie.lang }} {{ movie.time }} - {{ - movie.episode }} + {{ + episodeDisplay }}

diff --git a/app/error.vue b/app/error.vue new file mode 100644 index 0000000..4d3e002 --- /dev/null +++ b/app/error.vue @@ -0,0 +1,85 @@ + + + diff --git a/app/pages/admin/index.vue b/app/pages/admin/index.vue index 6c03628..dea58b2 100644 --- a/app/pages/admin/index.vue +++ b/app/pages/admin/index.vue @@ -1,5 +1,5 @@