check existing song url before navigating
This commit is contained in:
@@ -6,6 +6,7 @@ import MoreMenu from "../../components/MoreMenu";
|
||||
import Page from "../../layouts/Page";
|
||||
import { Routes } from "../../navigation";
|
||||
import { navigate } from "../../navigation/NavigationService";
|
||||
import useNavigateToMusicDetails from "../../hooks/useNavigateToMusicDetails";
|
||||
import { useUser } from "../../providers/UserDataProvider";
|
||||
import { gutters } from "../../styles";
|
||||
import MusicCard from "./components/MusicCard";
|
||||
@@ -20,6 +21,7 @@ export default function AllMyList() {
|
||||
|
||||
const { userProjects, userLikedProjects, userPlaybacks, userLikedPlaybacks } =
|
||||
useUser();
|
||||
const navigateToMusicDetails = useNavigateToMusicDetails();
|
||||
|
||||
const items = (() => {
|
||||
if (scope === "playback") {
|
||||
@@ -45,7 +47,10 @@ export default function AllMyList() {
|
||||
if (scope === "playback") {
|
||||
navigate(Routes.Playbacks, { projectId: item.id });
|
||||
} else {
|
||||
navigate(Routes.MusicDetails, { projectId: item.id });
|
||||
navigateToMusicDetails({
|
||||
projectId: item.id,
|
||||
songUrl: item?.songUrl,
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -7,9 +7,8 @@ import MoreMenu from "../../components/MoreMenu";
|
||||
import { playlistsRef, projectsRef } from "../../config/firebase";
|
||||
import useDataFromArrayDocId from "../../hooks/useDataFromArrayId";
|
||||
import useDataFromRef from "../../hooks/useDataFromRef";
|
||||
import useNavigateToMusicDetails from "../../hooks/useNavigateToMusicDetails";
|
||||
import Page from "../../layouts/Page";
|
||||
import { Routes } from "../../navigation";
|
||||
import { navigate } from "../../navigation/NavigationService";
|
||||
import { useUser } from "../../providers/UserDataProvider";
|
||||
import { gutters, Palette, Style } from "../../styles";
|
||||
import { FONT_FAMILY } from "../../styles/Fonts";
|
||||
@@ -40,6 +39,7 @@ const AllMyPlaylist = ({ route }) => {
|
||||
const [menuPosition, setMenuPosition] = useState(null);
|
||||
const [showMenu, setShowMenu] = useState(false);
|
||||
const [selectedProjectId, setSelectedProjectId] = useState(null);
|
||||
const navigateToMusicDetails = useNavigateToMusicDetails();
|
||||
console.log("musics are : ", musics);
|
||||
return (
|
||||
<Page
|
||||
@@ -170,7 +170,10 @@ const AllMyPlaylist = ({ route }) => {
|
||||
projectId={p?.id}
|
||||
likedBy={p?.likedBy || []}
|
||||
onPress={() =>
|
||||
navigate(Routes.MusicDetails, { projectId: p.id })
|
||||
navigateToMusicDetails({
|
||||
projectId: p.id,
|
||||
songUrl: p?.songUrl,
|
||||
})
|
||||
}
|
||||
onPressMore={(posTop) => {
|
||||
setSelectedProjectId(p.id);
|
||||
|
||||
@@ -88,7 +88,7 @@ const Library = () => {
|
||||
{hasBackTracks && <BackTracks />}
|
||||
{hasLikedMusic && <LikedMusic />}
|
||||
{hasMyClips && <MyClips />}
|
||||
{hasPlaylists && <MyPlaylist />}
|
||||
<MyPlaylist />
|
||||
{hasLikedPlayback && <LikedPlayback />}
|
||||
{hasLikedClips && <LikedClips />}
|
||||
|
||||
|
||||
@@ -9,8 +9,8 @@ import { background, icons } from "../../assets";
|
||||
import MoreMenu from "../../components/MoreMenu";
|
||||
import { playlistsRef, projectsRef } from "../../config/firebase";
|
||||
import Page from "../../layouts/Page";
|
||||
import { Routes } from "../../navigation";
|
||||
import { goBack, navigate } from "../../navigation/NavigationService";
|
||||
import { goBack } from "../../navigation/NavigationService";
|
||||
import useNavigateToMusicDetails from "../../hooks/useNavigateToMusicDetails";
|
||||
import { gutters } from "../../styles";
|
||||
import MusicCard from "./components/MusicCard";
|
||||
|
||||
@@ -39,6 +39,7 @@ const PlaylistDetails = () => {
|
||||
const [menuPosition, setMenuPosition] = useState(null);
|
||||
const [showMenu, setShowMenu] = useState(false);
|
||||
const [selectedProjectId, setSelectedProjectId] = useState(null);
|
||||
const navigateToMusicDetails = useNavigateToMusicDetails();
|
||||
|
||||
const confirmDelete = () => {
|
||||
SheetManager.show("Delete", {
|
||||
@@ -87,7 +88,12 @@ const PlaylistDetails = () => {
|
||||
imageUri={p?.coverUrl || null}
|
||||
projectId={p?.id}
|
||||
likedBy={p?.likedBy || []}
|
||||
onPress={() => navigate(Routes.MusicDetails, { projectId: p.id })}
|
||||
onPress={() =>
|
||||
navigateToMusicDetails({
|
||||
projectId: p.id,
|
||||
songUrl: p?.songUrl,
|
||||
})
|
||||
}
|
||||
onPressMore={(posTop) => {
|
||||
setSelectedProjectId(p.id);
|
||||
setMenuPosition(posTop);
|
||||
|
||||
@@ -8,6 +8,7 @@ import {
|
||||
} from "react-native";
|
||||
import { img } from "../../../assets";
|
||||
import useLayoutType from "../../../hooks/useLayoutType";
|
||||
import useNavigateToMusicDetails from "../../../hooks/useNavigateToMusicDetails";
|
||||
import { Routes } from "../../../navigation";
|
||||
import { navigate } from "../../../navigation/NavigationService";
|
||||
import { useUser } from "../../../providers/UserDataProvider";
|
||||
@@ -26,6 +27,7 @@ const LikedMusic = () => {
|
||||
0,
|
||||
Math.floor((containerWidth - gap * (numColumns - 1)) / numColumns)
|
||||
);
|
||||
const navigateToMusicDetails = useNavigateToMusicDetails();
|
||||
return (
|
||||
<CardContainer
|
||||
label="Musiques likées"
|
||||
@@ -50,7 +52,10 @@ const LikedMusic = () => {
|
||||
<Pressable
|
||||
style={{ width: itemWidth }}
|
||||
onPress={() =>
|
||||
navigate(Routes.MusicDetails, { projectId: item.id })
|
||||
navigateToMusicDetails({
|
||||
projectId: item.id,
|
||||
songUrl: item?.songUrl,
|
||||
})
|
||||
}
|
||||
>
|
||||
{item?.coverUrl ? (
|
||||
|
||||
@@ -4,6 +4,7 @@ import { SheetManager } from "react-native-actions-sheet";
|
||||
import { useGlobal } from "reactn";
|
||||
import MoreMenu from "../../../components/MoreMenu";
|
||||
import { projectsRef } from "../../../config/firebase";
|
||||
import useNavigateToMusicDetails from "../../../hooks/useNavigateToMusicDetails";
|
||||
import { Routes } from "../../../navigation";
|
||||
import { navigate } from "../../../navigation/NavigationService";
|
||||
import { useUser } from "../../../providers/UserDataProvider";
|
||||
@@ -17,6 +18,7 @@ const MyMusic = () => {
|
||||
const projects = Array.isArray(userProjects) ? userProjects.slice(0, 3) : [];
|
||||
|
||||
const [, setTooltip] = useGlobal("_tooltip");
|
||||
const navigateToMusicDetails = useNavigateToMusicDetails();
|
||||
|
||||
return (
|
||||
<CardContainer
|
||||
@@ -39,7 +41,12 @@ const MyMusic = () => {
|
||||
imageUri={p?.coverUrl || null}
|
||||
projectId={p?.id}
|
||||
likedBy={p?.likedBy || []}
|
||||
onPress={() => navigate(Routes.MusicDetails, { projectId: p.id })}
|
||||
onPress={() =>
|
||||
navigateToMusicDetails({
|
||||
projectId: p.id,
|
||||
songUrl: p?.songUrl,
|
||||
})
|
||||
}
|
||||
onPressMore={(posTop) => {
|
||||
setSelectedProjectId(p.id);
|
||||
setMenuPosition(posTop);
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user