"use client"; import type { ReactElement, ReactNode } from "react"; import { cn } from "@/lib/utils"; /** 盈亏 / 输赢:负红、正绿、零灰 */ export function signedMoneyClass(amount: number, emphasize = false): string { if (amount < 0) { return cn("text-destructive", emphasize && "font-semibold"); } if (amount > 0) { return cn("text-emerald-600 dark:text-emerald-400", emphasize && "font-semibold"); } return cn("text-muted-foreground", emphasize && "font-medium"); } export function SignedMoney({ amount, children, emphasize, className, }: { amount: number; children: ReactNode; emphasize?: boolean; className?: string; }): ReactElement { return ( {children} ); } /** 报表 / 结算字段是否应按正负着色 */ export function isSignedMoneyField(key: string): boolean { return ( key === "approx_house_gross_minor" || key === "net_win_loss_minor" || key === "gross_win_loss" || key === "game_win_loss" || key === "profit_loss_minor" || key === "today_profit_minor" || key === "seven_day_profit_minor" || key === "platform_profit" || key === "platform_profit_minor" || key === "share_profit" || key === "share_profit_meta" || key.endsWith("_profit_minor") ); }