mirror of
https://github.com/truewhile/MeBox.git
synced 2026-10-03 04:26:36 +08:00
fix: tighten frontend quality checks
This commit is contained in:
@@ -20,6 +20,7 @@ export const MediaCard = ({
|
|||||||
const href = linkTo ?? `/media/${media.id}`
|
const href = linkTo ?? `/media/${media.id}`
|
||||||
const [posterFit, setPosterFit] = useState<'cover' | 'contain'>('cover')
|
const [posterFit, setPosterFit] = useState<'cover' | 'contain'>('cover')
|
||||||
const posterSrc = imageURL(media.poster_url, media.updated_at)
|
const posterSrc = imageURL(media.poster_url, media.updated_at)
|
||||||
|
const displayRating = rating ?? media.rating
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
setPosterFit('cover')
|
setPosterFit('cover')
|
||||||
@@ -78,10 +79,10 @@ export const MediaCard = ({
|
|||||||
)}
|
)}
|
||||||
|
|
||||||
{/* Rating Badge */}
|
{/* Rating Badge */}
|
||||||
{(rating || (media as any).rating) && (
|
{displayRating > 0 && (
|
||||||
<span className="absolute left-3 top-3 inline-flex items-center gap-0.5 rounded-xl border border-white/15 bg-[#111827]/90 px-2 py-1 text-[10px] font-bold text-[#c9954a] shadow-sm">
|
<span className="absolute left-3 top-3 inline-flex items-center gap-0.5 rounded-xl border border-white/15 bg-[#111827]/90 px-2 py-1 text-[10px] font-bold text-[#c9954a] shadow-sm">
|
||||||
<Star size={10} fill="currentColor" />
|
<Star size={10} fill="currentColor" />
|
||||||
<span>{(rating || (media as any).rating).toFixed(1)}</span>
|
<span>{displayRating.toFixed(1)}</span>
|
||||||
</span>
|
</span>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
|
|||||||
@@ -114,10 +114,10 @@ function normalizeTitle(value?: string): string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const SERIES_SPECIAL_CODE_RE =
|
const SERIES_SPECIAL_CODE_RE =
|
||||||
/\s*[\[((【]?\s*(?:s0+\s*e?\s*\d+|season\s*0+(?:\s*episode)?\s*\d*|special(?:\s*episode)?s?\s*\d*|sp\s*\d*|ovas?\s*\d*|oads?\s*\d*|extras?\s*\d*|bonus(?:es)?\s*\d*|omake\s*\d*)\s*[\]))】]?$/i
|
/\s*[[((【]?\s*(?:s0+\s*e?\s*\d+|season\s*0+(?:\s*episode)?\s*\d*|special(?:\s*episode)?s?\s*\d*|sp\s*\d*|ovas?\s*\d*|oads?\s*\d*|extras?\s*\d*|bonus(?:es)?\s*\d*|omake\s*\d*)\s*[\]))】]?$/i
|
||||||
|
|
||||||
const SERIES_SPECIAL_CJK_RE =
|
const SERIES_SPECIAL_CJK_RE =
|
||||||
/\s*[\[((【]?\s*(?:特别篇|特別篇|番外篇?|特典|外传|外傳|总集篇|總集篇)(?:\s*第?\s*[0-9一二三四五六七八九十百零两]+(?:[集话話期])?)?\s*[\]))】]?$/i
|
/\s*[[((【]?\s*(?:特别篇|特別篇|番外篇?|特典|外传|外傳|总集篇|總集篇)(?:\s*第?\s*[0-9一二三四五六七八九十百零两]+(?:[集话話期])?)?\s*[\]))】]?$/i
|
||||||
|
|
||||||
function normalizePathSeriesTitle(value?: string): string {
|
function normalizePathSeriesTitle(value?: string): string {
|
||||||
const title = normalizeTitle(value)
|
const title = normalizeTitle(value)
|
||||||
|
|||||||
Reference in New Issue
Block a user