From 702e9891281d6070b22cec7055f711db6ee8dff4 Mon Sep 17 00:00:00 2001 From: leon-morival Date: Fri, 24 Oct 2025 11:12:19 +0200 Subject: [PATCH] fixes --- src/components/modal/ShareModal.js | 10 ++----- src/hooks/useNavigateToMusicDetails.js | 29 +++++++++++++++++-- src/screens/HitParade/HitParade.js | 4 +++ src/screens/Library/AllMyList.js | 1 + src/screens/Library/AllMyPlaylist.web.js | 1 + src/screens/Library/PlaylistDetails.js | 1 + src/screens/Library/components/LikedMusic.js | 1 + src/screens/Library/components/MyMusic.js | 1 + .../Library/components/SearchResultsList.js | 1 + src/screens/Playback/RecordPlayback.web.js | 2 +- src/screens/Profile/Profile.js | 1 + src/screens/Writing/WritingLyrics.js | 10 +++---- 12 files changed, 46 insertions(+), 16 deletions(-) diff --git a/src/components/modal/ShareModal.js b/src/components/modal/ShareModal.js index ee6ca7b..dcac238 100644 --- a/src/components/modal/ShareModal.js +++ b/src/components/modal/ShareModal.js @@ -354,11 +354,7 @@ const ShareModal = ({ payload }) => { return ( {isWeb ? ( - + {heading} { - Partager - + */} diff --git a/src/hooks/useNavigateToMusicDetails.js b/src/hooks/useNavigateToMusicDetails.js index de9a153..9f29d11 100644 --- a/src/hooks/useNavigateToMusicDetails.js +++ b/src/hooks/useNavigateToMusicDetails.js @@ -2,28 +2,51 @@ import { useCallback } from "react"; import { useGlobal } from "reactn"; import { Routes } from "../navigation"; import { navigate } from "../navigation/NavigationService"; +import { useUser } from "../providers/UserDataProvider"; +import { getStageAction } from "../utils/projectStages"; const useNavigateToMusicDetails = () => { const [, setTooltip] = useGlobal("_tooltip"); + const { selectProject, userProjects = [], currentUID } = useUser(); return useCallback( - ({ projectId, songUrl }) => { + ({ projectId, songUrl, project = null }) => { if (!projectId) { return false; } + const resolvedProject = + project?.id === projectId + ? project + : userProjects.find((p) => p?.id === projectId) || project || null; + const isOwner = + resolvedProject?.userId && currentUID + ? resolvedProject.userId === currentUID + : false; + if (songUrl != null && songUrl !== "") { + if (isOwner) { + selectProject?.(projectId); + } navigate(Routes.MusicDetails, { projectId }); return true; } + if (resolvedProject && isOwner) { + selectProject?.(projectId); + const stageAction = getStageAction("beatmaker", resolvedProject); + const targetRoute = stageAction?.route || Routes.Compose; + navigate(targetRoute, stageAction?.params); + return true; + } + setTooltip({ type: "error", - text: "Les paroles pour cette musique n'ont pas été générées", + text: "Cette musique n'est pas encore disponible", }); return false; }, - [setTooltip] + [currentUID, selectProject, setTooltip, userProjects] ); }; diff --git a/src/screens/HitParade/HitParade.js b/src/screens/HitParade/HitParade.js index cd65a0f..9f64ad8 100644 --- a/src/screens/HitParade/HitParade.js +++ b/src/screens/HitParade/HitParade.js @@ -70,6 +70,7 @@ const HitParade = () => { navigateToMusicDetails({ projectId: item.id, songUrl: item?.songUrl, + project: item, }) } /> @@ -118,6 +119,7 @@ const HitParade = () => { navigateToMusicDetails({ projectId: item.id, songUrl: item?.songUrl, + project: item, }) } /> @@ -138,6 +140,7 @@ const HitParade = () => { navigateToMusicDetails({ projectId: item.id, songUrl: item?.songUrl, + project: item, }) } /> @@ -205,6 +208,7 @@ const HitParade = () => { navigateToMusicDetails({ projectId: randomSong.id, songUrl: randomSong?.songUrl, + project: randomSong, }); }, [navigateToMusicDetails, topSongs]); diff --git a/src/screens/Library/AllMyList.js b/src/screens/Library/AllMyList.js index 1f1d31c..37ce556 100644 --- a/src/screens/Library/AllMyList.js +++ b/src/screens/Library/AllMyList.js @@ -152,6 +152,7 @@ export default function AllMyList() { navigateToMusicDetails({ projectId: item.id, songUrl: item?.songUrl, + project: item, }); } }; diff --git a/src/screens/Library/AllMyPlaylist.web.js b/src/screens/Library/AllMyPlaylist.web.js index bc0f474..9f11aee 100644 --- a/src/screens/Library/AllMyPlaylist.web.js +++ b/src/screens/Library/AllMyPlaylist.web.js @@ -208,6 +208,7 @@ const AllMyPlaylist = ({ route }) => { navigateToMusicDetails({ projectId: p.id, songUrl: p?.songUrl, + project: p, }) } onPressMore={(posTop) => { diff --git a/src/screens/Library/PlaylistDetails.js b/src/screens/Library/PlaylistDetails.js index 3ce3e99..5bd4a28 100644 --- a/src/screens/Library/PlaylistDetails.js +++ b/src/screens/Library/PlaylistDetails.js @@ -92,6 +92,7 @@ const PlaylistDetails = () => { navigateToMusicDetails({ projectId: p.id, songUrl: p?.songUrl, + project: p, }) } onPressMore={(posTop) => { diff --git a/src/screens/Library/components/LikedMusic.js b/src/screens/Library/components/LikedMusic.js index 863cca4..dadd0cf 100644 --- a/src/screens/Library/components/LikedMusic.js +++ b/src/screens/Library/components/LikedMusic.js @@ -62,6 +62,7 @@ const LikedMusic = () => { navigateToMusicDetails({ projectId: item.id, songUrl: item?.songUrl, + project: item, }) } > diff --git a/src/screens/Library/components/MyMusic.js b/src/screens/Library/components/MyMusic.js index 927668a..b9fda17 100644 --- a/src/screens/Library/components/MyMusic.js +++ b/src/screens/Library/components/MyMusic.js @@ -46,6 +46,7 @@ const MyMusic = () => { navigateToMusicDetails({ projectId: p.id, songUrl: p?.songUrl, + project: p, }) } onPressMore={(posTop) => { diff --git a/src/screens/Library/components/SearchResultsList.js b/src/screens/Library/components/SearchResultsList.js index cff47ea..26eec63 100644 --- a/src/screens/Library/components/SearchResultsList.js +++ b/src/screens/Library/components/SearchResultsList.js @@ -48,6 +48,7 @@ const SearchResultsList = ({ const didNavigate = navigateToMusicDetails({ projectId: project?.id, songUrl: project?.songUrl, + project, }); if (didNavigate) { diff --git a/src/screens/Playback/RecordPlayback.web.js b/src/screens/Playback/RecordPlayback.web.js index 8ef8d9d..c052003 100644 --- a/src/screens/Playback/RecordPlayback.web.js +++ b/src/screens/Playback/RecordPlayback.web.js @@ -702,7 +702,7 @@ const RecordPlayback = ({ route }) => { diff --git a/src/screens/Profile/Profile.js b/src/screens/Profile/Profile.js index df1fcde..d9ceedb 100644 --- a/src/screens/Profile/Profile.js +++ b/src/screens/Profile/Profile.js @@ -212,6 +212,7 @@ const Profile = () => { navigateToMusicDetails({ projectId: item.id, songUrl: item?.songUrl, + project: item, }) } onPressMore={(posTop) => { diff --git a/src/screens/Writing/WritingLyrics.js b/src/screens/Writing/WritingLyrics.js index dd48a72..10d62e0 100644 --- a/src/screens/Writing/WritingLyrics.js +++ b/src/screens/Writing/WritingLyrics.js @@ -58,17 +58,17 @@ const WritingLyrics = () => { gap: 12, }} > - createAndNavigate({ hasLyrics: true })} - containerStyle={{ alignSelf: "center", width: "100%" }} - /> createAndNavigate({ hasLyrics: false })} /> + createAndNavigate({ hasLyrics: true })} + containerStyle={{ alignSelf: "center", width: "100%" }} + />