import { useCallback } from "react" import { Alert, AlertDescription, AlertTitle, } from "@/components/ui/alert"; import { AlertCircle } from "lucide-react"; import { base62 } from "@/lib/utils"; import { BlogAPI } from "@/lib/api/server"; export default async function Blog() { const formatNumber = useCallback((num: number) => { if (num >= 1000) { return (num / 1000).toFixed(1) + 'K'; } else if (num >= 1000000) { return (num / 1000000).toFixed(1) + 'M'; } return num.toString(); }, []); let errorMsg = ''; const blogs = await BlogAPI.list().catch(e => { errorMsg = `${e}`; return null }); return (
{ errorMsg && ( 出错啦 {errorMsg} ) } { blogs && blogs.map((blog) => (
{blog.title}

{blog.description}

{new Date(blog.createdAt).toLocaleString()} · {formatNumber(blog.viewCount)} 次访问

)) }
) }