save playback

This commit is contained in:
2025-09-02 15:08:59 +02:00
parent 6694425707
commit 8223b572b9
3 changed files with 91 additions and 28 deletions
+74 -21
View File
@@ -1,29 +1,76 @@
import {
View,
Text,
StyleSheet,
Image,
Pressable,
Platform,
} from "react-native";
import { BlurView } from "expo-blur";
import React from "react";
import Page from "../../layouts/Page";
import {
Image,
Platform,
Pressable,
StyleSheet,
Text,
View,
} from "react-native";
import useMinuit from "react-native-minuit/src/hooks/useMinuit.js";
import { responsiveHeight } from "react-native-responsive-dimensions";
import { background, img } from "../../assets";
import MusicLandHeader from "../../components/MusicLandHeader";
import { projectsRef, serverTimestamp } from "../../config/firebase";
import { uploadFileToFirebase } from "../../helpers/uploadToFirebase";
import Page from "../../layouts/Page";
import { Routes } from "../../navigation";
import { goBack, navigate } from "../../navigation/NavigationService";
import { Palette } from "../../styles";
import { FONT_FAMILY } from "../../styles/Fonts";
import CreateLyricsHeader from "../Writing/components/CreateLyricsHeader";
import { size } from "../../styles/Style";
import { BlurView } from "expo-blur";
import { responsiveHeight } from "react-native-responsive-dimensions";
import { Routes } from "../../navigation";
import { useRoute } from "@react-navigation/core";
import CreateLyricsHeader from "../Writing/components/CreateLyricsHeader";
const DownloadSongs = ({ route }) => {
// const params = useRoute().params;
const { action, uri, project } = route.params || {};
console.log("project id", project?.id);
const { setIsLoading, setTooltip } = useMinuit();
const DownloadSongs = () => {
const params = useRoute().params;
const action = params?.action;
const handleDownloadUri = async () => {
if (action === "playback" && project?.id) {
// Publication du playback
try {
setIsLoading(true);
const { resultURI = null } = await uploadFileToFirebase({
uri: uri,
path: `musics/${project.id}/playback.mp4`,
});
if (!resultURI) throw new Error("Téléversement de l'image impossible");
if (resultURI) {
await projectsRef.doc(project.id).set(
{
playbackUrl: resultURI,
updatedAt: serverTimestamp(),
},
{ merge: true }
);
setTooltip({
type: "success",
text: "Playback publié avec succès",
});
} else {
setTooltip({
type: "error",
text: "Erreur lors de la publication du playback",
});
}
} catch (error) {
setTooltip({
type: "error",
text: "Erreur lors de la publication du playback",
});
} finally {
setIsLoading(false);
}
// Handle playback download
} else {
// Handle song download
}
};
return (
<Page
backgroundImg={
@@ -57,10 +104,16 @@ const DownloadSongs = () => {
<View style={{ gap: 10 }}>
<Pressable
style={styles.itemContainer}
onPress={() =>
navigate(Routes.DownloadPrices, {
action,
})
onPress={
() => {
console.log("test");
handleDownloadUri();
}
// navigate(Routes.DownloadPrices, {
// action,
// uri,
// })
}
>
<BlurView