+
+
Conversations
+ {forest && (
+
+ {forest.status === "accepted"
+ ? "threadweave"
+ : `threadweave · ${forest.status_reason ?? "unavailable"}`}
+
+ )}
+
+ {error && {error}
}
+ {forest === null && !error && Loading conversations...
}
+ {forest && forest.status === "unavailable" && (
+ Conversations · ThreadWeave not available
+ )}
+ {forest && forest.status === "accepted" && forest.conversations.length === 0 && (
+ No conversation trees from ThreadWeave.
+ )}
+ {forest && forest.conversations.length > 0 && (
+
+ {forest.conversations.map((tree) => (
+
+ ))}
+
+ )}
+
+ );
+}
+
+function ConversationTreeItem({
+ tree,
+ onSelectPost,
+}: {
+ tree: ConversationNode;
+ onSelectPost: (postId: string) => void;
+}) {
+ const replyCount = tree.children?.length ?? 0;
+ return (
+