import { useTranslation } from "react-i18next";
import { LayoutDashboard } from "lucide-react";
import EmptyState from "../shared/EmptyState";
import OnboardingChecklist from "./OnboardingChecklist";
import type { Checklist } from "../../utils/onboardingChecklist";
import type { ChecklistItemKey } from "../../shared/types";
interface DashboardEmptyStateProps {
checklist: Checklist;
budgetReady: boolean;
/** The visit steps are initialized (#425): their rows stay "pending" until then. */
visitStepsInitialized: boolean;
/** The user dismissed the checklist: the welcome card stays, the list goes. */
hidden: boolean;
onHide: () => void;
/** "Resume" on a skipped row of the list (#397). */
onResume: (key: ChecklistItemKey) => void;
}
/**
* Dashboard of a profile without any transaction (#352): a welcome card with
* the detailed getting-started checklist and one primary action towards the
* import page, in place of widgets showing 0 $. The getting-started banner
* stays off this page (D11): the card already holds the list.
*/
export default function DashboardEmptyState({
checklist,
budgetReady,
visitStepsInitialized,
hidden,
onHide,
onResume,
}: DashboardEmptyStateProps) {
const { t } = useTranslation();
return (
}
title={t("dashboard.empty.title")}
description={t("dashboard.empty.description")}
primaryAction={{ label: t("dashboard.empty.cta"), to: "/import" }}
>
{!hidden && (
)}
);
}