import { createApp } from 'vue';
import App from './App.vue';
import router from './router';
import { useAuth } from './auth'; // 1. Импортируем useAuth

// Импорт стилей Bootstrap
import 'bootstrap/dist/css/bootstrap.min.css';

// Создаем приложение
const app = createApp(App);

// Используем роутер
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 смонтировано.');
  }
})();