Skip to content

✨ feat: Add toaster message in login#155

Merged
caverav merged 19 commits intodevelopmentfrom
feature/login-toaster
Nov 3, 2024
Merged

✨ feat: Add toaster message in login#155
caverav merged 19 commits intodevelopmentfrom
feature/login-toaster

Conversation

@caverav
Copy link
Copy Markdown
Owner

@caverav caverav commented Oct 17, 2024

Descripción

Se agrega mensaje de error en caso de credenciales incorrectas

Motivación y Contexto

No había ningún tipo de retroalimentación

¿Cómo ha sido probado?

Iniciando con credenciales incorrectas

Capturas de pantalla (si es apropiado):

Tipos de cambios

  • Bugfix (cambio que no interrumpe el funcionamiento y que soluciona un problema)
  • New feature (cambio que no interrumpe el funcionamiento y que añade funcionalidad)
  • Breaking change (corrección o funcionalidad que podría causar que la funcionalidad existente cambie)

Lista de verificación:

  • Mi código sigue el estilo de código de este proyecto.
  • Mi cambio requiere una modificación en la documentación.
  • He actualizado la documentación en consecuencia.
  • Requiere nuevos tests.

Summary by CodeRabbit

  • Nuevas Funciones

    • Mejora en el manejo de errores en el formulario de inicio de sesión, con notificaciones para credenciales inválidas.
    • Se añadió un componente Toaster para gestionar las notificaciones de éxito y error durante el proceso de inicio de sesión.
    • Se introdujo un nuevo mensaje de error para la creación de usuarios en el sistema de localización.
    • Se añadió un nuevo botón PrimaryButton que permite flexibilidad en su uso como botón de envío.
  • Mejoras

    • El hook useAuth ahora devuelve un valor booleano que indica el éxito o fracaso del inicio de sesión y registro.
    • Se optimizó el manejo de formularios en el componente de registro con el uso de useCallback.

…message

- Added imports for i18next and sonner in LoginForm.tsx
- Updated form submission in the login function to display a toast error message when credentials are invalid
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Oct 17, 2024

Warning

Rate limit exceeded

@caverav has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 14 minutes and 41 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

📥 Commits

Reviewing files that changed from the base of the PR and between 736e158 and 21be331.

📝 Walkthrough
📝 Walkthrough
📝 Walkthrough
📝 Walkthrough
📝 Walkthrough
📝 Walkthrough

Walkthrough

Este pull request introduce cambios en el componente LoginForm, el hook useAuth y el componente Login. Se añaden nuevas importaciones para manejar notificaciones de error y se mejora la gestión de errores en el proceso de inicio de sesión. El handleSubmit ahora verifica el resultado del inicio de sesión y muestra un mensaje de error si las credenciales son inválidas. Además, el hook useAuth ahora devuelve un valor booleano que indica el éxito del inicio de sesión. La estructura del componente Login se reorganiza para incluir un componente Toaster que gestiona las notificaciones.

Changes

Archivo Resumen de cambios
frontend/src/components/login/LoginForm.tsx Se añaden importaciones de t de i18next y toast de sonner. Se actualiza handleSubmit para manejar errores con notificaciones.
frontend/src/hooks/useAuth.tsx Se añaden declaraciones de retorno en la función login, ahora devuelve true o false según el éxito del inicio de sesión. Se actualiza la firma del método.
frontend/src/routes/login.tsx Se añade la importación del componente Toaster de sonner. Se reorganiza la estructura JSX del componente Login para incluir el Toaster y ajustar los campos de entrada.
frontend/src/routes/register.tsx Se añade el hook useCallback para optimizar handleSubmit. Se actualizan las importaciones y se incluye un componente Toaster para notificaciones.
frontend/src/i18n/en-US/index.ts Se añade un nuevo mensaje de error createUser en el objeto err para mejorar el manejo de errores.
frontend/src/components/button/PrimaryButton.tsx Se añade una nueva propiedad opcional type al tipo PrimaryButtonProps, permitiendo valores 'submit' o 'button'.
frontend/tailwind.config.js Se reestructura la configuración de Tailwind CSS, añadiendo una nueva animación shake y mejorando la organización de las propiedades existentes.

Possibly related PRs

Suggested labels

enhancement

Suggested reviewers

  • Icksir
  • jllanosg
  • massi-ponce
  • Sealra

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:

‼️ IMPORTANT
Auto-reply has been disabled for this repository in the CodeRabbit settings. The CodeRabbit bot will not respond to your replies unless it is explicitly tagged.

  • 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 testing code 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 gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

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 using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • 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/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Copy Markdown
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.

Actionable comments posted: 1

🧹 Outside diff range and nitpick comments (1)
frontend/src/hooks/useAuth.tsx (1)

63-65: Añade la anotación de tipo para el valor de retorno de la función login.

Los cambios implementados son correctos y cumplen con el objetivo de proporcionar retroalimentación sobre los intentos de inicio de sesión. Sin embargo, es necesario añadir la anotación de tipo para el valor de retorno de la función login.

Aplica este cambio para mejorar la tipificación:

-const login = async (username: string, password: string, totp: string) => {
+const login = async (username: string, password: string, totp: string): Promise<boolean> => {

Esta modificación hará que el código sea más robusto y fácil de mantener en el futuro.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Files that changed from the base of the PR and between 56f6958 and e4d4389.

📒 Files selected for processing (3)
  • frontend/src/components/login/LoginForm.tsx (2 hunks)
  • frontend/src/hooks/useAuth.tsx (1 hunks)
  • frontend/src/routes/login.tsx (2 hunks)
🧰 Additional context used
🔇 Additional comments (6)
frontend/src/components/login/LoginForm.tsx (1)

1-2: Las importaciones son correctas y necesarias.

Las nuevas importaciones de t y toast son apropiadas para implementar la funcionalidad de mensajes de error internacionalizados. Estas adiciones son coherentes con los cambios realizados en la función handleSubmit.

frontend/src/routes/login.tsx (5)

3-3: Importación correcta del componente Toaster.

La adición de esta importación es coherente con el objetivo de mostrar mensajes de error durante el inicio de sesión.


22-43: Reestructuración adecuada del componente LoginForm.

La nueva estructura del LoginForm es más coherente y mejora la organización del código. Todos los elementos relacionados con el inicio de sesión están ahora correctamente encapsulados dentro del componente.


44-53: Implementación correcta del componente Toaster.

La adición del componente Toaster es una mejora significativa que cumple con el objetivo de proporcionar mensajes de error durante el inicio de sesión. Las opciones de estilo personalizadas para diferentes tipos de notificaciones son un buen toque.


21-21: Uso correcto del fragmento de React.

La adición del fragmento de React es necesaria y está bien implementada. Permite la inclusión del nuevo componente Toaster sin introducir elementos DOM innecesarios.

Also applies to: 54-54


Line range hint 1-54: Implementación general correcta, pero con margen de mejora.

La implementación cumple con los objetivos del PR, pero hay aspectos que podrían mejorarse:

  1. No se ve la lógica de manejo de errores en este archivo. Asegúrate de que esté correctamente implementada en el componente LoginForm.
  2. El uso de una biblioteca de terceros para las notificaciones aumenta las dependencias del proyecto. Considera si esto es necesario o si se podría implementar una solución nativa.

Verifica la implementación del manejo de errores en el componente LoginForm ejecutando el siguiente script:

Comment thread frontend/src/components/login/LoginForm.tsx Outdated
coderabbitai[bot]
coderabbitai Bot previously approved these changes Oct 17, 2024
- Updated PrimaryButton component to accept a `type` prop with values 'submit' or 'button'.
- Modified LoginForm styles:
  - Changed background color to bg-gray-900.
  - Adjusted text color in a section of the form to text-white.
- Added new imports in the login route file:
  - Imported useState from 'react'.
  - Imported SimpleInput component.
  - Imported PrimaryButton component.
- Implemented new state variables for password and email fields.
- Refactored LoginForm to use SimpleInput components for email and password inputs.
- Implement email and password state handling in the Login component.
- Integrated PrimaryButton component with blue color and 'login' text for form submission.

This commit enhances the styling and functionality of the PrimaryButton component and updates the UI of the LoginForm component in the frontend.
Copy link
Copy Markdown
Collaborator

@jllanosg jllanosg left a comment

Choose a reason for hiding this comment

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

actualizar traducciones

Comment thread frontend/src/routes/register.tsx Outdated
Comment thread frontend/src/i18n/en-US/index.ts
Copy link
Copy Markdown
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.

Actionable comments posted: 4

🧹 Outside diff range and nitpick comments (5)
frontend/src/components/button/PrimaryButton.tsx (1)

28-28: La implementación del atributo 'type' es correcta, pero requiere validación adicional.

Has implementado correctamente el uso del prop 'type' en el elemento button. Sin embargo, es crucial asegurar que solo se utilicen tipos de botón válidos.

Ignora la sugerencia del análisis estático sobre usar una cadena estática o una expresión ternaria trivial, ya que en este caso queremos que el tipo sea dinámico.

Para mejorar la robustez del componente, considera añadir una validación de tipo en tiempo de ejecución. Podrías implementarlo así:

type={['submit', 'button'].includes(type) ? type : 'button'}

Esto garantizará que solo se utilicen tipos válidos, defaulteando a 'button' en caso contrario.

🧰 Tools
🪛 GitHub Check: build (20.15.0)

[failure] 28-28:
The button type attribute must be specified by a static string or a trivial ternary expression

frontend/src/routes/login.tsx (1)

Line range hint 1-65: Resumen de la revisión: Mejoras significativas, pero se requieren ajustes importantes.

Los cambios realizados en el componente Login representan una mejora sustancial en la funcionalidad y la experiencia del usuario. La implementación de componentes reutilizables y la adición del Toaster son pasos positivos.

Sin embargo, hay dos problemas críticos que deben abordarse antes de que este PR pueda ser aprobado:

  1. Falta de validación del formulario: Implemente una validación robusta para los campos de email y contraseña.
  2. Ausencia de lógica para mostrar mensajes toast: Agregue la lógica necesaria para mostrar mensajes de éxito o error basados en el resultado del inicio de sesión.

Estos problemas son fundamentales para cumplir con los objetivos del PR y garantizar una experiencia de usuario óptima. Aborde estos puntos y vuelva a solicitar una revisión.

frontend/src/hooks/useAuth.tsx (1)

Line range hint 128-134: Es necesario actualizar la firma de las funciones en el retorno del hook.

Las modificaciones en las funciones login y register han cambiado sus tipos de retorno, pero esto no se refleja en la declaración de retorno del hook useAuth.

Para mantener la consistencia y el tipado correcto, debes actualizar el retorno del hook de la siguiente manera:

return {
  isAuthenticated,
  login: login as (username: string, password: string, totp: string) => Promise<boolean>,
  logout,
  checktoken,
  register: register as (username: string, firstname: string, lastname: string, password: string) => Promise<boolean>,
};

Esta modificación asegurará que los tipos de retorno de login y register sean correctos y consistentes con sus implementaciones actuales.

frontend/src/routes/register.tsx (1)

87-96: Excelente adición del componente Toaster

La inclusión del componente Toaster con estilos personalizados mejora significativamente la experiencia del usuario al proporcionar retroalimentación visual clara.

Sin embargo, considera extraer las opciones de estilo a un archivo de configuración separado para mejorar la mantenibilidad.

Considera crear un archivo toastConfig.ts con el siguiente contenido:

export const toastOptions = {
  classNames: {
    error: 'bg-red-400 text-white',
    success: 'bg-green-400 text-white',
    warning: 'bg-yellow-400 text-white',
    info: 'bg-blue-400 text-white',
  },
};

Luego, importa y usa esta configuración en tu componente:

import { toastOptions } from './toastConfig';

// ...

<Toaster toastOptions={toastOptions} />
frontend/src/i18n/en-US/index.ts (1)

206-206: ¡Oye! Hay un comentario anterior que no has abordado.

Existe un comentario de revisión anterior en la línea 206 que sugiere cambiar el texto a 'Passwords do not match'. Aunque no está directamente relacionado con tu cambio actual, deberías considerar implementar esta sugerencia para mejorar la consistencia y claridad de los mensajes de error.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Files that changed from the base of the PR and between 5f9b854 and 736e158.

📒 Files selected for processing (7)
  • frontend/src/components/button/PrimaryButton.tsx (2 hunks)
  • frontend/src/components/login/LoginForm.tsx (2 hunks)
  • frontend/src/hooks/useAuth.tsx (2 hunks)
  • frontend/src/i18n/en-US/index.ts (1 hunks)
  • frontend/src/routes/login.tsx (2 hunks)
  • frontend/src/routes/register.tsx (3 hunks)
  • frontend/tailwind.config.js (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • frontend/src/components/login/LoginForm.tsx
🧰 Additional context used
🪛 GitHub Check: build (20.15.0)
frontend/src/components/button/PrimaryButton.tsx

[failure] 28-28:
The button type attribute must be specified by a static string or a trivial ternary expression

🔇 Additional comments (14)
frontend/src/components/button/PrimaryButton.tsx (3)

7-7: ¡Bien hecho! La adición del prop 'type' mejora la flexibilidad del componente.

La inclusión de esta propiedad opcional permite que el botón se utilice tanto como botón de envío como botón regular, lo cual es una mejora significativa en la versatilidad del componente.


20-20: La asignación del valor por defecto es correcta y mantiene la compatibilidad.

Has hecho bien en establecer 'button' como valor por defecto para el prop 'type'. Esto asegura que el componente mantenga su comportamiento anterior en caso de que no se especifique un tipo, lo cual es crucial para la compatibilidad con el código existente.


Line range hint 1-36: Resumen de la revisión: Cambios aprobados con una sugerencia de mejora.

En general, los cambios realizados en el componente PrimaryButton son positivos y aumentan su flexibilidad. La adición del prop 'type' y su implementación están bien ejecutadas.

Sin embargo, para fortalecer aún más el componente, te sugiero que consideres implementar una validación de tipo en tiempo de ejecución como se mencionó anteriormente. Esto proporcionará una capa adicional de seguridad sin comprometer la flexibilidad que has introducido.

Buen trabajo en la mejora de este componente.

🧰 Tools
🪛 GitHub Check: build (20.15.0)

[failure] 28-28:
The button type attribute must be specified by a static string or a trivial ternary expression

frontend/src/routes/login.tsx (3)

1-7: Las nuevas importaciones son correctas y necesarias.

Las importaciones añadidas son coherentes con los cambios realizados en el componente. La estructura y el orden de las importaciones son adecuados.


15-16: Los hooks useState están correctamente implementados.

La gestión del estado del formulario mediante useState es apropiada. Los nombres de las variables y las funciones de actualización son claros y siguen las convenciones de React.


49-54: El componente PrimaryButton está correctamente implementado.

La implementación del botón de envío utilizando el componente PrimaryButton es adecuada. El uso de t() para las traducciones y el tipo "submit" son correctos para la funcionalidad del formulario.

frontend/tailwind.config.js (4)

7-48: ¡Bien hecho con la reorganización de colores!

La restructuración de la configuración de colores mejora la legibilidad y mantenibilidad del código. La adición de los colores 'chart' parece apropiada para las necesidades del proyecto.


49-87: La nueva animación 'shake' es una adición excelente.

La animación 'shake' será muy útil para proporcionar feedback visual de errores, lo cual se alinea perfectamente con el objetivo de mostrar mensajes de error en el inicio de sesión. La reformatación de las animaciones existentes también mejora la consistencia del código.


88-94: Correcta inclusión de la animación 'shake'.

Has añadido correctamente la animación 'shake' a la lista de animaciones disponibles. Esto permitirá su uso en el proyecto, lo cual es crucial para implementar el feedback visual de errores.


95-99: Verificación necesaria para las variables CSS de radio de borde.

La adición de configuraciones de radio de borde es buena para mantener un diseño cohesivo. Sin embargo, no veo la definición explícita de la variable CSS --radius.

Asegúrate de que esta variable esté definida en algún lugar de tu proyecto CSS. Si no es así, deberías considerar definirla aquí o en un archivo CSS separado.

frontend/src/hooks/useAuth.tsx (1)

63-68: ¡Cambios aprobados en la función login!

La implementación de los valores de retorno booleanos mejora significativamente la función login. Ahora proporciona una indicación clara del éxito o fracaso del inicio de sesión, lo que se alinea perfectamente con el objetivo de mejorar el manejo de errores. La lógica es correcta y consistente.

frontend/src/routes/register.tsx (2)

2-3: ¡Bien hecho con la optimización!

La adición de useCallback y la importación de componentes de notificación son cambios positivos que mejoran el rendimiento y la experiencia del usuario.

Also applies to: 13-37


29-33: Buen manejo de errores

La adición de manejo de errores para el registro fallido es una mejora significativa en la experiencia del usuario. Proporciona retroalimentación clara cuando algo sale mal.

frontend/src/i18n/en-US/index.ts (1)

205-205: ¡Bien hecho! La nueva línea de error es apropiada.

La adición de la línea para el error de creación de usuario es correcta y sigue la estructura existente del archivo. Es una buena práctica tener mensajes de error específicos para diferentes situaciones.

Comment on lines +29 to +48
<SimpleInput
id="email"
label={t('email')}
name="email"
onChange={setEmail}
placeholder={t('email')}
requiredField
type="text"
value={email}
/>
<SimpleInput
id="password"
label={t('password')}
name="password"
onChange={setPassword}
placeholder={t('password')}
requiredField
type="password"
value={password}
/>
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Los componentes SimpleInput están bien implementados, pero falta validación del formulario.

La estructura de los componentes SimpleInput es correcta y las propiedades están bien definidas. El uso de t() para las traducciones es consistente con las prácticas de internacionalización.

Sin embargo, aunque se utiliza la propiedad requiredField, no se observa lógica de validación del formulario. Es crucial implementar la validación para garantizar que los campos requeridos se completen antes de enviar el formulario.

Implemente la validación del formulario para asegurar que los campos email y password estén completos antes de permitir el envío. Considere utilizar una biblioteca de validación de formularios como Formik o react-hook-form para una gestión más robusta del estado y la validación del formulario.

Comment on lines +55 to +65
<Toaster
toastOptions={{
classNames: {
error: 'bg-red-400 text-white',
success: 'bg-green-400 text-white',
warning: 'bg-yellow-400 text-white',
info: 'bg-blue-400 text-white',
},
}}
/>
<div className="text-center md:text-left">
<button
className="mt-4 bg-black hover:bg-gray-100 hover:text-black px-4 py-2 text-white uppercase rounded text-xs tracking-wider"
type="submit"
>
{t('login')}
</button>
</div>
</LoginForm>
</>
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

El componente Toaster está bien implementado, pero falta la lógica para mostrar los mensajes.

La implementación del componente Toaster con opciones de estilo personalizadas es correcta. Su ubicación fuera del LoginForm es apropiada para notificaciones globales.

Sin embargo, no se observa la lógica para activar los toasts basados en el éxito o fracaso del inicio de sesión. Es fundamental implementar esta lógica para proporcionar retroalimentación al usuario.

Implemente la lógica para mostrar los mensajes de toast en respuesta a los resultados del inicio de sesión. Asegúrese de manejar tanto los casos de éxito como los de error, y proporcione mensajes claros y útiles al usuario.

Comment on lines +119 to +124
return true;
}
} catch (error) {
console.error(error);
}
return false;
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

¡Atención! Hay un problema potencial en la función register.

La implementación actual no distingue claramente entre errores reales y registros fallidos. Ambos casos resultan en un retorno de false, lo que puede dificultar el manejo adecuado de diferentes escenarios de error.

Te sugiero modificar la función para manejar los diferentes casos de manera más específica. Aquí tienes una propuesta de mejora:

const register = async (
  username: string,
  firstname: string,
  lastname: string,
  password: string
): Promise<{ success: boolean; error?: string }> => {
  // ... (código existente)

  try {
    const response = await fetch('/api/users/init', {
      // ... (configuración existente)
    });
    const responseData = await response.json();
    if (responseData.status === 'success') {
      navigate('/login', { replace: true });
      return { success: true };
    }
    return { success: false, error: 'Registro fallido' };
  } catch (error) {
    console.error(error);
    return { success: false, error: 'Error en la solicitud' };
  }
};

Esta modificación permite distinguir entre un registro fallido y un error en la solicitud, proporcionando información más detallada para el manejo de errores.

Comment thread frontend/src/routes/register.tsx Outdated
const password = getValue('password');
const confirmPassword = getValue('confirmPassword');
if (password !== confirmPassword) {
toast.error(t('confirmPasswordDifferents'));
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

¡Ojo con la clave del mensaje de error!

La clave del mensaje de error para contraseñas que no coinciden no es coherente. Estás usando 'confirmPasswordDifferents', pero en comentarios anteriores se sugirió 'err.confirmPasswordDifferents'. Asegúrate de usar la clave correcta para mantener la consistencia en la internacionalización.

Aplica este cambio:

-        toast.error(t('confirmPasswordDifferents'));
+        toast.error(t('err.confirmPasswordDifferents'));
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
toast.error(t('confirmPasswordDifferents'));
toast.error(t('err.confirmPasswordDifferents'));

iTzGooDLife and others added 3 commits October 27, 2024 13:38
Co-authored-by: José Llanos <74331945+jllanosg@users.noreply.github.com>
Co-authored-by: José Llanos <74331945+jllanosg@users.noreply.github.com>
@caverav caverav merged commit 7838149 into development Nov 3, 2024
@caverav caverav deleted the feature/login-toaster branch November 3, 2024 23:37
@coderabbitai coderabbitai Bot mentioned this pull request Feb 3, 2025
7 tasks
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