From 7f1ad30db18d8fcf0c5b9504cd30cd2e4628a891 Mon Sep 17 00:00:00 2001 From: WithoutPants <53250216+WithoutPants@users.noreply.github.com> Date: Thu, 5 Sep 2024 16:34:56 +1000 Subject: [PATCH] Show option for sub-content only if there are child objects (#5223) --- .../components/Studios/StudioDetails/Studio.tsx | 17 +++++++++++------ ui/v2.5/src/components/Tags/TagDetails/Tag.tsx | 17 +++++++++++------ 2 files changed, 22 insertions(+), 12 deletions(-) diff --git a/ui/v2.5/src/components/Studios/StudioDetails/Studio.tsx b/ui/v2.5/src/components/Studios/StudioDetails/Studio.tsx index 522dfe64a..01b2d7524 100644 --- a/ui/v2.5/src/components/Studios/StudioDetails/Studio.tsx +++ b/ui/v2.5/src/components/Studios/StudioDetails/Studio.tsx @@ -79,7 +79,9 @@ const StudioTabs: React.FC<{ abbreviateCounter: boolean; showAllCounts?: boolean; }> = ({ tabKey, studio, abbreviateCounter, showAllCounts = false }) => { - const [showAllDetails, setShowAllDetails] = useState(showAllCounts); + const [showAllDetails, setShowAllDetails] = useState( + showAllCounts && studio.child_studios.length > 0 + ); const sceneCount = (showAllDetails ? studio.scene_count_all : studio.scene_count) ?? 0; @@ -125,8 +127,12 @@ const StudioTabs: React.FC<{ baseURL: `/studios/${studio.id}`, }); - const contentSwitch = useMemo( - () => ( + const contentSwitch = useMemo(() => { + if (!studio.child_studios.length) { + return null; + } + + return (
} />
- ), - [showAllDetails] - ); + ); + }, [showAllDetails, studio.child_studios.length]); return ( = ({ tabKey, tag, abbreviateCounter, showAllCounts = false }) => { - const [showAllDetails, setShowAllDetails] = useState(showAllCounts); + const [showAllDetails, setShowAllDetails] = useState( + showAllCounts && tag.children.length > 0 + ); const sceneCount = (showAllDetails ? tag.scene_count_all : tag.scene_count) ?? 0; @@ -135,8 +137,12 @@ const TagTabs: React.FC<{ baseURL: `/tags/${tag.id}`, }); - const contentSwitch = useMemo( - () => ( + const contentSwitch = useMemo(() => { + if (tag.children.length === 0) { + return null; + } + + return (
} />
- ), - [showAllDetails] - ); + ); + }, [showAllDetails, tag.children.length]); return (