feature - updated fetching of blogs

This commit is contained in:
James Wyndham 2024-03-25 15:40:10 +08:00
parent 187ce1b57f
commit 4b26a6caee
3 changed files with 10 additions and 5 deletions

View File

@ -1,11 +1,13 @@
import BlogContent from "@/sections/BlogContent"; import BlogContent from "@/sections/BlogContent";
import getPostMetadata from "@/utils/getPostMetaData"; import getPostMetadata from "@/utils/getPostMetaData";
import { headers } from "next/headers"; import { cookies, headers } from "next/headers";
import React from "react"; import React from "react";
import Spacer from "@/components/Utilities/Spacer"; import Spacer from "@/components/Utilities/Spacer";
import pb from "@/lib/pocketbase"; import pb from "@/lib/pocketbase";
import Footer from "@/components/Footer"; import Footer from "@/components/Footer";
import Background from "@/components/Utilities/Background"; import Background from "@/components/Utilities/Background";
import { getUserFromCookie } from "@/lib/auth";
import { User } from "@/types";
export async function generateMetadata({ export async function generateMetadata({
params, params,
@ -32,16 +34,18 @@ export async function generateMetadata({
export const generateStaticParams = async () => { export const generateStaticParams = async () => {
const posts = await getPostMetadata(); const posts = await getPostMetadata();
return posts.map((post) => ({ console.log("static posts", posts.length);
const mappedPosts = posts.map((post) => ({
slug: post.slug, slug: post.slug,
id: post.id,
})); }));
return mappedPosts;
}; };
const PostPage = async (props: any) => { const PostPage = async (props: any) => {
console.log("params", props.params);
const post = await pb const post = await pb
.collection("blog") .collection("blog")
.getFirstListItem(`slug="${props.params.slug}"`, { .getFirstListItem(`slug="` + props.params.slug + `"`, {
requestKey: "post", requestKey: "post",
}); });
return ( return (

View File

@ -8,6 +8,7 @@ import Footer from "@/components/Footer";
export default async function BlogsPage() { export default async function BlogsPage() {
const postMetadata = await getPostMetadata(); const postMetadata = await getPostMetadata();
console.log("blogs", postMetadata.length);
const postPreviews = postMetadata const postPreviews = postMetadata
.sort((a, b) => new Date(b.date).getTime() - new Date(a.date).getTime()) .sort((a, b) => new Date(b.date).getTime() - new Date(a.date).getTime())
.map((post) => <BlogCard key={post.slug} {...(post as any)} />); .map((post) => <BlogCard key={post.slug} {...(post as any)} />);

View File

@ -2,7 +2,7 @@ import pb from '@/lib/pocketbase';
const getPostMetadata = async () => { const getPostMetadata = async () => {
try { try {
return (await (pb.collection("blog").getList(1, 50))).items return (await (pb.collection("blog").getFullList({requestKey:'blogs'})))
} catch (error) { } catch (error) {
return [] return []
} }