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);