1
mirror of https://github.com/jakejarvis/jarv.is.git synced 2026-06-19 11:55:30 -04:00

fix: don't pre-render view and comment count components

- Introduced a new PostStats component to handle view and comment counts, replacing the previous async implementation with a client-side approach.
- Updated CommentCount component to use client-side state management for fetching comment counts.
- Removed unnecessary caching logic from view and comment fetching functions.
- Simplified date formatting by moving it inline, enhancing performance and readability.
This commit is contained in:
2026-01-28 13:35:16 -05:00
parent 29487e6d5f
commit 5fc9efb181
22 changed files with 297 additions and 532 deletions
+2 -3
View File
@@ -1,8 +1,7 @@
import { codeToHtml } from "shiki";
import { cacheLife } from "next/cache";
import reactToText from "react-to-text";
import CopyButton from "@/components/copy-button";
import { cn } from "@/lib/utils";
import { cn, getTextContent } from "@/lib/utils";
interface CodeBlockProps extends React.ComponentProps<"pre"> {
showLineNumbers?: boolean;
@@ -29,7 +28,7 @@ const CodeBlock = async ({ children, className, showLineNumbers = true, ...props
}
const codeProps = children.props as React.ComponentProps<"code">;
const codeString = reactToText(codeProps.children).trim();
const codeString = getTextContent(codeProps.children).trim();
const lang = codeProps.className?.split("language-")[1] ?? "text";
const html = await renderCode(codeString, lang);