Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] Add loginscreen #10

Merged
merged 20 commits into from
Feb 28, 2024
Merged

[WIP] Add loginscreen #10

merged 20 commits into from
Feb 28, 2024

Conversation

Loule95450
Copy link
Member

@Loule95450 Loule95450 commented Feb 28, 2024

Summary by CodeRabbit

  • Nouvelles Fonctionnalités

    • Mise à jour de l'écran de compte pour introduire un nouvel écran de connexion.
    • Introduction d'un composant de navigation dans la section compte de l'application, avec gestion de l'état via react-redux.
    • Ajout d'un composant de navigation racine et d'un composant de navigation par onglets, avec gestion de l'authentification utilisateur.
    • Ajout de nouveaux écrans pour la connexion, l'inscription, et une page spécifique "CarrotScreen".
    • Mise en place d'une gestion d'état utilisateur avec actions de connexion et déconnexion.
  • Améliorations

    • Ajout de styles pour les écrans de connexion et d'inscription.

Copy link
Contributor

coderabbitai bot commented Feb 28, 2024

Walkthrough

Les récents changements ont apporté une refonte majeure de la navigation et de l'interface utilisateur dans l'application mobile. De nouveaux écrans pour le login et l'enregistrement ont été introduits, des composants existants ont été remplacés, et la gestion de l'état a été améliorée avec Redux. L'ajout de types et d'interfaces spécifiques renforce la structure du code pour une meilleure maintenance et évolutivité.

Changes

Fichiers Résumés des changements
.gitignore Ajout de vendor/ pour exclure le répertoire des contrôles de version.
src/App.tsx Remplacement de la structure de navigation, introduction de Redux avec RootNavigator. Suppression de AccountScreen.
src/components/navigators/.../AccountNavigator.interfaces.ts,
.../AccountNavigator.tsx
Introduction d'un enum et d'un type pour les paramètres de navigation du compte, et d'un composant de navigation.
src/components/navigators/.../RootNavigator.tsx Ajout d'un composant pour configurer le navigateur racine avec @react-navigation/native-stack.
src/components/navigators/.../TabNavigator.interfaces.ts,
.../TabNavigator.tsx
Définition de routes spécifiques et ajout d'un composant pour la navigation par onglets.
src/screens/login/LoginScreen.styles.ts,
.../LoginScreen.tsx
Ajout de styles et d'un composant pour l'écran de connexion.
src/screens/carrot/CarrotScreen.tsx Introduction d'un composant d'écran pour "CarrotScreen".
src/screens/register/RegisterScreen.styles.ts,
.../RegisterScreen.tsx
Ajout de styles et d'un composant pour l'écran d'enregistrement.
src/service/redux/slices/userSlice.ts,
.../store.ts
Introduction d'une slice Redux pour la gestion de l'état utilisateur et ajout au store.

🐰✨

Dans le code et les schémas, on a tissé,
Des écrans nouveaux, brillamment ajoutés.
Avec agilité, les routes ont fleuri,
Sous le clair de lune, un lapin a souri.
"Pour chaque utilisateur, un chemin tracé,
Dans cette app magique, ensemble, avançons sans s'arrêter!"
🌟🐾

Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

Share

Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>.
    • Generate unit-tests for this file.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit tests for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai generate interesting stats about this repository from git and render them as a table.
    • @coderabbitai show all the console.log statements in this repository.
    • @coderabbitai read src/utils.ts and generate unit tests.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (invoked as PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger a review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai help to get help.

Additionally, you can add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.

CodeRabbit Configration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • The JSON schema for the configuration file is available here.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/coderabbit-overrides.v2.json

CodeRabbit Discord Community

Join our Discord Community to get help, request features, and share feedback.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review Status

Actionable comments generated: 0

Configuration used: CodeRabbit UI

Commits Files that changed from the base of the PR and between 4b675c4 and 1ac7632.
Files selected for processing (3)
  • src/App.tsx (2 hunks)
  • src/screens/login/LoginScreen.tsx (1 hunks)
  • src/screens/register/RegisterScreen.tsx (1 hunks)
Additional comments: 6
src/screens/login/LoginScreen.tsx (1)
  • 1-12: Le composant LoginScreen est bien implémenté pour une structure initiale. Cependant, pour améliorer l'expérience utilisateur, envisagez d'ajouter des champs de saisie pour les identifiants de connexion et un bouton pour soumettre ces informations à l'avenir.
src/screens/register/RegisterScreen.tsx (1)
  • 1-12: Le composant RegisterScreen est correctement implémenté pour une structure de base. Comme pour LoginScreen, envisagez d'ajouter des fonctionnalités supplémentaires telles que des champs de saisie pour l'enregistrement des utilisateurs et un bouton pour soumettre ces informations.
src/App.tsx (4)
  • 6-6: L'importation de ColorValue depuis 'react-native' est une bonne pratique pour garantir la clarté et la sécurité des types dans les fonctions de rendu.
  • 7-7: Le remplacement du composant AccountScreen par LoginScreen dans App.tsx est conforme aux objectifs de la PR pour améliorer l'expérience d'authentification de l'utilisateur.
  • 19-21: L'ajout d'annotations de type pour la fonction renderIcon améliore la lisibilité et la maintenabilité du code. C'est une bonne pratique à encourager.
  • 63-63: Le changement de composant de AccountScreen à LoginScreen pour l'onglet de compte est bien réalisé. Assurez-vous que cela s'aligne avec les attentes des utilisateurs et les tests d'interface utilisateur ont été mis à jour en conséquence.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review Status

Actionable comments generated: 0

Configuration used: CodeRabbit UI

Commits Files that changed from the base of the PR and between 1ac7632 and 6378b12.
Files selected for processing (1)
  • src/App.tsx (3 hunks)
Files skipped from review as they are similar to previous changes (1)
  • src/App.tsx

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review Status

Actionable comments generated: 0

Configuration used: CodeRabbit UI

Commits Files that changed from the base of the PR and between 6378b12 and 10083e4.
Files ignored due to path filters (1)
  • assets/kayu.png is excluded by: !**/*.png
Files selected for processing (2)
  • src/App.tsx (3 hunks)
  • src/screens/login/LoginScreen.tsx (1 hunks)
Files skipped from review as they are similar to previous changes (2)
  • src/App.tsx
  • src/screens/login/LoginScreen.tsx

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review Status

Actionable comments generated: 0

Configuration used: CodeRabbit UI

Commits Files that changed from the base of the PR and between 10083e4 and dc62a0d.
Files selected for processing (1)
  • src/screens/login/LoginScreen.tsx (1 hunks)
Files skipped from review as they are similar to previous changes (1)
  • src/screens/login/LoginScreen.tsx

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review Status

Actionable comments generated: 1

Configuration used: CodeRabbit UI

Commits Files that changed from the base of the PR and between dc62a0d and 7f3be86.
Files selected for processing (2)
  • src/screens/login/LoginScreen.styles.ts (1 hunks)
  • src/screens/login/LoginScreen.tsx (1 hunks)
Files skipped from review as they are similar to previous changes (1)
  • src/screens/login/LoginScreen.tsx

src/screens/login/LoginScreen.styles.ts Outdated Show resolved Hide resolved
@CodingFactory-Repos CodingFactory-Repos deleted a comment from coderabbitai bot Feb 28, 2024
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review Status

Actionable comments generated: 0

Configuration used: CodeRabbit UI

Commits Files that changed from the base of the PR and between 7f3be86 and 8c00f95.
Files selected for processing (2)
  • src/screens/login/LoginScreen.styles.ts (1 hunks)
  • src/utils/colors.ts (1 hunks)
Files skipped from review due to trivial changes (1)
  • src/utils/colors.ts
Files skipped from review as they are similar to previous changes (1)
  • src/screens/login/LoginScreen.styles.ts

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review Status

Actionable comments generated: 0

Configuration used: CodeRabbit UI

Commits Files that changed from the base of the PR and between 8c00f95 and b3c06c5.
Files ignored due to path filters (3)
  • Gemfile.lock is excluded by: !**/*.lock
  • ios/Podfile.lock is excluded by: !**/*.lock
  • package-lock.json is excluded by: !**/*.json
Files selected for processing (10)
  • .gitignore (1 hunks)
  • src/App.tsx (1 hunks)
  • src/components/navigators/AccountNavigator/AccountNavigator.tsx (1 hunks)
  • src/components/navigators/AccountNavigator/account-navigator.interfaces.ts (1 hunks)
  • src/components/navigators/AccountNavigator/index.ts (1 hunks)
  • src/components/navigators/RootNavigator/RootNavigator.tsx (1 hunks)
  • src/components/navigators/TabBarNavigation/TabNavigator.tsx (1 hunks)
  • src/screens/carrot/CarrotScreen.tsx (1 hunks)
  • src/service/redux/slices/userSlice.ts (1 hunks)
  • src/service/redux/store.ts (1 hunks)
Files skipped from review due to trivial changes (3)
  • src/components/navigators/AccountNavigator/account-navigator.interfaces.ts
  • src/components/navigators/AccountNavigator/index.ts
  • src/screens/carrot/CarrotScreen.tsx
Additional comments: 8
src/service/redux/store.ts (2)
  • 3-3: L'importation de userReducer depuis ./slices/userSlice est correctement réalisée.
  • 8-8: L'ajout de userReducer à la configuration du store Redux est correct. Assurez-vous que cela s'aligne bien avec l'architecture globale de votre application Redux.
src/service/redux/slices/userSlice.ts (1)
  • 1-20: La création de userSlice avec les actions login et logout est bien structurée et suit les conventions de Redux Toolkit. Il pourrait être utile d'ajouter des commentaires pour expliquer brièvement le rôle de ce slice pour la maintenabilité future.
src/components/navigators/RootNavigator/RootNavigator.tsx (1)
  • 1-20: La structure du RootNavigator utilisant createNativeStackNavigator est correctement mise en place. Vérifiez que le nom de la route initiale et les options d'écran sont cohérents avec le reste de l'application.
src/components/navigators/AccountNavigator/AccountNavigator.tsx (1)
  • 10-29: L'utilisation de useSelector pour déterminer la route initiale en fonction de l'état d'authentification de l'utilisateur est correcte. Assurez-vous de gérer correctement les états potentiellement indéfinis et que les constantes ACCOUNT_NAVIGATOR_ROUTES sont bien définies.
src/App.tsx (1)
  • 4-38: L'intégration de useCameraPermission, AsyncStorage, et l'enveloppement de l'application dans un Provider Redux est correctement réalisée. Assurez-vous que les permissions sont correctement gérées dans toute l'application et que les informations sensibles sont stockées et enregistrées de manière sécurisée.
src/components/navigators/TabBarNavigation/TabNavigator.tsx (1)
  • 1-94: L'implémentation du TabNavigator avec la fonction renderIcon et l'utilisation conditionnelle de AsyncStorage est bien réalisée. Ajoutez une gestion d'erreur pour les opérations AsyncStorage et assurez-vous que les icônes sont correctement référencées.
.gitignore (1)
  • 500-500: L'ajout de vendor/ au fichier .gitignore est une bonne pratique pour exclure le code tiers ou les dépendances du contrôle de version. Assurez-vous de revoir régulièrement .gitignore pour qu'il soit à jour avec les besoins du projet.

@@ -0,0 +1,11 @@
export enum ACCOUNT_NAVIGATOR_ROUTES {
LOGIN = 'LOGIN',

Check failure

Code scanning / ESLint

disallow unused variables Error

'LOGIN' is defined but never used.
@@ -0,0 +1,11 @@
export enum ACCOUNT_NAVIGATOR_ROUTES {
LOGIN = 'LOGIN',
REGISTER = 'REGISTER',

Check failure

Code scanning / ESLint

disallow unused variables Error

'REGISTER' is defined but never used.
export enum ACCOUNT_NAVIGATOR_ROUTES {
LOGIN = 'LOGIN',
REGISTER = 'REGISTER',
PROFILE = 'PROFILE',

Check failure

Code scanning / ESLint

disallow unused variables Error

'PROFILE' is defined but never used.
@@ -0,0 +1,15 @@
export enum TAB_BAR_NAVIGATOR_ROUTES {
ACCOUNT = 'ACCOUNT',

Check failure

Code scanning / ESLint

disallow unused variables Error

'ACCOUNT' is defined but never used.
@@ -0,0 +1,15 @@
export enum TAB_BAR_NAVIGATOR_ROUTES {
ACCOUNT = 'ACCOUNT',
CARROT = 'CARROT',

Check failure

Code scanning / ESLint

disallow unused variables Error

'CARROT' is defined but never used.
export enum TAB_BAR_NAVIGATOR_ROUTES {
ACCOUNT = 'ACCOUNT',
CARROT = 'CARROT',
SEARCH = 'SEARCH',

Check failure

Code scanning / ESLint

disallow unused variables Error

'SEARCH' is defined but never used.
ACCOUNT = 'ACCOUNT',
CARROT = 'CARROT',
SEARCH = 'SEARCH',
QRSCAN = 'QRSCAN',

Check failure

Code scanning / ESLint

disallow unused variables Error

'QRSCAN' is defined but never used.
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review Status

Actionable comments generated: 0

Configuration used: CodeRabbit UI

Commits Files that changed from the base of the PR and between b3c06c5 and 3dea292.
Files selected for processing (4)
  • src/components/navigators/AccountNavigator/AccountNavigator.interfaces.ts (1 hunks)
  • src/components/navigators/AccountNavigator/AccountNavigator.tsx (1 hunks)
  • src/components/navigators/TabBarNavigation/TabNavigator.interfaces.ts (1 hunks)
  • src/components/navigators/TabBarNavigation/TabNavigator.tsx (1 hunks)
Files skipped from review due to trivial changes (1)
  • src/components/navigators/AccountNavigator/AccountNavigator.interfaces.ts
Files skipped from review as they are similar to previous changes (2)
  • src/components/navigators/AccountNavigator/AccountNavigator.tsx
  • src/components/navigators/TabBarNavigation/TabNavigator.tsx
Additional comments: 1
src/components/navigators/TabBarNavigation/TabNavigator.interfaces.ts (1)
  • 1-15: Il semble que ce fichier n'ait pas été mis à jour pour refléter les objectifs de la PR, notamment le remplacement de AccountScreen par LoginScreen. Veuillez vérifier si TAB_BAR_NAVIGATOR_ROUTES.ACCOUNT doit être remplacé ou renommé pour correspondre à la nouvelle LoginScreen, assurant ainsi la cohérence dans l'ensemble du code.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review Status

Actionable comments generated: 0

Configuration used: CodeRabbit UI

Commits Files that changed from the base of the PR and between 3dea292 and 51379b8.
Files selected for processing (1)
  • src/components/navigators/TabBarNavigation/TabNavigator.tsx (1 hunks)
Files skipped from review as they are similar to previous changes (1)
  • src/components/navigators/TabBarNavigation/TabNavigator.tsx

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review Status

Actionable comments generated: 0

Configuration used: CodeRabbit UI

Commits Files that changed from the base of the PR and between 51379b8 and b9185b8.
Files selected for processing (1)
  • src/screens/login/LoginScreen.styles.ts (1 hunks)
Files skipped from review as they are similar to previous changes (1)
  • src/screens/login/LoginScreen.styles.ts

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review Status

Actionable comments generated: 2

Configuration used: CodeRabbit UI

Commits Files that changed from the base of the PR and between b9185b8 and c5245be.
Files selected for processing (4)
  • src/components/navigators/AccountNavigator/AccountNavigator.tsx (1 hunks)
  • src/screens/login/LoginScreen.tsx (1 hunks)
  • src/screens/register/RegisterScreen.styles.ts (1 hunks)
  • src/screens/register/RegisterScreen.tsx (1 hunks)
Files skipped from review as they are similar to previous changes (3)
  • src/components/navigators/AccountNavigator/AccountNavigator.tsx
  • src/screens/login/LoginScreen.tsx
  • src/screens/register/RegisterScreen.tsx
Additional comments: 1
src/screens/register/RegisterScreen.styles.ts (1)
  • 1-2: L'importation de Colors depuis ../../utils/colors.ts est correcte, mais assurez-vous que le chemin d'accès est correct et que le fichier colors.ts exporte bien un objet Colors contenant une propriété primary.

src/screens/register/RegisterScreen.styles.ts Show resolved Hide resolved
src/screens/register/RegisterScreen.styles.ts Outdated Show resolved Hide resolved
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review Status

Actionable comments generated: 0

Configuration used: CodeRabbit UI

Commits Files that changed from the base of the PR and between c5245be and 1b9a899.
Files selected for processing (1)
  • src/screens/register/RegisterScreen.styles.ts (1 hunks)
Files skipped from review as they are similar to previous changes (1)
  • src/screens/register/RegisterScreen.styles.ts

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review Status

Actionable comments generated: 1

Configuration used: CodeRabbit UI

Commits Files that changed from the base of the PR and between 1b9a899 and d620fa3.
Files selected for processing (2)
  • src/App.tsx (1 hunks)
  • src/components/navigators/TabBarNavigation/TabNavigator.tsx (1 hunks)
Files skipped from review as they are similar to previous changes (1)
  • src/components/navigators/TabBarNavigation/TabNavigator.tsx
Additional comments: 3
src/App.tsx (3)
  • 1-8: L'ajout de nouvelles importations, notamment useCameraPermission, AsyncStorage, logger, et Provider de react-redux, ainsi que le store et RootNavigator, est bien aligné avec les objectifs du PR pour améliorer la navigation et la gestion de l'état. Ces importations sont essentielles pour les fonctionnalités ajoutées et modifiées dans ce fichier.
  • 13-19: L'utilisation du hook useCameraPermission pour demander la permission de la caméra si elle n'est pas déjà accordée est une bonne pratique, surtout pour les applications qui nécessitent l'accès à la caméra. Cela améliore l'expérience utilisateur en s'assurant que l'application demande les permissions nécessaires au bon moment.
  • 33-37: L'encapsulation du RootNavigator dans un Provider de Redux est une excellente manière d'intégrer la gestion de l'état global avec la navigation. Cela permet une meilleure séparation des préoccupations et une plus grande flexibilité dans la gestion de l'état de l'application.

src/App.tsx Show resolved Hide resolved
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review Status

Actionable comments generated: 0

Configuration used: CodeRabbit UI

Commits Files that changed from the base of the PR and between d620fa3 and cba9095.
Files selected for processing (2)
  • src/screens/imager/Imager.tsx (2 hunks)
  • src/service/apiCall.ts (1 hunks)
Files skipped from review due to trivial changes (1)
  • src/service/apiCall.ts
Additional comments: 2
src/screens/imager/Imager.tsx (2)
  • 8-11: L'ordre des imports a été ajusté avec l'ajout de React à la fin. Bien que cela ne soit pas incorrect, il est généralement recommandé de placer les imports de bibliothèques externes avant les imports locaux pour améliorer la lisibilité et suivre les conventions de codage courantes. Cependant, si c'est une convention spécifique de votre projet de placer les imports de React à la fin, cette modification est acceptable.
  • 22-22: Le changement de l'opérateur de comparaison == en === pour une vérification d'égalité stricte dans la fonction onCodeScanned est une bonne pratique pour éviter les erreurs subtiles liées à la conversion de type automatique en JavaScript. Cela améliore la fiabilité et la prévisibilité du code.

@Loule95450 Loule95450 merged commit 156b19a into develop Feb 28, 2024
2 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants