import React from "react" import Link from "next/link" import { cn } from "@/lib/utils" import { PersonalPage } from "@/lib/schema" import { Badge } from "@/components/ui/badge" import { useMedia } from "@/hooks/use-media" import { useColumnStyles } from "../hooks/use-column-styles" import { format } from "date-fns" import { Column } from "@/components/custom/column" import { useRouter } from "next/navigation" interface PageItemProps extends React.HTMLAttributes { page: PersonalPage isActive: boolean } export const PageItem = React.forwardRef(({ page, isActive, ...props }, ref) => { const isTablet = useMedia("(max-width: 640px)") const columnStyles = useColumnStyles() const router = useRouter() const handleKeyDown = React.useCallback( (ev: React.KeyboardEvent) => { if (ev.key === "Enter") { ev.preventDefault() ev.stopPropagation() router.push(`/pages/${page.id}`) } }, [router, page.id] ) return (
{page.title || "Untitled"} {!isTablet && ( {page.topic && {page.topic.prettyName}} )} {format(new Date(page.updatedAt), "d MMM yyyy")}
) }) PageItem.displayName = "PageItem"