0.3.5 共享功能修复

This commit is contained in:
liaibo
2026-01-24 12:32:51 +08:00
parent 25923f308c
commit 3c3f407f4b
44 changed files with 3754 additions and 420 deletions
+7 -3
View File
@@ -3,7 +3,7 @@
import Link from "next/link";
import { useParams, useSelectedLayoutSegments } from "next/navigation";
import { ChevronRight, MoreHorizontal, Star } from "lucide-react";
import { useMutation, useQuery } from "convex/react";
import { useConvexAuth, useMutation, useQuery } from "convex/react";
import type { DocumentRecord } from "@/lib/documents";
import { findBreadcrumb } from "@/lib/documents";
import { usePageLayoutStore } from "@/store/page-layout";
@@ -14,6 +14,7 @@ interface BreadcrumbProps {
}
export function Breadcrumb({ documents }: BreadcrumbProps) {
const { isAuthenticated } = useConvexAuth();
const segments = useSelectedLayoutSegments();
const params = useParams<{ id?: string }>();
const paramId = typeof params?.id === "string" ? params.id : "";
@@ -21,7 +22,10 @@ export function Breadcrumb({ documents }: BreadcrumbProps) {
const path = findBreadcrumb(documents, activeId);
const showInspector = usePageLayoutStore((state) => state.showInspector);
const toggleInspector = usePageLayoutStore((state) => state.toggleInspector);
const isStarred = useQuery(api.documentStars.isStarred, activeId ? { documentId: activeId } : "skip");
const isStarred = useQuery(
api.documentStars.isStarred,
activeId && isAuthenticated ? { documentId: activeId } : "skip",
);
const toggleStar = useMutation(api.documentStars.toggle);
// 新建页面后,侧边栏数据可能还没同步到 layout(SSR)注入的 documents,导致 findBreadcrumb 暂时为空。
@@ -60,7 +64,7 @@ export function Breadcrumb({ documents }: BreadcrumbProps) {
type="button"
className="hover:bg-wolai-bg-hover hover:text-wolai-text-primary rounded-full px-3 py-1 text-sm transition-colors"
onClick={() => void toggleStar({ documentId: activeId })}
disabled={!activeId}
disabled={!activeId || !isAuthenticated}
>
<Star
className={`mr-1 inline h-4 w-4 ${isStarred ? "text-[#f5a623]" : ""}`}