import { addHistory, clearHistory, fetchHistory } from '@/api/history';
import { hotSearch } from '@/api/home';
import type { HotSearch } from '@/api/types/hotSearch';
import { ref } from 'vue';

// 从服务器接受的列表内容
const list = ref<HotSearch[]>([]);
// 历史列表
const history = ref<string[]>([]);
initialHistory();

async function useFetchRecommon() {
  const { data } = await hotSearch();
  list.value = data.data;
}

// 初始化历史
async function initialHistory() {
  // 屏蔽从storage获取记录的方式
  // const historyStr = localStorage.getItem('history')
  // if (historyStr) {
  //     history.value = new Set(JSON.parse(historyStr))
  // } else {
  //     history.value = new Set()
  // }

  const { data } = await fetchHistory();
  console.log(data);

  data.data.forEach((item: { id: number; keyword: string }) => {
    history.value.push(item.keyword);
  });
}

// 保存历史
async function saveSearchHistory(val: string) {
  // 屏蔽从storage获取记录的方式
  //   if (!history.value) {
  //     history.value = new Set();
  //   }
  //   history.value.add(val);
  //   localStorage.setItem('history', JSON.stringify(Array.from(history.value)));
  addHistory(val);
}

async function delHistory() {
  await clearHistory();
}
export { useFetchRecommon, list, saveSearchHistory, history, delHistory,initialHistory };
