完善筛选功能 新增一言 完成关于页面 🐛 解决归档页的ssg问题

This commit is contained in:
li-chx
2025-10-06 03:44:54 +08:00
parent 1cefa4c661
commit 6c963257cf
9 changed files with 207 additions and 39 deletions
+12 -4
View File
@@ -4,15 +4,23 @@ import type { PostMetaData } from '~/types/PostMetaData';
import TimeLine from '~/pages/index/archive/components/TimeLine.vue';
import type { RadioGroupItem } from '@nuxt/ui';
const { data: srcPostsMetaData } = useAsyncData(async () => sortMetaData((await queryCollection('content').all()).map((x) => toMetaDataType(x)), 'published_at', true));
const srcPostsMetaData = ref<PostMetaData[]>([]);
const postsMetaData = ref<PostMetaData[]>([]);
const currentChoice = ref<'time' | 'category'>('time');
async function loadPostsMetaData() {
srcPostsMetaData.value = sortMetaData((await queryCollection('content').all()).map((x) => toMetaDataType(x)), 'published_at', true) || [];
srcPostsMetaData.value = srcPostsMetaData.value.filter((x) => !x.draft);
postsMetaData.value = srcPostsMetaData.value;
}
await loadPostsMetaData();
watch(srcPostsMetaData, () => {
postsMetaData.value = srcPostsMetaData.value?.filter((x) => !x.draft) || [];
postsMetaData.value = srcPostsMetaData.value || [];
});
const currentChoice = ref<'time' | 'category'>('time');
const choiceItems = ref<RadioGroupItem>([
{ label: '时间', value: 'time' },
{ label: '类别', value: 'category' },
@@ -21,7 +29,7 @@ const choiceItems = ref<RadioGroupItem>([
</script>
<template>
<div>
<div class="table w-full mt-6">
<div class="table w-full mt-6 mb-6">
<div class="sticky top-16 float-left bg-old-neutral-200 dark:bg-old-neutral-800 max-h-[calc(100vh-4rem)]">
<div class="relative duration-500 transition-all xl:w-80 w-0 mr-2/3 overflow-hidden">
<div class="w-80 top-0 left-0 text-gray-800 dark:text-white p-5">