Files
wiki/src/components/EditPost.astro

35 lines
907 B
Plaintext

---
import type { CollectionEntry } from "astro:content";
import IconEdit from "@/assets/icons/IconEdit.svg";
import { SITE } from "@/config";
type Props = {
hideEditPost?: CollectionEntry<"blog" | "events" | "workshops" | "news" | "technical">["data"]["hideEditPost"];
class?: string;
post: CollectionEntry<"blog" | "events" | "workshops" | "news" | "technical">;
};
const { hideEditPost, post, class: className = "" } = Astro.props;
const href = `${SITE.editPost.url}${post.filePath}`;
const showEditPost =
SITE.editPost.enabled && !hideEditPost && href.trim() !== "";
---
{
showEditPost && (
<a
href={href}
target="_blank"
rel="noopener noreferrer"
class:list={[
"flex justify-baseline gap-1.5 opacity-80 hover:text-accent",
className,
]}
>
<IconEdit class="inline-block" />
<span>{SITE.editPost.text}</span>
</a>
)
}