Files
max-richter.dev/src/components/SmallCard.astro
Max Richter 7c331406a5
Some checks failed
Deploy to SFTP Server / build (push) Has been cancelled
feat: add links to tags
2024-04-07 02:45:06 +02:00

51 lines
1.2 KiB
Plaintext

---
import markdownToText from "@helpers/markdownToText";
import { useTranslatedPath } from "@i18n/utils";
const tp = useTranslatedPath(Astro.url);
interface Props {
post: {
data: {
title: string;
description?: string;
icon?: string;
tags?: string[];
};
collection: string;
body: string;
slug: string;
};
}
const { post } = Astro.props;
---
<div class="rounded-diag-md border border-neutral p-4 overflow-hidden">
<a href={tp(`/${post.collection}/${post.slug.split("/")[0]}`)}>
<h2
class="text-2xl flex gap-2 items-center line-clamp text-ellipsis overflow-hidden"
>
{post.data.icon && <img src={post.data.icon} class="h-6" />}
{post.data.title}
</h2>
<p class="text-ellipsis overflow-hidden line-clamp-2">
{post.data.description || markdownToText(post.body).slice(0, 200)}
</p>
</a>
{
post.data.tags && (
<div class="flex gap-2 mt-2">
{post.data.tags.map((tag) => (
<a
href={tp(`/tag/${tag}`)}
class="text-xs border border-neutral p-2 rounded-md"
>
{tag}
</a>
))}
</div>
)
}
</div>