diff --git a/components/home/lovart-home.tsx b/components/home/lovart-home.tsx index ddc5c56e0..3d08d5a39 100644 --- a/components/home/lovart-home.tsx +++ b/components/home/lovart-home.tsx @@ -324,6 +324,7 @@ export function LovartHome({ const [isSubmitting, setIsSubmitting] = useState(false); const [activeCategory, setActiveCategory] = useState("全部"); const [showAllProjects, setShowAllProjects] = useState(false); + const [isProjectsOnlyView, setIsProjectsOnlyView] = useState(false); const [upgradeDialogOpen, setUpgradeDialogOpen] = useState(false); const [accountCenterOpen, setAccountCenterOpen] = useState(false); const [accountCenterTab, setAccountCenterTab] = useState<"account" | "usage" | "billing">( @@ -588,10 +589,12 @@ export function LovartHome({ ); }, [loadedFeaturedImages, activeCategory]); + const shouldShowAllProjects = isProjectsOnlyView || showAllProjects; + const recentProjects = useMemo(() => { const projects = canvasData?.data || []; - return showAllProjects ? projects : projects.slice(0, 4); - }, [canvasData?.data, showAllProjects]); + return shouldShowAllProjects ? projects : projects.slice(0, 4); + }, [canvasData?.data, shouldShowAllProjects]); const hasMoreProjects = useMemo(() => { return (canvasData?.data || []).length > 4; @@ -1098,6 +1101,7 @@ export function LovartHome({ openLoginDialog(); return; } + setIsProjectsOnlyView(true); setShowAllProjects(true); projectSectionRef.current?.scrollIntoView({ behavior: "smooth", block: "start" }); }; @@ -1370,7 +1374,10 @@ export function LovartHome({ window.scrollTo({ top: 0, behavior: "smooth" })} + onClick={() => { + setIsProjectsOnlyView(false); + window.scrollTo({ top: 0, behavior: "smooth" }); + }} > @@ -1562,7 +1569,8 @@ export function LovartHome({ - + {!isProjectsOnlyView && ( + {isMembershipEnabled ? ( ))} - + + )} - + - 最近项目 - {hasMoreProjects ? ( + + {isProjectsOnlyView ? "所有项目" : "最近项目"} + + {!isProjectsOnlyView && hasMoreProjects ? ( - + {!isProjectsOnlyView && ( + 灵感发现 @@ -1865,7 +1880,8 @@ export function LovartHome({ ) : null} - + + )}