New Toaster class, Ability and Resistance removed from config file and choices improvement

This commit is contained in:
2025-08-31 23:52:11 +02:00
parent 17bc232602
commit c93cc4078c
24 changed files with 699 additions and 684 deletions

View File

@@ -21,14 +21,13 @@
import type { ZodError } from 'zod/v4';
import { schema, type Login } from '~/schemas/login';
import { Icon } from '@iconify/vue/dist/iconify.js';
import { Toaster } from '#shared/components.util';
definePageMeta({
layout: 'login',
usersGoesTo: '/user/profile',
});
const { add: addToast, clear: clearToasts } = useToast();
const state = reactive<Login>({
usernameOrEmail: '',
password: ''
@@ -47,9 +46,9 @@ const toastMessage = ref('');
async function submit()
{
if(state.usernameOrEmail === "")
return addToast({ content: 'Veuillez saisir un nom d\'utilisateur ou un email', timer: true, duration: 10000 });
return Toaster.add({ content: 'Veuillez saisir un nom d\'utilisateur ou un email', timer: true, duration: 10000 });
if(state.password === "")
return addToast({ content: 'Veuillez saisir un mot de passe', timer: true, duration: 10000 });
return Toaster.add({ content: 'Veuillez saisir un mot de passe', timer: true, duration: 10000 });
const data = schema.safeParse(state);
@@ -64,8 +63,8 @@ async function submit()
}
else if(status.value === 'success' && login.success)
{
clearToasts();
addToast({ duration: 10000, content: 'Vous êtes maintenant connecté', timer: true, type: 'success' });
Toaster.clear();
Toaster.add({ duration: 10000, content: 'Vous êtes maintenant connecté', timer: true, type: 'success' });
await navigateTo('/user/profile');
}
}
@@ -85,12 +84,12 @@ function handleErrors(error: Error | ZodError)
{
for(const err of (error as ZodError).issues)
{
return addToast({ content: err.message, timer: true, duration: 10000, type: 'error' });
return Toaster.add({ content: err.message, timer: true, duration: 10000, type: 'error' });
}
}
else
{
return addToast({ content: error?.message ?? 'Une erreur est survenue', timer: true, duration: 10000, type: 'error' });
return Toaster.add({ content: error?.message ?? 'Une erreur est survenue', timer: true, duration: 10000, type: 'error' });
}
}
</script>