check existing song url before navigating

This commit is contained in:
2025-10-03 14:52:16 +02:00
parent 680cc4852d
commit 9772a99e39
10 changed files with 113 additions and 32 deletions
@@ -3,6 +3,7 @@ import { Pressable, ScrollView, Text, View } from "react-native";
import { Image as ExpoImage } from "expo-image";
import { img } from "../../../assets";
import MoreMenu from "../../../components/MoreMenu";
import useNavigateToMusicDetails from "../../../hooks/useNavigateToMusicDetails";
import { Routes } from "../../../navigation";
import { navigate } from "../../../navigation/NavigationService";
import { Palette, Style } from "../../../styles";
@@ -42,9 +43,17 @@ const SearchResultsList = ({
const [showMenu, setShowMenu] = useState(false);
const [selectedProjectId, setSelectedProjectId] = useState(null);
const handleProjectPress = (projectId) => {
navigate(Routes.MusicDetails, { projectId });
onResultSelected?.();
const navigateToMusicDetails = useNavigateToMusicDetails();
const handleProjectPress = (project) => {
const didNavigate = navigateToMusicDetails({
projectId: project?.id,
songUrl: project?.songUrl,
});
if (didNavigate) {
onResultSelected?.();
}
};
const handleProfilePress = (userId) => {
@@ -87,7 +96,7 @@ const SearchResultsList = ({
imageUri={project?.coverUrl || null}
projectId={project?.id}
likedBy={project?.likedBy || []}
onPress={() => handleProjectPress(project.id)}
onPress={() => handleProjectPress(project)}
onPressMore={(positionTop) => {
setSelectedProjectId(project.id);
setMenuPosition(positionTop);
@@ -138,7 +147,7 @@ const SearchResultsList = ({
imageUri={project?.coverUrl || null}
projectId={project?.id}
likedBy={project?.likedBy || []}
onPress={() => handleProjectPress(project.id)}
onPress={() => handleProjectPress(project)}
onPressMore={(positionTop) => {
setSelectedProjectId(project.id);
setMenuPosition(positionTop);