"use client"; import { useMemo, useState } from "react"; import Link from "next/link"; import { TOOL_CATEGORIES, TOOL_LINKS } from "@/lib/tools"; import SiteShell from "@/components/SiteShell"; const FEATURED = ["weekend", "day-plan", "bill-split", "mood", "scam-alerts", "deposit-return", "airport-transfer", "invoice-fx", "hydration", "sleep", "coliving-qa", "rainy-day"]; export default function ToolsHubPage() { const [filter, setFilter] = useState("all"); const [q, setQ] = useState(""); const featured = useMemo( () => FEATURED.map((id) => TOOL_LINKS.find((t) => t.id === id)).filter((t): t is NonNullable => !!t), [] ); const filtered = useMemo(() => { let list = filter === "all" ? TOOL_LINKS : TOOL_LINKS.filter((t) => t.category === filter); if (q.trim()) { const s = q.toLowerCase(); list = list.filter((t) => t.title.toLowerCase().includes(s) || t.desc.toLowerCase().includes(s)); } return list; }, [filter, q]); return (
🛠️ TOOLKIT

nomadro 工具箱

规划、金钱、工作、生活与安全——一站直达所有旅居工具

✨ 本周推荐 一次上新 12+ 工具 · 周末/分账/防坑…
{featured.map((t) => ( {t.emoji}

{t.title}

{t.desc}

))}
setQ(e.target.value)} />
{TOOL_CATEGORIES.map((c) => ( ))}
{filtered.map((t) => ( {t.emoji}

{t.title}

{t.desc}

打开 → ))}
{filtered.length === 0 && (

没有匹配的工具,试试其他关键词

)}
); }