import { createApp } from 'vue';
import App from './App.vue';
import i18n from './i18n';
import router from './router'; // 引入路由
import { initTheme, switchTheme, ThemeTypes } from '@/utils/theme';
import ElementPlus from 'element-plus';
import 'element-plus/dist/index.css';
// 导入所有Element Plus图标
import * as ElementPlusIconsVue from '@element-plus/icons-vue';

// 初始化主题
const initialTheme = initTheme();

const app = createApp(App);

// 全局注册所有Element Plus图标
for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
  app.component(key, component);
}

// 提供全局主题控制
app.provide('theme', {
  currentTheme: initialTheme,
  switchTheme,
  ThemeTypes
});

// 提供认证相关方法，添加路由跳转
app.provide('login', (formData) => {
  console.log('登录数据:', formData);
  // 模拟登录成功
  localStorage.setItem('isLoggedIn', 'true');
  localStorage.setItem('username', formData.username);
  // 跳转到主页面
  router.push('/main');
});

app.provide('register', (formData) => {
  console.log('注册数据:', formData);
  // 模拟注册成功后自动登录
  localStorage.setItem('isLoggedIn', 'true');
  localStorage.setItem('username', formData.username);
  // 跳转到主页面
  router.push('/main');
});

// 使用路由
app.use(router)
   .use(i18n)
   .use(ElementPlus)
   .mount('#app');
