import { defineComponent, h, computed, ref } from "@vue/runtime-core";
import startPage from "./page/startPage";
import gamePage from "./page/gamePage";
import endPage from "./page/endPage";

// template -> render()
export default defineComponent({
  setup() {
    // 创建一个响应式数据对象
    // 值类型 string number
    // const currentPageName = ref('startPage')
    const currentPageName = ref("gamePage");
    // const currentPageName = ref('endPage')
    // console.log(currentPageName)
    // 计算属性
    const currentPage = computed(() => {
      if (currentPageName.value === "startPage") {
        return startPage;
      } else if (currentPageName.value === "gamePage") {
        return gamePage;
      } else if (currentPageName.value === "endPage") {
        return endPage;
      }
    });

    return {
      currentPageName,
      currentPage,
    };
  },
  render(ctx) {
    // console.log('---ctx---')
    // console.log(ctx)
    return h("Container", [
      h(ctx.currentPage, {
        onChangePage(page) {
          // console.log(page)
          ctx.currentPageName = page;
        },
      }),
    ]);
    // return h("Container", [h(gamePage)]);
  },
});