import { createRouter, createWebHistory } from "vue-router";
import Layout from "../layout/Index.vue";
import NotFound from "../views/error/404.vue";
import LoginLayout from "../layout/LoginLayout.vue";
import ActivityLayout from "../layout/activity/Index.vue";
import ChatLayout from "../layout/ChatLayout.vue"
const router = createRouter({
  history: createWebHistory(import.meta.env.BASE_URL),
  scrollBehavior(to, from, savedPosition) {
    // 始终滚动到顶部
    return { top: 0 };
  },
  routes: [
    {
      name: "test",
      path: "/test",
      component: () => import("../views/Test.vue"),
    },
    {
      path: "/loginLayout",
      name: "loginLayout",
      component: LoginLayout,
      redirect: "/login",
      children: [
        {
          name: "login",
          path: "/login",
          // component: () => import("../views/Login.vue"),
          component: () => import("../views/login/login.vue"),
        },
        {
          name: "register",
          path: "/register",
          component: () => import("../views/login/register.vue"),
        },
        {
          name: "forgotPassword",
          path: "/forgotPassword",
          component: () => import("../views/login/forgotPassword.vue"),
        },
        {
          name: "auth",
          path: "/auth/:type",
          component: () => import("../views/Auth/index.vue"),
          meta: {
            title: "授权",
          },
        },
      ],
    },
    {
      path: "/",
      name: "layout",
      component: Layout,
      redirect: "/index",
      children: [
        {
          name: "index",
          path: "/index",
          component: () => import("../views/home/Index.vue"),
          meta: {
            title: "首页",
          },
        },
        {
          name: "start",
          path: "/start",
          component: () => import("../views/start/Index.vue"),
          meta: {
            title: "开始",
          },
        },
        {
          name: "article",
          path: "/article/:discussId/:articleId?",
          component: () => import("../views/Article.vue"),
        },
        {
          name: "discuss",
          path: "/discuss/:plateId?/:isPublish?",
          component: () => import("../views/discuss/index.vue"),
          meta: {
            title: "板块",
          },
        },
        {
          //artType：discuss主题、article文章
          //operType：create创建、update更新
          name: "editArt",
          path: "/editArt",
          component: () => import("../views/EditArticle.vue"),
        },
        {
          name: "profile",
          path: "/profile/:userName",
          component: () => import("../views/profile/Index.vue"),
        },
        {
          name: "themeCover",
          path: "/article/:discussId",
          component: () => import("../views/Article.vue"),
          meta: {
            title: "主题封面",
          },
        },
        {
          name: "contact",
          path: "/contact",
          component: () => import("../views/contact/index.vue"),
          meta: {
            title: "联系我们",
          },
        },

        {
          name:"money",
          path:"/money",
          component: () => import("../views/money/Index.vue"),
          meta: {
            title: "钱钱",
          },
        },
      ],
    },
    {
      path: "/activity",
      name: "activityLayout",
      component: ActivityLayout,
      redirect: "/activity/sign",
      children: [
        {
          name: "sign",
          path: "sign",
          component: () => import("../views/signIn/Index.vue"),
          meta: {
            title: "每日签到",
          },
        },

        {
          name: "level",
          path: "level",
          component: () => import("../views/level/Index.vue"),
          meta: {
            title: "等级",
          },
        },
        {
          name: "lucky",
          path: "lucky",
          component: () => import("../views/lucky/Index.vue"),
          meta: {
            title: "大转盘",
          },
        },
        {
          name: "bank",
          path: "bank",
          component: () => import("../views/bank/Index.vue"),
          meta: {
            title: "银行",
          },
        },
        {
          name: "assignment",
          path: "assignment",
          component: () => import("../views/assignment/Index.vue"),
          meta: {
            title: "任务",
          },
        },
      ],
    },

    {
      path: "/hub",
      name: "hub",
      component: ChatLayout,
      redirect: "/chat",
      children: [
        {
          name: "main",
          path: "/chat",
          component: () => import("../views/chathub/Index.vue"),
          meta: {
            title: "聊天室",
          },
        }
      ],
    },

    { path: "/:pathMatch(.*)*", name: "NotFound", component: NotFound },
  ],
});

export default router;
