continue generating flow, add backend connection on main tabs

This commit is contained in:
Thomas Demirdjian
2025-08-28 17:18:28 +02:00
parent 0ca7544005
commit bb7b35626f
110 changed files with 1701 additions and 3408 deletions
+15 -34
View File
@@ -1,42 +1,13 @@
import { View } from "react-native";
import { Image, Pressable, View } from "react-native";
import React from "react";
import Page from "../../layouts/Page";
import GradientButton from "../../components/GradientButton";
import { gutters } from "../../styles";
import { gutters, Style } from "../../styles";
import { navigate } from "../../navigation/NavigationService";
import { Routes } from "../../navigation";
import firebase from "../../config/firebase";
import useMinuit from "react-native-minuit/src/hooks/useMinuit.js";
const Writing = () => {
const { setIsLoading } = useMinuit();
async function generateTestLyrics() {
try {
await setIsLoading(true);
const { data } = await firebase
.functions()
.httpsCallable("lyrics-generateLyrics")({
objective:
"Célébrer lagence Minuit et mettre en avant son expertise digitale, son esprit d’équipe et sa créativité.",
context:
"Lagence Minuit accompagne les startups et entreprises innovantes dans la création de produits digitaux, du prototype à la version de financement, jusqu’à loptimisation et la mise à l’échelle. Spécialisée dans le développement sur-mesure dapplications mobiles, elle valorise lhumain, le design et laccompagnement personnalisé. Esprit nocturne, équipe passionnée.",
emotion:
"La Joie : expose un bonheur profond, l'émerveillement, la gratitude, satisfaction intense, énergie positive.",
style: "Upbeat : Pour une ambiance joyeuse et rythmée.",
audience:
"L’équipe Minuit et ses clients fidèles, startups ambitieuses et partenaires visionnaires.",
structure: ["couplet", "refrain", "couplet", "refrain"],
rhymes: "Avec rimes",
});
console.log("data", data);
} catch (e) {
console.log(e);
} finally {
await setIsLoading(false);
}
}
import { icons } from "../../assets";
const Writing = ({ navigation }) => {
return (
<Page
headerType="NONE"
@@ -45,10 +16,20 @@ const Writing = () => {
padding: gutters * 2,
}}
>
<Pressable
style={{ width: 24, height: 24, ...Style.containerCenter }}
onPress={() => navigation.goBack()}
>
<Image
source={icons.chevronDown}
style={{ width: 15, height: 15, transform: [{ rotate: "90deg" }] }}
resizeMode="contain"
/>
</Pressable>
<View style={{ flex: 1, justifyContent: "flex-end" }}>
<GradientButton
title="Commencer"
onPress={() => navigate(Routes.WritingLyrics)}
onPress={() => navigate(Routes.CreateLyricsWithAi)}
/>
</View>
</Page>