import { json, type ActionFunctionArgs } from "@remix-run/node";import { Form, useActionData } from "@remix-run/react";import { Firecrawl } from "firecrawl";const firecrawl = new Firecrawl({ apiKey: process.env.FIRECRAWL_API_KEY });export async function action({ request }: ActionFunctionArgs) { const formData = await request.formData(); const query = formData.get("query") as string; const results = await firecrawl.search(query, { limit: 5 }); return json({ results: (results.web || []).map((r) => ({ title: r.title, url: r.url })) });}export default function SearchPage() { const data = useActionData<typeof action>(); return ( <div> <Form method="post"> <input name="query" placeholder="Search the web..." /> <button type="submit">Search</button> </Form> {data?.results?.map((r, i) => ( <div key={i}> <a href={r.url}>{r.title}</a> </div> ))} </div> );}