Hide recharge entry from account menu

This commit is contained in:
鲨鱼辣椒 committed 2026-10-13 17:56:11 +08:00
1 parent 10da39341e
commit e9171208e6
6 files changed
+112 -61

No files matched your search

+2 -2
View File
@@ -21,7 +21,7 @@ const money = (cents: number) => `¥${(cents / 100).toFixed(2)}`;
const time = (value: string) => new Date(value).toLocaleString('zh-CN');
const unresolved = (order: WorksRechargeOrder) => order.status === 'pending' || order.status === 'manual_review';
export function PointWallet({ active = true, accountName = '当前登录账号', accountUsername }: { active?: boolean; accountName?: string; accountUsername?: string }) {
export function PointWallet({ active = true, accountName = '当前登录账号', accountUsername, showRechargeEntry = true }: { active?: boolean; accountName?: string; accountUsername?: string; showRechargeEntry?: boolean }) {
const [summary, setSummary] = useState<WorksBillingSummary | null>(null);
const [summaryError, setSummaryError] = useState(false);
const [open, setOpen] = useState(false);
@@ -169,7 +169,7 @@ export function PointWallet({ active = true, accountName = '当前登录账号',
{isWorksTokenPointBalanceExhausted(own) && !usingShared && <p className="mt-1 text-[11px] text-muted-foreground">{summary?.can_recharge ? '点数已用尽,请由家长完成当前账号充值。' : '点数已用尽,当前账号暂不能充值,请联系支持。'}</p>}
{summaryError && <button className="mt-1 underline" onClick={() => void refreshSummary()}>重试余额</button>}
</div>
<button type="button" role="menuitem" data-testid="sidebar-point-wallet-open" className="flex min-h-10 w-full items-center gap-2 rounded-md px-1 text-left text-sm hover:bg-surface-subtle" onClick={() => { setOpen(true); setTab('recharge'); setOffset(0); }}><Coins className="h-4 w-4" />词元点数与充值</button>
{showRechargeEntry && <button type="button" role="menuitem" data-testid="sidebar-point-wallet-open" className="flex min-h-10 w-full items-center gap-2 rounded-md px-1 text-left text-sm hover:bg-surface-subtle" onClick={() => { setOpen(true); setTab('recharge'); setOffset(0); }}><Coins className="h-4 w-4" />词元点数与充值</button>}
<Dialog open={open} onOpenChange={setOpen}>
<DialogContent className="max-w-2xl max-h-[85vh] overflow-y-auto" data-testid="point-wallet-dialog">
<DialogHeader>
+1 -1
View File
@@ -872,7 +872,7 @@ export function Sidebar({
</div>
<div className="mt-1 grid gap-0.5">
{authUser && <PointWallet key={authUser.userId ?? authUser.username} active={accountMenuOpen} accountName={accountName} accountUsername={authUser.username} />}
{authUser && <PointWallet key={authUser.userId ?? authUser.username} active={accountMenuOpen} accountName={accountName} accountUsername={authUser.username} showRechargeEntry={false} />}
<button
type="button"
role="menuitem"