import { createWebHistory, createRouter } from "vue-router";
import routes from "./routes";
import { useApiStore } from "../stores/api";
import { usePageStore } from "../stores/page";
import { getActivePinia } from "pinia";

const router = createRouter({
  history: createWebHistory(),
  routes,
});

router.beforeEach(async (to, from, next) => {
  const pinia = getActivePinia();
  const api = useApiStore(pinia);
  const page = usePageStore(pinia);

  try {
    const res = await api.fetchPageData(to.path);

    page.page = res;
    next();
  } catch (error) {
    console.error(error);
    next(false);
  }
});

export { router };
