diff --git a/src/features/hall/hall-draw-panel.tsx b/src/features/hall/hall-draw-panel.tsx index 6894ce1..6f46a7a 100644 --- a/src/features/hall/hall-draw-panel.tsx +++ b/src/features/hall/hall-draw-panel.tsx @@ -13,12 +13,7 @@ import { } from "@/features/draw/draw-status-meta"; import type { HallDrawLiveSnapshot } from "@/features/hall/use-hall-draw-live"; import { formatSecondsClock } from "@/lib/format-gmt"; -import { LOTTERY_SCHEDULE_TIMEZONE } from "@/lib/lottery-schedule-timezone"; -import { - formatPlayerInstant, - formatLotteryScheduleClock, - getBrowserTimeZoneLabel, -} from "@/lib/player-datetime"; +import { formatPlayerInstant } from "@/lib/player-datetime"; import { cn } from "@/lib/utils"; import type { DrawCurrentPayload } from "@/types/api/draw-current"; @@ -190,7 +185,7 @@ export function HallDrawPanel({ drawLive }: { drawLive: HallDrawLiveSnapshot })

{t("draw.issueNo")}

-

+

{display.draw_no}

@@ -214,17 +209,6 @@ export function HallDrawPanel({ drawLive }: { drawLive: HallDrawLiveSnapshot }) />
- {display.schedule_now ? ( -
- {t("draw.scheduleNow", { - now: formatLotteryScheduleClock( - display.schedule_now, - display.schedule_timezone ?? LOTTERY_SCHEDULE_TIMEZONE, - ), - tz: getBrowserTimeZoneLabel(), - })} -
- ) : null} {blockedUi ? (
diff --git a/src/features/hall/hall-screen.tsx b/src/features/hall/hall-screen.tsx index c0360e5..087b792 100644 --- a/src/features/hall/hall-screen.tsx +++ b/src/features/hall/hall-screen.tsx @@ -5,7 +5,6 @@ import Image from "next/image"; import Link from "next/link"; import { useTranslation } from "react-i18next"; -import { CurrencySwitcher } from "@/components/currency-switcher"; import { LanguageSwitcher } from "@/components/language-switcher"; import { HallBettingGrid } from "@/features/hall/hall-betting-grid"; import { usePlayerStickyTopStyle } from "@/hooks/use-player-sticky-top-style"; @@ -35,7 +34,7 @@ export function HallScreen() {
@@ -50,15 +49,6 @@ export function HallScreen() { />
- ["wallet/balance", currency]; @@ -62,7 +63,8 @@ export function HallWalletStrip() { }, [isDegraded]); const availableMinor = Number(balance?.available_balance ?? balance?.balance ?? 0); - const isCreditPlayer = isCreditFundingPlayer(balance); + const profile = usePlayerSessionStore((s) => s.profile); + const isCreditPlayer = isCreditFundingPlayer(balance) || isCreditFundingPlayer(profile); const balanceMinor = Number(balance?.balance ?? 0); const headlineMinor = isCreditPlayer ? availableMinor : balanceMinor; const transferInLotteryMinor = isCreditPlayer ? availableMinor : balanceMinor; diff --git a/src/features/orders/ticket-orders-list-screen.tsx b/src/features/orders/ticket-orders-list-screen.tsx index ef6bdee..4d550f1 100644 --- a/src/features/orders/ticket-orders-list-screen.tsx +++ b/src/features/orders/ticket-orders-list-screen.tsx @@ -3,7 +3,7 @@ import Link from "next/link"; import { useSearchParams } from "next/navigation"; import { useCallback, useEffect, useMemo, useRef, useState } from "react"; -import { CalendarRange, Check, ChevronDown, Search } from "lucide-react"; +import { CalendarRange, ChevronDown, Search } from "lucide-react"; import { useTranslation } from "react-i18next"; import { getDrawCurrent } from "@/api/draw"; @@ -342,8 +342,8 @@ export function TicketOrdersListScreen() { {t("orders.status")} {queryStatuses.length ? ( - - {queryStatuses.length} + + {t(`ticketStatus.${queryStatuses[0]}`, { defaultValue: queryStatuses[0] })} ) : null} @@ -353,40 +353,33 @@ export function TicketOrdersListScreen() { } /> - -
-

- {t("orders.statusFilter")} -

+ +
+ {STATUS_OPTIONS.map((status) => { - const checked = queryStatuses.includes(status); + const checked = queryStatuses[0] === status; return ( ); diff --git a/src/features/player/entry-gate.tsx b/src/features/player/entry-gate.tsx index c1d8dbf..58cae35 100644 --- a/src/features/player/entry-gate.tsx +++ b/src/features/player/entry-gate.tsx @@ -368,6 +368,7 @@ export function EntryGate() { src={phase === "success" ? "/entry/image4.png" : "/entry/image1.png"} alt={t("header.backgroundAlt")} fill + sizes="100vw" className="object-cover object-center" priority /> diff --git a/src/features/player/player-login-screen.tsx b/src/features/player/player-login-screen.tsx index f105783..c937247 100644 --- a/src/features/player/player-login-screen.tsx +++ b/src/features/player/player-login-screen.tsx @@ -151,9 +151,9 @@ export function PlayerLoginScreen(): React.ReactElement { return (
-
+
- +
diff --git a/src/features/wallet/wallet-logs-screen.tsx b/src/features/wallet/wallet-logs-screen.tsx index c195f62..ede135c 100644 --- a/src/features/wallet/wallet-logs-screen.tsx +++ b/src/features/wallet/wallet-logs-screen.tsx @@ -12,6 +12,7 @@ import { useActivePlayerCurrency } from "@/hooks/use-active-player-currency"; import { PLAYER_CURRENCY_CHANGE_EVENT } from "@/lib/player-currency-preference"; import { isCreditFundingPlayer } from "@/lib/player-funding-mode"; import { formatWalletClientError } from "@/lib/wallet-api-error"; +import { usePlayerSessionStore } from "@/stores/player-session-store"; import { getWalletLogsLastPage, type WalletLogsData } from "@/types/api/wallet-logs"; const WALLET_LOGS_PAGE_SIZE = 10; @@ -25,7 +26,8 @@ export function WalletLogsScreen() { const [logsLoading, setLogsLoading] = useState(false); const [loadingMore, setLoadingMore] = useState(false); const [error, setError] = useState(null); - const [creditMode, setCreditMode] = useState(false); + const profile = usePlayerSessionStore((s) => s.profile); + const [creditMode, setCreditMode] = useState(() => isCreditFundingPlayer(profile)); const loadMoreRef = useRef(null); const fetchPassRef = useRef(true); diff --git a/src/features/wallet/wallet-screen.tsx b/src/features/wallet/wallet-screen.tsx index 43bd0b0..6c15640 100644 --- a/src/features/wallet/wallet-screen.tsx +++ b/src/features/wallet/wallet-screen.tsx @@ -22,6 +22,7 @@ import { isCreditFundingPlayer } from "@/lib/player-funding-mode"; import { formatMinorAsCurrency } from "@/lib/money"; import { PLAYER_CURRENCY_CHANGE_EVENT } from "@/lib/player-currency-preference"; import { formatWalletClientError } from "@/lib/wallet-api-error"; +import { usePlayerSessionStore } from "@/stores/player-session-store"; import type { WalletBalanceData } from "@/types/api/wallet-balance"; import { getWalletLogsLastPage, type WalletLogsData } from "@/types/api/wallet-logs"; @@ -163,7 +164,8 @@ export function WalletScreen() { const hasMore = logs ? logs.page < getWalletLogsLastPage(logs) : false; - const isCreditPlayer = isCreditFundingPlayer(balance); + const profile = usePlayerSessionStore((s) => s.profile); + const isCreditPlayer = isCreditFundingPlayer(balance) || isCreditFundingPlayer(profile); const displayMinor = isCreditPlayer ? Number(balance?.available_balance ?? 0) : Number(balance?.balance ?? 0);