From 25f962415a1b602ccd8ad60f7681bee0402064e6 Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 17 Feb 2026 13:06:32 +0800 Subject: [PATCH] feat(home): add projects-only view from sidebar --- components/home/lovart-home.tsx | 36 ++++++++++++++++++++++++--------- 1 file changed, 26 insertions(+), 10 deletions(-) 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({ @@ -1562,7 +1569,8 @@ export function LovartHome({
-
+ {!isProjectsOnlyView && ( +
{isMembershipEnabled ? (
+
+ )} -
+
-

最近项目

- {hasMoreProjects ? ( +

+ {isProjectsOnlyView ? "所有项目" : "最近项目"} +

+ {!isProjectsOnlyView && hasMoreProjects ? (
-
+ {!isProjectsOnlyView && ( +

灵感发现

@@ -1865,7 +1880,8 @@ export function LovartHome({
) : null} -
+
+ )}