104 page du profil utilisateur (#116)

* [ADD] profile page

* [DEL] empty lines

* [UPD] added translation for the profile page

* [UPD] link to the profile page

* [ADD] profile page

* [UPD] moved the progress bar component in its own file

* [UPD] moved the progress bar component

* [WIP] added all the elements to the profile view

* [WIP] added all the elements to the profile view

* User Slice: Use API Instance instead of access token

* Front: Fix API calls with JWT Token

* Front: Handle Empty Server response

* Front: Fix User Model

* Front: Signin Form: Fix submittingstate on error

* Front: Remove logs

* Front/translate refactor (#110)

* Front: i18n: Create component

* Front: Use new translation component

* Front: Translation COmpoent: Change props name

* Front: Fix merge

* Front: settings persistance (#108)

* Front: Add peristance dependencies

* Front: Fix Cross-platform persistance

* Front: Create Settings Slice

* Front: Use Redux State for settings

* Front: Check if access token is still valid

* Front: Create Language Gate to set correct language at startup

* Front: BEtter handling of Access Token validity

* 54-écran-de-titre (#109)

* [ADD] function to hide the splash screen

* [DEL] useless lines

* [ADD] compatibility

* [UPD] settings for the splash screen

* [ADD] chromacase logo on the splash screen

* [UPD] splash logo

* [UPD] set the timeout to 0

* [UPD] set the timeout to 500

* User Slice: Use API Instance instead of access token

* Front: Fix API calls with JWT Token

* Front: Handle Empty Server response

* Front: Fix User Model

* Front: Signin Form: Fix submittingstate on error

* Front: Remove logs

* Front/translate refactor (#110)

* Front: i18n: Create component

* Front: Use new translation component

* Front: Translation COmpoent: Change props name

* Front: Fix merge

* Front: settings persistance (#108)

* Front: Add peristance dependencies

* Front: Fix Cross-platform persistance

* Front: Create Settings Slice

* Front: Use Redux State for settings

* Front: Check if access token is still valid

* Front: Create Language Gate to set correct language at startup

* Front: BEtter handling of Access Token validity

* [MERGE]

* [DEL] useless lines

* [UPD] settings for the splash screen

* [UPD] set the timeout to 0

* [DEL] duplicated line

* [REVERT]

Co-authored-by: Arthi-chaud <arthur.jamet@gmail.com>
Co-authored-by: Arthur Jamet <60505370+Arthi-chaud@users.noreply.github.com>

* [FIX] splashscreen

* [ADD] profile page

* [UPD] link to the profile page

* [UPD] moved the progress bar component

* [FIX] translate

* [UPD] reorganized all translations for ease of use

* [UPD] translated all the texts and made the page more beautiful
[TODO] get the informations of the user

* [ADD] banner and level

Co-authored-by: Arthi-chaud <arthur.jamet@gmail.com>
Co-authored-by: Arthur Jamet <60505370+Arthi-chaud@users.noreply.github.com>
This commit is contained in:
Chloé Chauvin
2023-01-13 19:28:06 +01:00
committed by GitHub
parent f22e155a44
commit af8ec83cd6
9 changed files with 1367 additions and 1232 deletions
+143 -82
View File
@@ -13,21 +13,11 @@ export const en = {
lastScore: 'Last Score',
play: 'Play',
langBtn: 'Language',
diffBtn: 'Difficulty',
backBtn: 'Back',
settingsBtn: 'Settings',
prefBtn: 'Preferences',
notifBtn: 'Notifications',
privBtn: 'Privacy',
changepasswdBtn: 'Change Password',
changeemailBtn: 'Change Email',
googleacctBtn: 'Google Account',
easy: 'Beginner',
medium: 'Intermediate',
hard: 'Pro',
dark: 'Dark',
system: 'System',
light: 'Light',
goNextStep: 'Step Up!',
mySkillsToImprove: "My Competencies to work on",
recentlyPlayed: 'Recently played',
@@ -35,6 +25,26 @@ export const en = {
lastSearched: "Last searched",
levelProgress: 'good notes',
// profile page
user: 'Profile',
medals: 'Medals',
playerStats: 'My stats',
mostPlayedSong: 'Most played song : ',
goodNotesPlayed: 'Good notes played : ',
longestCombo: 'Longest combo : ',
favoriteGenre: 'Favorite genre : ',
// Difficulty settings
diffBtn: 'Difficulty',
easy: 'Beginner',
medium: 'Intermediate',
hard: 'Pro',
// theme settings
dark: 'Dark',
system: 'System',
light: 'Light',
// competencies
pedalsCompetency: 'Pedals',
rightHandCompetency: 'Right hand',
@@ -43,25 +53,34 @@ export const en = {
arpegeCompetency: 'Arpeges',
chordsCompetency: 'Chords',
/* account settings and logs */
// buttons
signUp: 'Sign up',
signIn: 'Sign in',
"Must Contain 8 Characters, One Uppercase, One Lowercase, One Number and One Special Case Character": "Must Contain 8 Characters, One Uppercase, One Lowercase, One Number and One Special Case Character",
login: 'Login',
// feedback for the user
usernameTooShort: 'Username is too short',
passwordTooShort: 'Password is too short',
usernameTooLong: 'Username is too long',
passwordTooLong: 'Password is too long',
username: 'Username',
password: 'Password',
login: 'Login',
invalidCredentials: 'Invalid credentials',
forgottenPassword: 'Forgotten password',
invalidEmail: 'Invalid email',
email: 'Email',
repeatPassword: 'Repeat password',
passwordsDontMatch: 'Passwords don\'t match',
signUp: 'Sign up',
signIn: 'Sign in',
"Must Contain 8 Characters, One Uppercase, One Lowercase, One Number and One Special Case Character": "Must Contain 8 Characters, One Uppercase, One Lowercase, One Number and One Special Case Character",
invalidCredentials: 'Invalid credentials',
invalidEmail: 'Invalid email',
accountCreated: 'Account created',
loggedIn: 'Logged in',
usernameTaken: 'Username already taken',
// categories
username: 'Username',
password: 'Password',
email: 'Email',
repeatPassword: 'Repeat password',
changepasswdBtn: 'Change Password',
changeemailBtn: 'Change Email',
googleacctBtn: 'Google Account',
forgottenPassword: 'Forgotten password',
};
export const fr: typeof en = {
@@ -79,89 +98,81 @@ export const fr: typeof en = {
lastScore: 'Dernier Score',
play: 'Jouer',
langBtn: 'Langage',
diffBtn: 'Difficulté',
backBtn: 'Retour',
settingsBtn: "Réglages",
prefBtn: 'Préférences',
notifBtn: 'Notifications',
privBtn: 'Confidentialité',
changepasswdBtn: 'Changer le mot de pass',
changeemailBtn: 'Change l\'email',
googleacctBtn: 'Compte Google',
easy: 'Débutant',
medium: 'Intermédiaire',
hard: 'Avancé',
dark: 'Foncé',
system: 'Système',
light: 'Clair',
settingsBtn: "Réglages",
goNextStep: "Prochaine Etape",
mySkillsToImprove: "Mes Skills",
recentlyPlayed: "Joués récemment",
search: "Rechercher",
lastSearched: "Dernières recherches",
levelProgress: "Niveau",
// profile page
user: 'Profil',
medals: 'Medailles',
playerStats: 'Mes statistiques',
mostPlayedSong: 'Chanson la plus jouée : ',
goodNotesPlayed: 'Bonnes notes jouées : ',
longestCombo: 'Combo le plus long : ',
favoriteGenre: 'Genre favorit : ',
// Difficulty settings
diffBtn: 'Difficulté',
easy: 'Débutant',
medium: 'Intermédiaire',
hard: 'Avancé',
// theme settings
dark: 'Foncé',
system: 'Système',
light: 'Clair',
// competencies
pedalsCompetency: "Pédales",
rightHandCompetency: "Main droite",
leftHandCompetency: "Main gauche",
accuracyCompetency: "Justesse",
arpegeCompetency: "Arpege",
chordsCompetency: "Accords",
/* account settings and logs */
// buttons
signUp: "S'inscrire",
signIn: "Se connecter",
"Must Contain 8 Characters, One Uppercase, One Lowercase, One Number and One Special Case Character": "",
login: 'Se connecter',
// feedback for the user
usernameTooShort: 'Le nom d\'utilisateur est trop court',
passwordTooShort: 'Le mot de passe est trop court',
usernameTooLong: 'Le nom d\'utilisateur est trop long',
passwordTooLong: 'Le mot de passe est trop long',
username: 'Nom d\'utilisateur',
password: 'Mot de passe',
login: 'Se connecter',
passwordsDontMatch: "Mots de passes différents",
invalidCredentials: "Informations d'identification invalides",
invalidEmail: "Email invalide",
loggedIn: 'Connecté',
usernameTaken: 'Nom d\'utilisateur déjà pris',
forgottenPassword: "Mot de passe oublié",
invalidEmail: "Email invalide",
accountCreated: "Compte créé",
// categories
username: 'Nom d\'utilisateur',
password: 'Mot de passe',
email: "Email",
repeatPassword: "Confirmer",
passwordsDontMatch: "Mots de passes différents",
signUp: "S'inscrire",
signIn: "Se connecter",
"Must Contain 8 Characters, One Uppercase, One Lowercase, One Number and One Special Case Character": "",
accountCreated: "Compte créé"
changepasswdBtn: 'Changer le mot de pass',
changeemailBtn: 'Changer l\'email',
googleacctBtn: 'Compte Google',
forgottenPassword: "Mot de passe oublié",
};
export const sp: typeof en = {
welcome: 'Benvenido a Chromacase',
welcomeMessage: "Bienvenue",
signoutBtn: 'Desconectarse',
signinBtn: 'Connectarse',
langBtn: 'Langua',
diffBtn: 'Dificultad',
backBtn: 'Volver',
settingsBtn: 'Settings',
prefBtn: 'Préférences',
notifBtn: 'Notifications',
privBtn: 'Confidentialité',
changepasswdBtn: 'Changer le mot de pass',
changeemailBtn: 'Change l\'email',
googleacctBtn: 'Compte Google',
easy: 'Principiante',
medium: 'Intermedio',
hard: 'Avanzado',
dark: 'Oscuro',
system: 'Sistema',
light: 'Claro',
play: 'Jouer',
goNextStep: "Passer à l'étape supérieure",
mySkillsToImprove: 'Mes Competences à améliorer',
lastSearched: "Dernières recherches",
search: 'Rechercher',
levelProgress: 'bonnes notes',
// competencies
pedalsCompetency: 'Pédales',
rightHandCompetency: 'Main droite',
leftHandCompetency: 'Main gauche',
accuracyCompetency: 'Précision',
arpegeCompetency: 'Arpèges',
chordsCompetency: 'Accords',
welcomeMessage: "Bienvenue",
changeLanguageBtn: "Changer de langue",
searchBtn: "Rechercher",
playBtn: "Jouer",
@@ -170,24 +181,74 @@ export const sp: typeof en = {
chapters: "Chapitres",
bestScore: "Meilleur Score",
lastScore: "Dernier score",
play: 'Jouer',
langBtn: 'Langua',
backBtn: 'Volver',
settingsBtn: 'Settings',
prefBtn: 'Préférences',
notifBtn: 'Notifications',
privBtn: 'Confidentialité',
goNextStep: "Passer à l'étape supérieure",
mySkillsToImprove: 'Mes Competences à améliorer',
recentlyPlayed: "Joués récemment",
lastSearched: "Dernières recherches",
search: 'Rechercher',
levelProgress: 'bonnes notes',
// profile page
user: 'Profil',
medals: 'Medailles',
playerStats: 'Mes statistiques',
mostPlayedSong: 'Chanson la plus jouée : ',
goodNotesPlayed: 'Bonnes notes jouées : ',
longestCombo: 'Combo le plus long : ',
favoriteGenre: 'Genre favorit : ',
// Difficulty settings
diffBtn: 'Dificultad',
easy: 'Principiante',
medium: 'Intermedio',
hard: 'Avanzado',
// theme settings
dark: 'Oscuro',
system: 'Sistema',
light: 'Claro',
// competencies
pedalsCompetency: 'Pédales',
rightHandCompetency: 'Main droite',
leftHandCompetency: 'Main gauche',
accuracyCompetency: 'Précision',
arpegeCompetency: 'Arpèges',
chordsCompetency: 'Accords',
/* account settings and logs */
// buttons
signUp: 'S\'inscrire',
signIn: 'Se connecter',
"Must Contain 8 Characters, One Uppercase, One Lowercase, One Number and One Special Case Character": "Doit contenir 8 caractères, une majuscule, une minuscule, un chiffre et un caractère spécial",
login: 'Se connecter',
// feedback for the user
usernameTooShort: 'Le nom d\'utilisateur est trop court',
passwordTooShort: 'Le mot de passe est trop court',
usernameTooLong: 'Le nom d\'utilisateur est trop long',
passwordTooLong: 'Le mot de passe est trop long',
username: 'Nom d\'utilisateur',
password: 'Mot de passe',
login: 'Se connecter',
passwordsDontMatch: 'Les mots de passe ne correspondent pas',
invalidCredentials: "Informations d'identification invalides",
forgottenPassword: 'Mot de passe oublié',
invalidEmail: 'Email invalide',
email: 'Email',
repeatPassword: 'Répéter le mot de passe',
passwordsDontMatch: 'Les mots de passe ne correspondent pas',
signUp: 'S\'inscrire',
signIn: 'Se connecter',
"Must Contain 8 Characters, One Uppercase, One Lowercase, One Number and One Special Case Character": "Doit contenir 8 caractères, une majuscule, une minuscule, un chiffre et un caractère spécial",
accountCreated: 'Compte créé',
loggedIn: 'Connectado',
usernameTaken: 'Nombre de usuario ya tomado',
// categories
username: 'Nom d\'utilisateur',
password: 'Mot de passe',
email: 'Email',
repeatPassword: 'Répéter le mot de passe',
changepasswdBtn: 'Changer le mot de pass',
changeemailBtn: 'Change l\'email',
googleacctBtn: 'Compte Google',
};