diff --git a/src/screens/Profile/Profile.js b/src/screens/Profile/Profile.js
index c826374..bae65f9 100644
--- a/src/screens/Profile/Profile.js
+++ b/src/screens/Profile/Profile.js
@@ -39,6 +39,74 @@ const Profile = () => {
setSelected(item);
};
+ // Composant factorisé pour afficher la liste de musiques
+ const MusicListSection = ({ data, emptyText }) => (
+
+ {Array.isArray(data) && data.length > 0 ? (
+ item.id}
+ renderItem={({ item }) => (
+
+ navigate(Routes.MusicDetails, { projectId: item.id })
+ }
+ onPressMore={(posTop) => {
+ setSelectedProjectId(item.id);
+ setMenuTop(posTop);
+ setShowMenu((prev) => !prev || posTop !== menuTop);
+ }}
+ />
+ )}
+ />
+ ) : (
+
+ )}
+ setShowMenu(false)}
+ inPlaylist={false}
+ projectId={selectedProjectId}
+ extraItems={[
+ {
+ label: "Supprimer",
+ onPress: () =>
+ SheetManager.show("Delete", {
+ payload: {
+ title: "Supprimer le projet",
+ message: "Cette action supprimera définitivement ce projet.",
+ onConfirm: async () => {
+ try {
+ if (!selectedProjectId) return;
+ await projectsRef.doc(selectedProjectId).delete();
+ setTooltip({
+ type: "success",
+ text: "Projet supprimé",
+ });
+ } catch (e) {
+ setTooltip({
+ type: "error",
+ text: e?.message || "Suppression impossible",
+ });
+ }
+ },
+ },
+ }),
+ },
+ ]}
+ />
+
+ );
+
const EmptyText = ({ text }) => (
{
))}
{selected === "Playbacks" && (
-
- {Array.isArray(userPlaybacks) && userPlaybacks.length > 0 ? (
- item.id}
- renderItem={({ item }) => (
-
- navigate(Routes.MusicDetails, { projectId: item.id })
- }
- onPressMore={(posTop) => {
- setSelectedProjectId(item.id);
- setMenuTop(posTop);
- setShowMenu((prev) => !prev || posTop !== menuTop);
- }}
- />
- )}
- />
- ) : (
-
- )}
- setShowMenu(false)}
- inPlaylist={false}
- projectId={selectedProjectId}
- extraItems={[
- {
- label: "Supprimer",
- onPress: () =>
- SheetManager.show("Delete", {
- payload: {
- title: "Supprimer le projet",
- message:
- "Cette action supprimera définitivement ce projet.",
- onConfirm: async () => {
- try {
- if (!selectedProjectId) return;
- await projectsRef.doc(selectedProjectId).delete();
- setTooltip({
- type: "success",
- text: "Projet supprimé",
- });
- } catch (e) {
- setTooltip({
- type: "error",
- text: e?.message || "Suppression impossible",
- });
- }
- },
- },
- }),
- },
- ]}
- />
-
+
)}
{selected === "Chansons" && (
-
- {Array.isArray(userProjects) && userProjects.length > 0 ? (
- item.id}
- renderItem={({ item }) => (
-
- navigate(Routes.MusicDetails, { projectId: item.id })
- }
- onPressMore={(posTop) => {
- setSelectedProjectId(item.id);
- setMenuTop(posTop);
- setShowMenu((prev) => !prev || posTop !== menuTop);
- }}
- />
- )}
- />
- ) : (
-
- )}
- setShowMenu(false)}
- inPlaylist={false}
- projectId={selectedProjectId}
- extraItems={[
- {
- label: "Supprimer",
- onPress: () =>
- SheetManager.show("Delete", {
- payload: {
- title: "Supprimer le projet",
- message:
- "Cette action supprimera définitivement ce projet.",
- onConfirm: async () => {
- try {
- if (!selectedProjectId) return;
- await projectsRef.doc(selectedProjectId).delete();
- setTooltip({
- type: "success",
- text: "Projet supprimé",
- });
- } catch (e) {
- setTooltip({
- type: "error",
- text: e?.message || "Suppression impossible",
- });
- }
- },
- },
- }),
- },
- ]}
- />
-
+
)}
{selected === "Clips" && (