- Ajout du store userPreferencesStore (thème, vue, tri, pagination, lecteur) - Page UserPreferencesPage pour configurer toutes les préférences - Câblage des prefs dans HomePage (viewMode, sortBy, itemsPerPage), readerStore (fallback prefs), ChapterReader (autoHide, autoFullscreen, sync), useNotifications (toastDuration) - Thème sombre (dark: Tailwind) sur tous les composants Vue : Layout, Pagination, NotificationToast, MangaCard, MangaVolume, MangaDetails, AddManga, HomePage, ActivityPage, JobItem, MangaDeleteModal, MangaEditModal, MangaPreferredSourcesModal, ManageChaptersModal, MangaChapterList, MangaChapter, ConversionPage, FileUploadArea, ConversionProgress, NewImportPage, FileImportCard, MangaMatchCard, StatusBadge, ImportResults - i18n partiellement initialisé Jeremy Guillot
29 lines
783 B
JavaScript
29 lines
783 B
JavaScript
import { createApp } from 'vue';
|
|
import { createPinia } from 'pinia';
|
|
import App from './App.vue';
|
|
import { router } from './router';
|
|
import '../../styles/app.scss';
|
|
import { installVueQuery } from './shared/plugin/vueQuery';
|
|
import { i18n } from './shared/i18n';
|
|
import { useUserPreferencesStore } from './domain/setting/application/store/userPreferencesStore';
|
|
|
|
// Création du store
|
|
const pinia = createPinia();
|
|
|
|
// Création de l'application
|
|
const app = createApp(App);
|
|
|
|
// Installation des plugins
|
|
app.use(router);
|
|
app.use(pinia);
|
|
app.use(installVueQuery);
|
|
app.use(i18n);
|
|
|
|
// Appliquer le thème et la langue sauvegardés
|
|
const prefs = useUserPreferencesStore();
|
|
prefs.applyTheme();
|
|
i18n.global.locale.value = prefs.language;
|
|
|
|
// Montage de l'application
|
|
app.mount('#vue-app');
|