From be505388f621c64038188843b2c4f5cec9e6ce54 Mon Sep 17 00:00:00 2001 From: leon-morival Date: Fri, 3 Oct 2025 14:58:43 +0200 Subject: [PATCH] delete playlist web --- src/screens/Library/AllMyPlaylist.web.js | 42 ++++++++++++++++++++++-- 1 file changed, 40 insertions(+), 2 deletions(-) diff --git a/src/screens/Library/AllMyPlaylist.web.js b/src/screens/Library/AllMyPlaylist.web.js index 081ab53..33bb37e 100644 --- a/src/screens/Library/AllMyPlaylist.web.js +++ b/src/screens/Library/AllMyPlaylist.web.js @@ -2,6 +2,7 @@ import { BlurView } from "expo-blur"; import React, { useState } from "react"; import { Image, Pressable, Text, View } from "react-native"; import { SheetManager } from "react-native-actions-sheet"; +import { useGlobal } from "reactn"; import { background, icons } from "../../assets"; import MoreMenu from "../../components/MoreMenu"; import { playlistsRef, projectsRef } from "../../config/firebase"; @@ -9,6 +10,7 @@ import useDataFromArrayDocId from "../../hooks/useDataFromArrayId"; import useDataFromRef from "../../hooks/useDataFromRef"; import useNavigateToMusicDetails from "../../hooks/useNavigateToMusicDetails"; import Page from "../../layouts/Page"; +import { goBack } from "../../navigation/NavigationService"; import { useUser } from "../../providers/UserDataProvider"; import { gutters, Palette, Style } from "../../styles"; import { FONT_FAMILY } from "../../styles/Fonts"; @@ -17,6 +19,7 @@ import MusicCard from "./components/MusicCard"; const AllMyPlaylist = ({ route }) => { const { playListId } = route?.params || {}; + const [, setTooltip] = useGlobal("_tooltip"); const { userPlaylists = [] } = useUser(); const [selectedPlaylistId, setSelectedPlaylistId] = useState( playListId || null @@ -40,7 +43,33 @@ const AllMyPlaylist = ({ route }) => { const [showMenu, setShowMenu] = useState(false); const [selectedProjectId, setSelectedProjectId] = useState(null); const navigateToMusicDetails = useNavigateToMusicDetails(); - console.log("musics are : ", musics); + + // delete playlist + const confirmDelete = () => { + SheetManager.show("Delete", { + payload: { + title: "Supprimer la playlist", + message: "Es-tu sûr de vouloir supprimer cette playlist ?", + onConfirm: async () => { + try { + if (selectedPlaylistId) { + await playlistsRef.doc(selectedPlaylistId).delete(); + setTooltip({ type: "success", text: "Playlist supprimée" }); + } + } catch (e) { + console.log("Delete playlist error", e?.message); + setTooltip({ + type: "error", + text: e?.message || "Suppression impossible", + }); + } finally { + goBack(); + } + }, + }, + }); + }; + return ( { contentContainerStyle={{ paddingBottom: gutters * 2, }} + rightComponent={() => ( + <> + {selectedPlaylistId != null && ( + + + + )} + + )} > { setMenuPosition(posTop); setShowMenu( (prev) => - !prev || posTop?.top !== (menuPosition?.top ?? null), + !prev || posTop?.top !== (menuPosition?.top ?? null) ); }} />