2022-10-15 13:28:36 +00:00
|
|
|
---
|
2023-04-22 20:57:02 +00:00
|
|
|
import Markdown from "../Markdown.astro";
|
|
|
|
|
2022-10-15 13:28:36 +00:00
|
|
|
interface Event {
|
2023-01-08 19:25:23 +00:00
|
|
|
date: string;
|
|
|
|
location: string;
|
|
|
|
name: string;
|
|
|
|
online?: boolean;
|
|
|
|
time: string;
|
|
|
|
url?: string;
|
2022-10-15 13:28:36 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
interface Props {
|
2023-01-08 19:25:23 +00:00
|
|
|
events: Event[];
|
2022-10-15 13:28:36 +00:00
|
|
|
}
|
|
|
|
|
2023-01-08 19:25:23 +00:00
|
|
|
const { events } = Astro.props;
|
2022-10-15 13:28:36 +00:00
|
|
|
---
|
|
|
|
|
2023-01-08 19:25:23 +00:00
|
|
|
{
|
|
|
|
events && (
|
2023-04-22 20:57:02 +00:00
|
|
|
<Markdown>
|
2023-01-08 19:25:23 +00:00
|
|
|
<h2>Events</h2>
|
2022-10-15 13:28:36 +00:00
|
|
|
|
2023-01-08 19:25:23 +00:00
|
|
|
<div>
|
2023-04-22 20:57:02 +00:00
|
|
|
<ul>
|
2023-01-08 19:25:23 +00:00
|
|
|
{events.map((event) => (
|
|
|
|
<li>
|
|
|
|
{event.url ? (
|
2023-04-22 20:57:02 +00:00
|
|
|
<a class="inline-block" href={event.url}>
|
2023-01-08 19:25:23 +00:00
|
|
|
{event.name}
|
|
|
|
</a>
|
|
|
|
) : (
|
|
|
|
event.name
|
2023-04-25 00:09:10 +00:00
|
|
|
)}
|
2023-01-31 00:17:09 +00:00
|
|
|
{event.location && `in ${event.location} -`}
|
2023-01-08 19:25:23 +00:00
|
|
|
{new Date(event.date).toLocaleDateString("en-GB", {
|
|
|
|
day: "numeric",
|
|
|
|
month: "long",
|
|
|
|
year: "numeric",
|
|
|
|
})}
|
|
|
|
{event.online && "(online)"}
|
|
|
|
</li>
|
|
|
|
))}
|
|
|
|
</ul>
|
|
|
|
</div>
|
2023-04-22 20:57:02 +00:00
|
|
|
</Markdown>
|
2023-01-08 19:25:23 +00:00
|
|
|
)
|
|
|
|
}
|