import { useEffect, useState } from "react"; import { Link } from "@tanstack/react-router"; import { Card, CardContent } from "@pram/ui/components/card"; import { MaterialIcon } from "@/components/ui/MaterialIcon"; const LS_KEY = "pram-getting-started-dismissed"; const steps = [ { num: 1, title: "Generate Soal", desc: "Buat soal latihan AI sesuai exam yang kamu pilih. Pilih jenis ujian, section, format, dan topik.", link: "/generate", icon: "auto_awesome" as const, color: "matcha", }, { num: 2, title: "Buat Paket", desc: "Kumpulkan soal dari Bank Soal jadi paket latihan. Bisa manual atau pakai Auto Bundle.", link: "/bank", icon: "folder" as const, color: "slushie", }, { num: 3, title: "Mulai Latihan", desc: "Kerjakan paket soal, lihat skor, dan pantau perkembangan belajarmu.", link: "/packages", icon: "play_arrow" as const, color: "lemon", }, ]; const colorMap: Record = { matcha: { bg: "bg-[var(--matcha-300)]", text: "text-[var(--matcha-800)]", badge: "bg-[var(--matcha-300)]/30" }, slushie: { bg: "bg-[var(--slushie-500)]", text: "text-[var(--slushie-800)]", badge: "bg-[var(--slushie-500)]/20" }, lemon: { bg: "bg-[var(--lemon-400)]", text: "text-[var(--lemon-800)]", badge: "bg-[var(--lemon-400)]/30" }, }; export function GettingStartedCard() { const [visible, setVisible] = useState(false); useEffect(() => { const dismissed = localStorage.getItem(LS_KEY) === "true"; if (!dismissed) setVisible(true); }, []); const dismiss = () => { localStorage.setItem(LS_KEY, "true"); setVisible(false); }; if (!visible) return null; return (

Mulai Belajar

Ikuti 3 langkah mudah untuk memulai latihan.

{steps.map((step) => { const c = colorMap[step.color]; return (
{step.num}

{step.title}

{step.desc}

); })}
); }