import { LoaderFunctionArgs, json } from "@remix-run/node"; import { useLoaderData, Link } from "@remix-run/react"; import { Button } from "~/components/ui/button"; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "~/components/ui/card"; import { Badge } from "~/components/ui/badge"; import { BookOpen, Plus, Users, ThumbsUp } from "lucide-react"; // Mock data untuk tips & panduan const mockTips = [ { id: "1", title: "Panduan Lengkap Kompos Rumahan", category: "Panduan", difficulty: "Pemula", likes: 89, saves: 45, createdAt: "2024-01-15" }, { id: "2", title: "5 Tips Mengurangi Sampah Plastik", category: "Tips", difficulty: "Mudah", likes: 156, saves: 78, createdAt: "2024-01-14" } ]; export async function loader({ request }: LoaderFunctionArgs) { return json({ tips: mockTips }); } export default function TipsPanduanIndex() { const { tips } = useLoaderData(); return (
{/* Header */}

Tips & Panduan

Kelola tips dan panduan untuk edukasi pengelolaan sampah

{/* Stats */}
Total Tips
{tips.length}
Total Likes
{tips.reduce((sum, t) => sum + t.likes, 0)}
Total Saves
{tips.reduce((sum, t) => sum + t.saves, 0)}
Avg. Engagement
{Math.round( tips.reduce((sum, t) => sum + t.likes + t.saves, 0) / tips.length )}
{/* Tips Grid */}
{tips.map((tip) => (
{tip.category} {tip.difficulty}
{tip.title}
{tip.createdAt}
{tip.likes} {tip.saves}
))}
); }