diff --git a/apps/player/src/components/desktop/DesktopShell.vue b/apps/player/src/components/desktop/DesktopShell.vue index 3e7d9e3..c805f3f 100644 --- a/apps/player/src/components/desktop/DesktopShell.vue +++ b/apps/player/src/components/desktop/DesktopShell.vue @@ -93,7 +93,7 @@ watch(
diff --git a/apps/player/src/views/desktop/DesktopBetDetailView.vue b/apps/player/src/views/desktop/DesktopBetDetailView.vue index b68236f..752348a 100644 --- a/apps/player/src/views/desktop/DesktopBetDetailView.vue +++ b/apps/player/src/views/desktop/DesktopBetDetailView.vue @@ -5,7 +5,7 @@ import { useRoute, useRouter, RouterLink } from 'vue-router'; import api from '../../api'; import GoldSpinner from '../../components/GoldSpinner.vue'; -const { t } = useI18n(); +const { t, locale } = useI18n(); const route = useRoute(); const router = useRouter(); @@ -20,17 +20,16 @@ function goBack() { type BetDetail = { betNo: string; stake: string; - potentialPayout?: string; + potentialReturn?: string; status: string; - createdAt: string; - selections: Array<{ - matchName?: string; + placedAt: string; + legs: Array<{ + matchTitle?: string; + marketLabel?: string; selectionName?: string; odds?: number; - market?: string; - homeScore?: number; - awayScore?: number; - matchStatus?: string; + resultStatus?: string; + score?: { ht: string | null; ft: string | null } | null; [key: string]: any; }>; [key: string]: any; @@ -71,6 +70,32 @@ function statusLabel(status: string) { }; return map[status?.toUpperCase()] ?? status; } + +const SEL_TRANS: Record> = { + '主胜': { 'en-US': 'Home Win', 'ms-MY': 'Rumah Menang' }, + '客胜': { 'en-US': 'Away Win', 'ms-MY': 'Tandang Menang' }, + '和局': { 'en-US': 'Draw', 'ms-MY': 'Seri' }, + '主': { 'en-US': 'Home', 'ms-MY': 'Rumah' }, + '客': { 'en-US': 'Away', 'ms-MY': 'Tandang' }, + '大': { 'en-US': 'Over', 'ms-MY': 'Atas' }, + '小': { 'en-US': 'Under', 'ms-MY': 'Bawah' }, + '单': { 'en-US': 'Odd', 'ms-MY': 'Ganjil' }, + '双': { 'en-US': 'Even', 'ms-MY': 'Genap' }, + '冠军': { 'en-US': 'Winner', 'ms-MY': 'Juara' }, +}; + +function translateSel(name: string): string { + if (locale.value === 'zh-CN') return name; + const exact = SEL_TRANS[name]; + if (exact) return exact[locale.value] ?? exact['en-US'] ?? name; + const sp = name.indexOf(' '); + if (sp > 0) { + const head = name.slice(0, sp); + const m = SEL_TRANS[head]; + if (m) return (m[locale.value] ?? m['en-US'] ?? head) + name.slice(sp); + } + return name; +}