Files
LeDiscord/frontend/src/main.js
EvanChal 08810440e0
Some checks failed
Deploy to Development / build-and-deploy (push) Has been cancelled
Deploy to Production / build-and-deploy (push) Successful in 1m51s
fix(date): correction on date utils
2026-01-26 22:43:35 +01:00

72 lines
1.8 KiB
JavaScript

import { createApp, nextTick } from 'vue'
import { createPinia } from 'pinia'
import Toast from 'vue-toastification'
import 'vue-toastification/dist/index.css'
import App from './App.vue'
import router from './router'
import './style.css'
// Créer l'application
const app = createApp(App)
// Créer et configurer Pinia
const pinia = createPinia()
// Toast configuration
const toastOptions = {
position: 'top-right',
timeout: 3000,
closeOnClick: true,
pauseOnFocusLoss: true,
pauseOnHover: true,
draggable: true,
draggablePercent: 0.6,
showCloseButtonOnHover: false,
hideProgressBar: false,
closeButton: 'button',
icon: true,
rtl: false
}
// Installer les plugins dans l'ordre correct
// IMPORTANT: Pinia doit être installé AVANT le router
app.use(pinia)
app.use(Toast, toastOptions)
// Maintenant installer le router
app.use(router)
// Handler d'erreur global pour capturer les erreurs non catchées
window.addEventListener('error', (event) => {
console.error('❌ Erreur JavaScript globale:', {
message: event.message,
filename: event.filename,
lineno: event.lineno,
colno: event.colno,
error: event.error,
stack: event.error?.stack
})
})
// Handler pour les promesses rejetées non catchées
window.addEventListener('unhandledrejection', (event) => {
console.error('❌ Promesse rejetée non catchée:', {
reason: event.reason,
promise: event.promise,
stack: event.reason?.stack
})
// Empêcher le message d'erreur par défaut dans la console
event.preventDefault()
})
// Attendre que le router soit prêt avant de monter l'app
router.isReady().then(() => {
app.mount('#app')
console.log('🚀 Application montée avec succès')
}).catch((error) => {
console.error('❌ Erreur lors du montage de l\'application:', error)
// Fallback: monter l'app même en cas d'erreur
app.mount('#app')
})