change card

This commit is contained in:
Thomas Demirdjian
2025-12-01 15:07:46 +01:00
parent d7b14bd873
commit e96e4c263d
12 changed files with 389 additions and 36 deletions
+9 -1
View File
@@ -140,7 +140,7 @@ const App = () => {
return () => {
try {
s.remove();
} catch (_) {}
} catch (_) { }
};
}
}, []);
@@ -205,6 +205,14 @@ const App = () => {
? `${options?.title} - MusicLand`
: "MusicLand",
}}
linking={{
prefixes: ["musicland://", "https://musicland-one.vercel.app"],
config: {
screens: {
// Add any deep link configurations here if needed
},
},
}}
>
<MainStack />
</NavigationContainer>
+2
View File
@@ -31,6 +31,8 @@
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="musicland"/>
<data android:scheme="com.googleusercontent.apps.305598753437-qck73beo37mi04qlautgafbpdl3ccaoh"/>
<data android:scheme="com.googleusercontent.apps.305598753437-t2uitr9gd7aaed59ahdvklkcsg0vngmk"/>
<data android:scheme="com.omedis.musicland"/>
<data android:scheme="exp+musicland"/>
</intent-filter>
+19 -6
View File
@@ -3,8 +3,14 @@
"owner": "minuitagency",
"slug": "musicland",
"name": "MusicLand",
"scheme": "musicland",
"deeplinks": ["musicland://"],
"scheme": [
"musicland",
"com.googleusercontent.apps.305598753437-qck73beo37mi04qlautgafbpdl3ccaoh",
"com.googleusercontent.apps.305598753437-t2uitr9gd7aaed59ahdvklkcsg0vngmk"
],
"deeplinks": [
"musicland://"
],
"version": "0.0.2",
"icon": "./assets/icon.png",
"backgroundColor": "#0F0C14",
@@ -26,7 +32,9 @@
"usesAppleSignIn": true,
"requireFullScreen": true,
"userInterfaceStyle": "dark",
"associatedDomains": ["applinks:musicland-one.vercel.app"],
"associatedDomains": [
"applinks:musicland-one.vercel.app"
],
"bundleIdentifier": "com.omedis.musicland.ai",
"infoPlist": {
"NSMicrophoneUsageDescription": "MusicLand uses the microphone to record your voice and audio so you can create and collaborate on music projects.",
@@ -38,14 +46,19 @@
"UIInterfaceOrientationLandscapeLeft",
"UIInterfaceOrientationLandscapeRight"
],
"LSApplicationQueriesSchemes": ["itms-apps", "minuit"]
"LSApplicationQueriesSchemes": [
"itms-apps",
"minuit"
]
},
"config": {
"usesNonExemptEncryption": false
},
"entitlements": {
"aps-environment": "development",
"com.apple.developer.applesignin": ["Default"]
"com.apple.developer.applesignin": [
"Default"
]
},
"appleTeamId": "W2QZ9CTMYJ"
},
@@ -114,4 +127,4 @@
}
}
}
}
}
+3 -3
View File
@@ -51,6 +51,7 @@
"expo-speech": "~13.0.1",
"expo-splash-screen": "~0.29.24",
"expo-status-bar": "~2.0.1",
"expo-store-review": "~8.0.1",
"expo-system-ui": "~4.0.9",
"expo-video": "~2.0.6",
"expo-web-browser": "~14.0.2",
@@ -78,7 +79,6 @@
"react-native-safe-area-context": "4.12.0",
"react-native-screens": "~4.4.0",
"react-native-sortables": "~1.8.0",
"react-native-store-review": "~0.3.0",
"react-native-super-grid": "~5.0.0",
"react-native-svg": "15.8.0",
"react-native-swiper-flatlist": "~3.2.5",
@@ -1397,6 +1397,8 @@
"expo-status-bar": ["expo-status-bar@2.0.1", "", { "peerDependencies": { "react": "*", "react-native": "*" } }, "sha512-AkIPX7jWHRPp83UBZ1iXtVvyr0g+DgBVvIXTtlmPtmUsm8Vq9Bb5IGj86PW8osuFlgoTVAg7HI/+Ok7yEYwiRg=="],
"expo-store-review": ["expo-store-review@8.0.1", "", { "peerDependencies": { "expo": "*", "react-native": "*" } }, "sha512-eJoZbsAsOXpyl1CEXauiMqs3z++8Qf1OMDUBEGmRj9hew+w9JbS3wvFOZpc0UXbm/NYn5YwiLfK7epQjLLKz4A=="],
"expo-system-ui": ["expo-system-ui@4.0.9", "", { "dependencies": { "@react-native/normalize-colors": "0.76.8", "debug": "^4.3.2" }, "peerDependencies": { "expo": "*", "react-native": "*", "react-native-web": "*" }, "optionalPeers": ["react-native-web"] }, "sha512-hqBc0EWeK/BTB8i4H84vqNjje8GgxhapYrcWdg5qriaRA/u+bNNxhmpZXdAjFuhonOP4SmAbF+gjoJJWsTrhUg=="],
"expo-updates-interface": ["expo-updates-interface@1.0.0", "", { "peerDependencies": { "expo": "*" } }, "sha512-93oWtvULJOj+Pp+N/lpTcFfuREX1wNeHtp7Lwn8EbzYYmdn37MvZU3TPW2tYYCZuhzmKEXnUblYcruYoDu7IrQ=="],
@@ -2273,8 +2275,6 @@
"react-native-sortables": ["react-native-sortables@1.8.0", "", { "optionalDependencies": { "react-native-haptic-feedback": ">=2.0.0" }, "peerDependencies": { "react": "*", "react-native": "*", "react-native-gesture-handler": ">=2.0.0", "react-native-reanimated": ">=3.0.0" } }, "sha512-uoNY0uiHikq3eKJoF85CATMPpo9jS7t37XUlunxSGjjbGi4L05os8eJBGNZSR+3NQgK2FtYGGkQtFbeSJIwmDg=="],
"react-native-store-review": ["react-native-store-review@0.3.0", "", {}, "sha512-PipH/p3O10DDCUWHiW0sVZ0020HPx6gRFFZOyuAYRRVwdssO7or/+H2pHTlwUt2lasVzLenTf2aZ9sMrpryuKA=="],
"react-native-super-grid": ["react-native-super-grid@5.0.1", "", { "dependencies": { "prop-types": "^15.6.0" }, "peerDependencies": { "react": ">=16.8.0", "react-native": ">=0.59.0" } }, "sha512-BNkLgQT79zv906TAVWGl+7B+5g6eL0GDTtO6te/g/WYOkxM8OXXJN8/Q1aIUBOpDo1L0Wv0BDR6EGHuhndmcRw=="],
"react-native-svg": ["react-native-svg@15.8.0", "", { "dependencies": { "css-select": "^5.1.0", "css-tree": "^1.1.3", "warn-once": "0.1.1" }, "peerDependencies": { "react": "*", "react-native": "*" } }, "sha512-KHJzKpgOjwj1qeZzsBjxNdoIgv2zNCO9fVcoq2TEhTRsVV5DGTZ9JzUZwybd7q4giT/H3RdtqC3u44dWdO0Ffw=="],
+2 -2
View File
@@ -87,7 +87,7 @@
"react-native-safe-area-context": "4.12.0",
"react-native-screens": "~4.4.0",
"react-native-sortables": "~1.8.0",
"react-native-store-review": "~0.3.0",
"expo-store-review": "~8.0.1",
"react-native-super-grid": "~5.0.0",
"react-native-svg": "15.8.0",
"react-native-swiper-flatlist": "~3.2.5",
@@ -132,4 +132,4 @@
}
}
}
}
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 677 KiB

After

Width:  |  Height:  |  Size: 657 KiB

+3 -8
View File
@@ -4,6 +4,7 @@ import numbro from "numbro";
import { Linking } from "react-native";
import { isTauri, isWeb } from "../hooks/useLayoutType";
import Palette from "../styles/Palette.js";
import * as StoreReview from "expo-store-review";
export const capitalize = (string) => {
return string.charAt(0).toUpperCase() + string.slice(1);
@@ -140,18 +141,12 @@ export const validateDate = (date = null) => {
};
export const onStoreReview = async () => {
let StoreReview;
if (!isWeb) {
import("react-native-store-review").then((module) => {
StoreReview = module;
if (await StoreReview.hasAction()) {
StoreReview.requestReview();
});
}
} else {
console.log("Store review not available on web");
return;
}
};
+9 -4
View File
@@ -17,6 +17,7 @@ import ResetPassword from "../screens/ResetPassword";
import ChooseDecor from "../screens/Playback/ChooseDecor";
import CreatingDecor from "../screens/Playback/CreatingDecor";
import Playback from "../screens/Playback/Playback";
import PlaybackGuide from "../screens/Playback/PlaybackGuide";
import PlaybackOnboarding from "../screens/Playback/PlaybackOnboarding";
import RecordPlayback from "../screens/Playback/RecordPlayback";
import RecordedPlayback from "../screens/Playback/RecordedPlayback";
@@ -80,10 +81,10 @@ const screenOptions = {
headerBackTitleVisible: false,
...(isWeb
? {
// Avoid web-specific pointerEvents issues by disabling animations/gestures
animationEnabled: false,
gestureEnabled: false,
}
// Avoid web-specific pointerEvents issues by disabling animations/gestures
animationEnabled: false,
gestureEnabled: false,
}
: {}),
};
@@ -228,6 +229,10 @@ const baseScreens = [
name: Routes.Playback,
component: Playback,
},
{
name: Routes.PlaybackGuide,
component: PlaybackGuide,
},
{
name: Routes.RecordPlayback,
component: RecordPlayback,
+1
View File
@@ -56,6 +56,7 @@ export const Routes = {
PlaybackOnboarding: "PlaybackOnboarding",
Playback: "Playback",
PlaybackGuide: "PlaybackGuide",
RecordPlayback: "RecordPlayback",
RecordedPlayback: "RecordedPlayback",
ChooseDecor: "ChooseDecor",
+1 -1
View File
@@ -51,7 +51,7 @@ const Playback = ({ route, navigation }) => {
/>
<BorderGradientButton
title="Guide du Playbacker"
onPress={() => setShowIntro(videos.theo)}
onPress={() => navigate(Routes.PlaybackGuide)}
/>
{/* <BorderGradientButton title="Importer une vidéo" /> */}
</View>
+340
View File
@@ -0,0 +1,340 @@
import React from "react";
import { ScrollView, StyleSheet, Text, View, Platform } from "react-native";
import { BlurView } from "expo-blur";
import { background } from "../../assets";
import MusicLandHeader from "../../components/MusicLandHeader";
import Page from "../../layouts/Page";
import { Routes } from "../../navigation";
import { gutters, Palette } from "../../styles";
import { FONT_FAMILY } from "../../styles/Fonts";
const PlaybackGuide = ({ navigation }) => {
return (
<Page headerType="NONE" backgroundImg={background.playbackBG2}>
<MusicLandHeader onPressBack={() => navigation.goBack()} />
<View style={styles.container}>
<BlurView intensity={Platform.OS === "ios" ? 80 : 50} style={styles.blurContainer}>
<ScrollView
contentContainerStyle={styles.scrollContent}
showsVerticalScrollIndicator={false}
>
<Text style={styles.title}>Le Guide Ultime du Playback de TA Chanson : L'Expérience Créative Totale</Text>
<Text style={styles.sectionTitle}>Introduction : Tu Es l'Artiste ET le Performeur !</Text>
<Text style={styles.text}>
Imagine ça : tu as créé Ta chanson, TES paroles, TA mélodie, TON univers.
Et maintenant, tu vas lui donner vie en playback. C'est une expérience UNIQUE au monde !
Tu n'imites personne - tu deviens la version scénique de toi-même. C'est comme avoir un
jumeau qui chante pendant que toi, tu performes. Double dose de créativité, double dose de
fun !
</Text>
<Text style={styles.chapterTitle}>Chapitre 1 : Le Lip-Sync de Ta Propre Création - L'Avantage Ultime</Text>
<Text style={styles.subTitle}>Le Pouvoir d'Être le Créateur</Text>
<Text style={styles.text}>
Tu as un super-pouvoir que personne d'autre n'a : tu connais CHAQUE intention derrière
chaque mot, chaque respiration, chaque silence. Tu n'as pas à deviner ce que l'artiste
voulait dire - c'est TOI l'artiste ! Cette connexion intime avec ta chanson va transparaître
dans chaque mouvement de tes lèvres.
</Text>
<Text style={styles.subTitle}>La Règle des 15 Écoutes - Version Créateur</Text>
<Text style={styles.text}>
Oui, même pour TA chanson, les 15 écoutes sont cruciales ! Mais avec une twist magique :
</Text>
<Text style={styles.text}>
<Text style={styles.bold}>Écoutes 1-5 : Redécouvre Ta Création</Text> Écoute ta chanson comme si c'était la première
fois. Tu vas être surpris de détails que tu avais oubliés !
</Text>
<Text style={styles.text}>
<Text style={styles.bold}>Écoutes 6-10 : L'Analyse du Créateur</Text>
{"\n"}• Où as-tu placé les émotions fortes ?
{"\n"}• Quels mots méritent d'être sur-articulés ?
{"\n"} sont tes respirations naturelles dans l'enregistrement ?
</Text>
<Text style={styles.text}>
<Text style={styles.bold}>Écoutes 11-15 : La Transformation</Text> Maintenant, détache-toi du "toi qui a enregistré" pour
devenir le "toi qui performe". C'est que la magie opère !
</Text>
<Text style={styles.subTitle}>Les Secrets du Créateur-Performeur</Text>
<Text style={styles.text}>
<Text style={styles.bold}>Le Phénomène de Dédoublement</Text> C'est normal de se sentir bizarre au début - tu entends
ta voix mais tu ne chantes pas ! Embrasse cette sensation unique. C'est comme être ton
propre fan numéro un.
</Text>
<Text style={styles.text}>
<Text style={styles.bold}>La Liberté de Réinterpréter</Text> Tu as le droit de changer l'émotion ! Si tu as enregistré la
chanson en étant mélancolique mais qu'aujourd'hui tu la sens joyeuse - VAS-Y ! C'est TA
chanson, tu peux la réinventer à chaque performance.
</Text>
<Text style={styles.text}>
<Text style={styles.bold}>L'Anticipation Parfaite</Text> Tu connais chaque micro-pause, chaque inflexion. Utilise cet
avantage ! Anticipe les moments forts avec ton expression faciale une fraction de seconde
avant qu'ils arrivent.
</Text>
<Text style={styles.text}>
<Text style={styles.bold}>Le Truc du "Nouveau Moi"</Text> Crée un personnage scénique de toi-même. Peut-être que le
"toi studio" est introverti, mais le "toi playback" est extraverti. Cette dualité est fascinante et
totalement unique à ton expérience !
</Text>
<Text style={styles.chapterTitle}>Chapitre 2 : Capturer l'Essence de Ta Création</Text>
<Text style={styles.subTitle}>Ton Smartphone, Ton Studio Visuel</Text>
<Text style={styles.text}>
Quand tu filmes le playback de TA chanson, tu complètes l'œuvre. La musique était l'audio,
maintenant tu ajoutes le visuel !
</Text>
<Text style={styles.subTitle}>Les Angles Qui Racontent Ton Histoire</Text>
<Text style={styles.text}>
<Text style={styles.bold}>L'Angle "Confession" (Très Proche)</Text> Pour les parties intimes de ta chanson. Le spectateur
doit sentir que tu lui confies un secret.
</Text>
<Text style={styles.text}>
<Text style={styles.bold}>L'Angle "Concert" (Plan Large)</Text> Montre l'artiste complet en toi ! Parfait pour les refrains
énergiques tu veux bouger.
</Text>
<Text style={styles.text}>
<Text style={styles.bold}>L'Angle "Clip Musical" (Variété)</Text> Change d'angle selon les parties de ta chanson. Verse 1
proche, refrain large, pont en profil... Raconte visuellement l'histoire de ta musique.
</Text>
<Text style={styles.subTitle}>L'Accessoire Signature : L'Instrument de Ta Création</Text>
<Text style={styles.text}>
C'est encore plus puissant quand c'est TA chanson !
</Text>
<Text style={styles.text}>
Si tu as composé avec un instrument :
{"\n"}• Mime-le même si tu ne l'as pas sous la main
{"\n"} Montre les accords que TU as choisis
{"\n"} Tes mains connaissent les mouvements par cœur
</Text>
<Text style={styles.text}>
Si c'est une création digitale :
{"\n"}• Un casque audio autour du cou = le créateur
{"\n"}• Un smartphone en main = le compositeur moderne
{"\n"}• Les mains qui "mixent" dans l'air = le producteur
</Text>
<Text style={styles.text}>
L'accessoire émotionnel :
{"\n"}• Un carnet (tes paroles originales !)
{"\n"}• Un objet qui t'a inspiré la chanson
{"\n"} Un élément qui représente le thème de ta chanson
</Text>
<Text style={styles.chapterTitle}>Chapitre 3 : La Scène de Ta Première</Text>
<Text style={styles.subTitle}>Chaque Lieu Devient TON Lieu</Text>
<Text style={styles.text}>
Quand tu performes ta propre chanson, chaque endroit prend une signification spéciale. Ce
n'est pas juste un décor, c'est le lieu de naissance visuelle de ta création !
</Text>
<Text style={styles.subTitle}>Les Scènes Qui Amplifient Ta Création</Text>
<Text style={styles.text}>
<Text style={styles.bold}>L'Endroit Où Tu l'as Écrite - Le Retour aux Sources</Text> Si tu as écrit ta chanson dans ta
chambre, filme- ! C'est puissant de montrer l'artiste la magie a commencé.
L'authenticité sera palpable.
</Text>
<Text style={styles.text}>
<Text style={styles.bold}>Le Studio Maison - Là Où Tu l'as Enregistrée</Text> Montre ton setup, même basique ! Un
micro, un ordinateur, des câbles... C'est TON univers créatif. Les gens adorent voir les
coulisses.
</Text>
<Text style={styles.text}>
<Text style={styles.bold}>Le Lieu Qui t'a Inspiré - La Boucle Créative</Text> Tu as écrit sur la plage ? Sur l'amour au café
? Sur la solitude au parc ? Retourne-y ! La cohérence entre ton inspiration et ta performance
est magique.
</Text>
<Text style={styles.text}>
<Text style={styles.bold}>La Scène Imaginaire - Ce Que Tu Visualisais</Text> Quand tu as créé cette chanson, où
t'imaginais-tu la performer ? Un grand stade ? Un petit club intime ? Recrée cette ambiance
avec ce que tu as !
</Text>
<Text style={styles.subTitle}>Suggestions Créatives Uniques :</Text>
<Text style={styles.text}>
• La Voiture : Si c'est que tu as eu l'idée de la mélodie
{"\n"}• La Douche : Avec le téléphone protégé, si c'est que tu chantes toujours
{"\n"} Le Toit/Balcon : Pour une sensation de "crier au monde" ta création
{"\n"} Devant le Miroir : Le dialogue entre toi créateur et toi performeur
{"\n"} Dans le Noir avec une Seule Lumière : Pour l'aspect dramatique et intime
</Text>
<Text style={styles.chapterTitle}>Chapitre 4 : Le Mindset du Créateur-Performeur</Text>
<Text style={styles.subTitle}>L'Expérience Unique au Monde</Text>
<Text style={styles.text}>
Ce que tu fais est EXTRAORDINAIRE. Tu es à la fois Mozart et le pianiste, Beyoncé et la
performeuse, le compositeur ET l'interprète. Cette dualité créative est rare et précieuse !
</Text>
<Text style={styles.subTitle}>Les Mantras du Créateur en Playback</Text>
<Text style={styles.text}>
<Text style={styles.bold}>"C'est MON Bébé Musical"</Text> Cette chanson est née de toi. Chaque note, chaque mot est ton
enfant créatif. Quand tu la performes en playback, tu lui donnes une nouvelle dimension.
Sois fier !
</Text>
<Text style={styles.text}>
<Text style={styles.bold}>"Je Me Réinvente à Chaque Prise"</Text> L'avantage de faire le playback de TA chanson ? Tu
peux explorer 1000 façons de l'interpréter ! Mélancolique le matin, énergique le soir. C'est ta
playground créative.
</Text>
<Text style={styles.text}>
<Text style={styles.bold}>"Mes Deux Moi Collaborent"</Text> Le toi qui a chanté et le toi qui performe sont une équipe.
C'est une collaboration unique avec toi-même à travers le temps !
</Text>
<Text style={styles.text}>
<Text style={styles.bold}>"C'est Mon Histoire, Mes Règles"</Text> Personne ne peut te dire "ce n'est pas comme ça que
l'artiste le fait" - parce que l'artiste, c'est TOI !
</Text>
<Text style={styles.subTitle}>La Célébration de Ta Création</Text>
<Text style={styles.text}>
<Text style={styles.bold}>Le Rituel du Créateur :</Text>
{"\n"}1. Écoute ta chanson une fois les yeux fermés - Reconnecte avec ton intention originale
{"\n"}2. Dis à voix haute : "J'ai créé quelque chose qui n'existait pas avant"
{"\n"}3. Danse 30 secondes sur TA création - Célèbre-toi !
{"\n"}4. Filme avec fierté - Ce moment est historique dans ton parcours
</Text>
<Text style={styles.subTitle}>Le Partage de Ton Univers</Text>
<Text style={styles.text}>
Quand tu partages le playback de ta propre chanson, tu offres une expérience complète :
{"\n"}• Les gens découvrent ta musique
{"\n"}• Ils voient ta personnalité
{"\n"}• Ils connectent avec l'artiste complet que tu es
{"\n"} Ils witness la naissance visuelle de ton art
</Text>
<Text style={styles.chapterTitle}>Résumé : Ton Parcours Créatif Unique</Text>
<Text style={styles.subTitle}>🎵 Chapitre 1 - Ton Lip-Sync Signature</Text>
<Text style={styles.text}>
Tu connais chaque intention : Avantage ultime du créateur
{"\n"} 15 écoutes pour redécouvrir : Même ta création mérite cette attention
{"\n"} Le dédoublement créatif : Embrasse d'être ton propre interprète
{"\n"}• Liberté totale : Réinterprète selon ton humeur du jour
</Text>
<Text style={styles.subTitle}>🎬 Chapitre 2 - Ton Setup Créatif</Text>
<Text style={styles.text}>
• Les angles qui racontent : Confession, concert, clip
{"\n"}• L'instrument de création : Montre ton processus créatif
{"\n"} Accessoires significatifs : Objets liés à ton inspiration
{"\n"} L'authenticité avant tout : Ton setup, tes règles
</Text>
<Text style={styles.subTitle}>🎭 Chapitre 3 - Tes Lieux de Création</Text>
<Text style={styles.text}>
• Retour aux sources : Là où tu as créé
{"\n"}• Le lieu d'inspiration : Boucle ta vision créative
{"\n"} La scène rêvée : Matérialise ta vision
{"\n"} Chaque lieu = ton histoire : Personnalise à fond
</Text>
<Text style={styles.subTitle}>🌟 Chapitre 4 - Ton Mindset Unique</Text>
<Text style={styles.text}>
Double créativité : Compositeur ET performeur
{"\n"} Fierté créative : Tu as créé quelque chose de rien
{"\n"} Réinvention constante : Explore toutes les facettes
{"\n"} Histoire complète : Tu offres l'expérience totale
</Text>
<Text style={styles.chapterTitle}>Ton Défi Ultime : La Première Mondiale !</Text>
<Text style={styles.text}>
Tu es sur le point de faire quelque chose qu'AUCUN autre artiste ne peut faire : créer la
performance visuelle parfaite de TA chanson. C'est ta première mondiale, ton moment
unique !
</Text>
<Text style={styles.text}>
Dans les 24 prochaines heures, donne vie visuellement à ta création. Choisis ta chanson
préférée (parmi les tiennes !), trouve ton spot créatif, et MONTRE au monde non seulement
ta musique, mais TOI en train de la vivre.
</Text>
<Text style={styles.text}>
Rappelle-toi : Tu n'es pas en train d'imiter. Tu n'es pas en train de copier. Tu es en train de
COMPLÉTER ton œuvre. La chanson était le tableau, le playback est le cadre qui le
sublime.
</Text>
<Text style={styles.text}>
C'est ton moment. Ta chanson. Ta performance. Ton histoire.
</Text>
<Text style={styles.text}>
Le monde attend de découvrir l'artiste complet que tu es ! 🎤🎵
</Text>
<Text style={styles.text}>
#MonPlaybackMaChanson #CréateurPerformeur #DoubleArtiste
</Text>
<Text style={styles.text}>
P.S. : Garde chaque prise, même les "ratées". Dans 10 ans, tu regarderas ces vidéos et tu
verras le début de ton parcours d'artiste. C'est de l'or pur !
</Text>
</ScrollView>
</BlurView>
</View>
</Page>
);
};
const styles = StyleSheet.create({
container: {
flex: 1,
marginHorizontal: Platform.OS === "web" ? gutters : 0,
marginBottom: gutters,
borderRadius: 20,
overflow: "hidden",
},
blurContainer: {
flex: 1,
backgroundColor: Palette.glass,
},
scrollContent: {
padding: gutters,
paddingBottom: gutters * 3,
},
title: {
fontFamily: FONT_FAMILY.InterBold,
fontSize: 24,
color: Palette.white,
textAlign: "center",
marginBottom: 20,
},
sectionTitle: {
fontFamily: FONT_FAMILY.InterBold,
fontSize: 20,
color: Palette.primary,
marginBottom: 10,
marginTop: 10,
},
chapterTitle: {
fontFamily: FONT_FAMILY.InterBold,
fontSize: 22,
color: Palette.primary,
marginBottom: 15,
marginTop: 25,
textAlign: "center",
},
subTitle: {
fontFamily: FONT_FAMILY.InterSemiBold,
fontSize: 18,
color: Palette.white,
marginBottom: 8,
marginTop: 15,
},
text: {
fontFamily: FONT_FAMILY.InterRegular,
fontSize: 16,
color: Palette.white,
marginBottom: 10,
lineHeight: 24,
},
bold: {
fontFamily: FONT_FAMILY.InterBold,
},
});
export default PlaybackGuide;
-11
View File
@@ -164,17 +164,6 @@ const Register = () => {
keyboardShouldPersistTaps="handled"
>
{renderFormContent()}
<View style={styles.bottomLoginPrompt}>
<Text style={styles.bottomFooterText}>
Tu as déjà un compte ?{" "}
<Text
style={styles.bottomFooterLink}
onPress={() => navigate(Routes.Login)}
>
Se connecter
</Text>
</Text>
</View>
</KeyboardAwareScrollView>
</KeyboardAvoidingView>
)}