"use client"; import { useEffect, useState } from "react"; import { CheckCircle2, Loader2, Puzzle, RefreshCw } from "lucide-react"; import { Button } from "@/components/ui/button"; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"; type SyncResult = { success?: boolean; valid?: boolean; message?: string; username?: string }; export function ExtensionSyncCard() { const [ready, setReady] = useState(false); const [syncing, setSyncing] = useState(false); const [result, setResult] = useState(null); useEffect(() => { const onMessage = (event: MessageEvent) => { if (event.source !== window) return; if (event.data?.type === "HAIXUN_EXTENSION_READY") setReady(true); if (event.data?.type === "HAIXUN_THREADS_SYNC_RESULT") { setSyncing(false); setResult(event.data); } }; window.addEventListener("message", onMessage); window.postMessage({ type: "HAIXUN_PING_EXTENSION" }, "*"); return () => window.removeEventListener("message", onMessage); }, []); function sync() { setSyncing(true); setResult(null); window.postMessage({ type: "HAIXUN_REQUEST_THREADS_SYNC", serverUrl: window.location.origin }, "*"); window.setTimeout(() => setSyncing(false), 15000); } return (
Threads Extension 所有 Threads 抓取統一使用 Chrome Extension,不需要官方 API。
{ready ? "已偵測" : "未偵測"}

1. 登入 Threads在同一個 Chrome 視窗登入

2. 同步 Session不會儲存你的密碼

3. 開始海巡海巡與找 TA 共用

{result &&

{result.success && }{result.username ? `@${result.username} · ` : ""}{result.message ?? (result.success ? "同步成功" : "同步失敗")}

} {!ready &&

請先載入 extension/haixun-threads-sync,並在擴充功能選項填入這個網站網址。

}
); }