2025-05-21 22:13:09 +07:00
|
|
|
import { createApp } from 'vue';
|
|
|
|
import App from './App.vue';
|
|
|
|
import router from './router';
|
|
|
|
import { useAuth } from './auth'; // 1. Импортируем useAuth
|
2025-05-23 18:03:29 +07:00
|
|
|
import { VueHammer } from 'vue3-hammer';
|
|
|
|
import VueSwipe from 'vue-swipe';
|
2025-05-21 22:13:09 +07:00
|
|
|
|
|
|
|
// Импорт стилей Bootstrap
|
|
|
|
import 'bootstrap/dist/css/bootstrap.min.css';
|
|
|
|
|
|
|
|
// Создаем приложение
|
|
|
|
const app = createApp(App);
|
|
|
|
|
2025-05-23 18:03:29 +07:00
|
|
|
// Регистрируем библиотеки для улучшенного свайпа
|
|
|
|
app.use(VueHammer);
|
|
|
|
app.component('swipe', VueSwipe.Swipe);
|
|
|
|
app.component('swipe-item', VueSwipe.SwipeItem);
|
|
|
|
|
2025-05-21 22:13:09 +07:00
|
|
|
// Используем роутер
|
|
|
|
app.use(router);
|
|
|
|
|
|
|
|
// 2. Получаем экземпляр нашего auth "стора"
|
|
|
|
const { fetchUser } = useAuth();
|
|
|
|
|
|
|
|
// 3. Асинхронная самовызывающаяся функция для инициализации
|
|
|
|
(async () => {
|
|
|
|
try {
|
|
|
|
await fetchUser(); // Пытаемся загрузить пользователя по токену из localStorage
|
|
|
|
} catch (error) {
|
|
|
|
console.error("Ошибка при начальной загрузке пользователя в main.js:", error);
|
|
|
|
// Здесь можно ничего не делать, logout уже должен был быть вызван внутри fetchUser при ошибке
|
|
|
|
} finally {
|
|
|
|
// После того как fetchUser отработал (успешно или нет), монтируем приложение
|
|
|
|
app.mount('#app');
|
|
|
|
console.log('Приложение Vue смонтировано.');
|
|
|
|
}
|
|
|
|
})();
|