refactor(talks): extract talk components

This commit is contained in:
Oliver Davies 2022-10-15 14:28:36 +01:00
parent d34d3415c1
commit ad3c9171f7
4 changed files with 98 additions and 59 deletions

View file

@ -0,0 +1,42 @@
---
interface Event {
date: string
location: string
name: string
online?: boolean
time: string
url?: string
}
interface Props {
events: Event[]
}
const { events } = Astro.props
---
{events && (
<div>
<h2>Events</h2>
<div>
<ul class="ml-4 list-disc">
{events.map((event) => (
<li>
{event.url ? (<a class="link" href={event.url}>{event.name}</a>) : event.name}
{event.location && `in ${event.location}`}
- {new Date(event.date).toLocaleDateString('en-GB', {
day: 'numeric',
month: 'long',
year: 'numeric',
})}
{event.online && '(online)'}
</li>
))}
</ul>
</div>
</div>
)}