From 2afe2c92971e20560fa0e70160a6b37d231d3c84 Mon Sep 17 00:00:00 2001 From: ITurres Date: Thu, 12 Feb 2026 17:43:48 -0300 Subject: [PATCH 1/4] feat(studio/releases): show official statement CTA tooltip when Create New Release disabled --- .../src/pages/home/releases/Discography.tsx | 60 ++++++++++++------- 1 file changed, 40 insertions(+), 20 deletions(-) diff --git a/apps/studio/src/pages/home/releases/Discography.tsx b/apps/studio/src/pages/home/releases/Discography.tsx index 24f4523f..f94740a5 100644 --- a/apps/studio/src/pages/home/releases/Discography.tsx +++ b/apps/studio/src/pages/home/releases/Discography.tsx @@ -2,18 +2,25 @@ import { FunctionComponent, useState } from "react"; import { Box, Typography } from "@mui/material"; -import { GradientDashedOutline, IconMessage, Link } from "@newm-web/elements"; -import { AddSong } from "@newm-web/assets"; - import { useFlags } from "launchdarkly-react-client-sdk"; +import { + GradientDashedOutline, + IconMessage, + Link, + Tooltip, +} from "@newm-web/elements"; +import { AddSong } from "@newm-web/assets"; + import SongList from "./SongList"; +import OfficialStatementCTA from "../../../components/OfficialStatementCTA"; import { SearchBox } from "../../../components"; import { useGetSongCountQuery } from "../../../modules/song"; const Discography: FunctionComponent = () => { // TODO(webStudioAlbumPhaseTwo): Remove flag once flag is retired. - const { webStudioAlbumPhaseTwo } = useFlags(); + const { webStudioAlbumPhaseTwo, webStudioDisableDistributionAndSales } = + useFlags(); const [query, setQuery] = useState(""); @@ -33,23 +40,36 @@ const Discography: FunctionComponent = () => { - - }> + + + } message="Create New Release" /> + + + + ) : ( + - } message="Create New Release" /> - - + + } message="Create New Release" /> + + + ) } { totalCountOfSongs || query ? ( From eacdad5764e9b67d09d47e0faeb3a49904abcce4 Mon Sep 17 00:00:00 2001 From: ITurres Date: Thu, 12 Feb 2026 17:46:02 -0300 Subject: [PATCH 2/4] feat(studio/releases): redirect all 'new' flows to '/releases' --- apps/studio/src/pages/home/Home.tsx | 11 ++++- .../src/pages/home/releases/Releases.tsx | 41 ++++++++++++++++--- 2 files changed, 46 insertions(+), 6 deletions(-) diff --git a/apps/studio/src/pages/home/Home.tsx b/apps/studio/src/pages/home/Home.tsx index 580cc882..54152fd1 100644 --- a/apps/studio/src/pages/home/Home.tsx +++ b/apps/studio/src/pages/home/Home.tsx @@ -143,7 +143,16 @@ const Home: FunctionComponent = () => { path="" /> - } path="upload-song/*" /> + + ) : ( + + ) + } + path="upload-song/*" + /> { // TODO(webStudioAlbumPhaseTwo): Remove flag once flag is retired. - const { webStudioAlbumPhaseTwo } = useFlags(); + // TODO(webStudioDisableDistributionAndSales): Remove once flag is retired. + const { webStudioAlbumPhaseTwo, webStudioDisableDistributionAndSales } = + useFlags(); return ( { { webStudioAlbumPhaseTwo && ( <> - } path="new/*" /> + + ) : ( + + ) + } + path="new/*" + /> } path=":releaseId/*" /> - } path="new/track/new" /> - } path=":releaseId/track/new" /> + + ) : ( + + ) + } + path="new/track/new" + /> + + + ) : ( + + ) + } + path=":releaseId/track/new" + /> + } path=":releaseId/track/:trackId" From e86265b524e364f17cf1a6262d9f942c303cec8c Mon Sep 17 00:00:00 2001 From: ITurres Date: Thu, 12 Feb 2026 17:58:27 -0300 Subject: [PATCH 3/4] feat(studio/createProfile): 'CreateProfile' add conditional margin top --- .../src/pages/createProfile/CreateProfile.tsx | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/apps/studio/src/pages/createProfile/CreateProfile.tsx b/apps/studio/src/pages/createProfile/CreateProfile.tsx index cad7b967..adbdc5d8 100644 --- a/apps/studio/src/pages/createProfile/CreateProfile.tsx +++ b/apps/studio/src/pages/createProfile/CreateProfile.tsx @@ -1,9 +1,15 @@ import { FunctionComponent, useMemo } from "react"; +import { useLocation } from "react-router-dom"; + +import { useFlags } from "launchdarkly-react-client-sdk"; + +import * as Yup from "yup"; + import { Box, Container, useTheme } from "@mui/material"; + import { WizardForm } from "@newm-web/elements"; -import * as Yup from "yup"; import { getUpdatedValues, removeTrailingSlash } from "@newm-web/utils"; -import { useLocation } from "react-router-dom"; + import Begin from "./Begin"; import SelectNickname from "./SelectNickname"; import SelectRole from "./SelectRole"; @@ -13,7 +19,7 @@ import AddLastName from "./AddLastName"; import SelectLocation from "./SelectLocation"; import NotFoundPage from "../NotFoundPage"; import { useGetRolesQuery } from "../../modules/content"; -import { commonYupValidation } from "../../common"; +import { commonYupValidation, useBreakpoint } from "../../common"; import { ProfileFormValues, emptyProfile, @@ -24,7 +30,11 @@ import { const rootPath = "create-profile"; const CreateProfile: FunctionComponent = () => { + const { webStudioDisableDistributionAndSales } = useFlags(); + const theme = useTheme(); + const { isDesktop } = useBreakpoint(); + const currentPathLocation = useLocation(); const { data: roles = [] } = useGetRolesQuery(); @@ -127,6 +137,7 @@ const CreateProfile: FunctionComponent = () => { display: "flex", flex: 1, maxWidth: "100%", + mt: webStudioDisableDistributionAndSales && isDesktop ? 4 : 0, pt: 7.5, px: 2, textAlign: "center", From f05bb9aa66fe4fd74d12a8910de99c2be51190cd Mon Sep 17 00:00:00 2001 From: ITurres Date: Thu, 12 Feb 2026 18:31:08 -0300 Subject: [PATCH 4/4] fix(studio/releases): 'Discography' address accessibility issues --- apps/studio/src/pages/home/releases/Discography.tsx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/apps/studio/src/pages/home/releases/Discography.tsx b/apps/studio/src/pages/home/releases/Discography.tsx index f94740a5..8228c9a8 100644 --- a/apps/studio/src/pages/home/releases/Discography.tsx +++ b/apps/studio/src/pages/home/releases/Discography.tsx @@ -43,8 +43,10 @@ const Discography: FunctionComponent = () => { { webStudioDisableDistributionAndSales ? ( }>