From 51df14d874d2d4230c0a07a30a299f99eefe1ca3 Mon Sep 17 00:00:00 2001 From: leon-morival Date: Wed, 3 Sep 2025 16:50:45 +0200 Subject: [PATCH] my liked playbacks --- src/screens/Library/components/BackTracks.js | 5 +- .../Library/components/LikedPlayback.js | 65 +++++++++++++++---- 2 files changed, 53 insertions(+), 17 deletions(-) diff --git a/src/screens/Library/components/BackTracks.js b/src/screens/Library/components/BackTracks.js index 1fc93c2..f78c154 100644 --- a/src/screens/Library/components/BackTracks.js +++ b/src/screens/Library/components/BackTracks.js @@ -3,7 +3,6 @@ import { FlatList, Image, Pressable, - Text, View, useWindowDimensions, } from "react-native"; @@ -26,7 +25,7 @@ const BackTracks = () => { return ( - {items.length > 0 ? ( + {items.length > 0 && ( setContainerWidth(e.nativeEvent.layout.width)} data={items} @@ -53,8 +52,6 @@ const BackTracks = () => { )} /> - ) : ( - Aucun playback pour l'instant )} diff --git a/src/screens/Library/components/LikedPlayback.js b/src/screens/Library/components/LikedPlayback.js index 3059d27..b1b3073 100644 --- a/src/screens/Library/components/LikedPlayback.js +++ b/src/screens/Library/components/LikedPlayback.js @@ -1,21 +1,60 @@ -import { View, Text, Image } from "react-native"; -import React from "react"; +import React, { useState } from "react"; +import { + FlatList, + Image, + Pressable, + View, + useWindowDimensions, +} from "react-native"; +import { Routes } from "../../../navigation"; +import { navigate } from "../../../navigation/NavigationService"; +import { useUserData } from "../../../providers/UserDataProvider"; import CardContainer from "./CardContainer"; -import { Style } from "../../../styles"; -import { img } from "../../../assets"; const LikedPlayback = () => { + const { userLikedPlaybacks } = useUserData(); + const items = Array.isArray(userLikedPlaybacks) + ? userLikedPlaybacks.slice(0, 3) + : []; + const { width: screenWidth } = useWindowDimensions(); + const [containerWidth, setContainerWidth] = useState(screenWidth); + const numColumns = 3; + const gap = 8; + const itemWidth = Math.max( + 0, + Math.floor((containerWidth - gap * (numColumns - 1)) / numColumns) + ); return ( - - {Array.from({ length: 3 }).map((_, index) => ( - - - - ))} + + {items.length > 0 && ( + setContainerWidth(e.nativeEvent.layout.width)} + data={items} + numColumns={numColumns} + key={numColumns} + columnWrapperStyle={{ gap }} + keyExtractor={(item) => item.id} + renderItem={({ item }) => ( + + + navigate(Routes.Playbacks, { projectId: item.id }) + } + > + + + + )} + /> + )} );