"use client"; import { FLOCK_UI } from "@/lib/flock/ui-labels"; import type { FlockDisplayLine } from "@/modules/flock/quote-storage"; export interface FlockQuoteResultProps { lines: FlockDisplayLine[]; reference?: string | null; onReset?: () => void; } function formatUsd(n: number): string { return n.toLocaleString("en-US", { style: "currency", currency: "USD", maximumFractionDigits: 0, }); } /** Flock 两档对比结果卡(中文) */ export function FlockQuoteResult({ lines, reference, onReset, }: FlockQuoteResultProps) { const direct = lines.find((l) => l.tier === "flock_direct"); const standard = lines.find((l) => l.tier === "standard"); if (!direct && !standard) { return (
{FLOCK_UI.emptyResult}
); } return (

{FLOCK_UI.resultTitle}

{reference && (

{FLOCK_UI.reference} #{reference}

)}
{onReset && ( )}
{direct && (
{FLOCK_UI.directTag}

{FLOCK_UI.directName}

{FLOCK_UI.pricesFrom} {formatUsd(direct.final_total_usd)}

{FLOCK_UI.transit}:{direct.transitDescription || direct.transitDays}

    {FLOCK_UI.directFeatures.map((f) => (
  • ✓ {f}
  • ))}
)} {standard && (
{FLOCK_UI.standardTag}

{FLOCK_UI.standardName}

{FLOCK_UI.pricesFrom} {formatUsd(standard.final_total_usd)}

{FLOCK_UI.transit}: {standard.transitDescription || standard.transitDays}

    {FLOCK_UI.standardFeatures.map((f, i) => (
  • {i === 0 ? "✓" : "×"} {f}
  • ))}

{FLOCK_UI.standardNote}

)}
); }