improve 'featured' card to be clickable, not just Read more, also resolves hydration (#7)

Co-authored-by: Xuan <liuxuan30@noreply.github.com>
This commit is contained in:
Xuan 2023-05-01 18:49:14 +08:00 committed by GitHub
parent a54e382283
commit 5737d2504f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -55,45 +55,44 @@ export default async function ProjectsPage() {
<div className="grid grid-cols-1 gap-8 mx-auto lg:grid-cols-2 "> <div className="grid grid-cols-1 gap-8 mx-auto lg:grid-cols-2 ">
<Card> <Card>
<article className="relative h-full w-full p-4 md:p-8"> <Link href={`/projects/${featured.slug}`}>
<div className="flex justify-between gap-2 items-center"> <article className="relative h-full w-full p-4 md:p-8">
<div className="text-xs text-zinc-100"> <div className="flex justify-between gap-2 items-center">
{featured.date ? ( <div className="text-xs text-zinc-100">
<time dateTime={new Date(featured.date).toISOString()}> {featured.date ? (
{Intl.DateTimeFormat(undefined, { <time dateTime={new Date(featured.date).toISOString()}>
dateStyle: "medium", {Intl.DateTimeFormat(undefined, {
}).format(new Date(featured.date))} dateStyle: "medium",
</time> }).format(new Date(featured.date))}
) : ( </time>
<span>SOON</span> ) : (
)} <span>SOON</span>
)}
</div>
<span className="text-zinc-500 text-xs flex items-center gap-1">
<Eye className="w-4 h-4" />{" "}
{Intl.NumberFormat("en-US", { notation: "compact" }).format(
views[featured.slug] ?? 0,
)}
</span>
</div> </div>
<span className="text-zinc-500 text-xs flex items-center gap-1">
<Eye className="w-4 h-4" />{" "}
{Intl.NumberFormat("en-US", { notation: "compact" }).format(
views[featured.slug] ?? 0,
)}
</span>
</div>
<h2 <h2
id="featured-post" id="featured-post"
className="mt-4 text-3xl font-bold text-zinc-100 group-hover:text-white sm:text-4xl font-display" className="mt-4 text-3xl font-bold text-zinc-100 group-hover:text-white sm:text-4xl font-display"
>
{featured.title}
</h2>
<p className="mt-4 leading-8 duration-150 text-zinc-400 group-hover:text-zinc-300">
{featured.description}
</p>
<div className="absolute bottom-4 md:bottom-8">
<Link
className="text-zinc-200 hover:text-zinc-50 hidden lg:block"
href={`/projects/${featured.slug}`}
> >
Read more <span aria-hidden="true">&rarr;</span> {featured.title}
</Link> </h2>
</div> <p className="mt-4 leading-8 duration-150 text-zinc-400 group-hover:text-zinc-300">
</article> {featured.description}
</p>
<div className="absolute bottom-4 md:bottom-8">
<p className="text-zinc-200 hover:text-zinc-50 hidden lg:block">
Read more <span aria-hidden="true">&rarr;</span>
</p>
</div>
</article>
</Link>
</Card> </Card>
<div className="flex flex-col w-full gap-8 mx-auto border-t border-gray-900/10 lg:mx-0 lg:border-t-0 "> <div className="flex flex-col w-full gap-8 mx-auto border-t border-gray-900/10 lg:mx-0 lg:border-t-0 ">