<template>
  <div class="index-page w-full h-[100dvh] overflow-hidden bg-liner">
    <ChatMainList @showDrawer="showDrawer" />

    <!-- 日历组件 -->
    <Calender :visible="calendarVisible" mode="single" :default-value="selectedDate" @close="handleCalendarClose"
      @select="handleDateSelect" />

    <!-- 更多服务 -->
    <MoreService />

    <!-- 抽屉组件 -->
    <DrawerSection ref="drawerRef" @close="closeDrawer" />
  </div>
</template>

<script setup lang="ts">
import { ref, onUnmounted, onMounted } from "vue";
import { emitter } from '@/utils/events'

// import { getUrlParams } from "@/utils/UrlParams";
// import { checkToken } from "@/hooks/useGoLogin";
import ChatMainList from "./components/ChatMainList/index.vue";
import MoreService from "./components/MoreService/index.vue";
import DrawerSection from "./components/DrawerSection/index.vue";
import Calender from "@/components/Calender/index.vue";

const calendarVisible = ref(false);
const selectedDate = ref("");

// 处理日历关闭
const handleCalendarClose = () => {
  calendarVisible.value = false;
};

// 处理日期选择
const handleDateSelect = (data: any) => {
  selectedDate.value = data.date;
  calendarVisible.value = false;
  console.log("选择的日期:", data.date);
  emitter.emit("selectCalendarDate", selectedDate.value); // 传回父组件
};

const openCalendar = () => {
  calendarVisible.value = true;
};

// 打开窗口
const drawerRef = ref();
const showDrawer = async () => {
  // await checkToken();

  drawerRef.value.open();
};
// 关闭窗口
const closeDrawer = () => drawerRef.value.close();


onMounted(() => {
  emitter.on("openCalendar", openCalendar);
  emitter.on("SHOW_DRAWER", showDrawer);
});

onUnmounted(() => {
  emitter.off("openCalendar", openCalendar);
  emitter.off("SHOW_DRAWER", showDrawer);
});
</script>

<style lang="scss" scoped>
.index-page {
  position: relative;
  min-height: 0;
  overscroll-behavior: none;
}

.top {
  margin-top: 150px;
}
</style>
