import { getTranslations } from "next-intl/server"; import { claimDailyReward } from "@/actions/daily-reward"; import { CurrencyIcon } from "@/components/shared/currency-icon"; import { SurfaceCard } from "@/components/surface-card"; import { type DailyRewardState, rewardForStreak, } from "@/lib/services/daily-rewards"; import styles from "./dashboard.module.css"; export default async function DailyRewardCard({ state, }: { state: DailyRewardState; }) { const t = await getTranslations("pages.myDashboard"); if (!state.enabled) { return (

{t("dailyRewardDisabled")}

); } if (state.rewards.length === 0) { return (

{t("dailyRewardUnavailable")}

); } const upcoming = state.alreadyClaimedToday ? rewardForStreak(state.rewards, state.nextStreak + 1) : state.nextReward; return (

{t("dailyRewardHint")}

{t("dailyRewardStreak", { count: state.nextStreak })}

{upcoming && (

{t( state.alreadyClaimedToday ? "dailyRewardTomorrow" : "dailyRewardNextClaim", { amount: upcoming.amount, currency: t.has(`currencies.${upcoming.currency}`) ? t(`currencies.${upcoming.currency}`) : upcoming.currency, }, )}

)} {state.alreadyClaimedToday ? (

{t("dailyRewardClaimedToday")}

) : (
)} ); }