flotilla/src/app/components/CalendarEventEdit.svelte
2026-07-29 15:52:13 -07:00

40 lines
1.2 KiB
Svelte

<script lang="ts">
import type {TrustedEvent} from "@welshman/util"
import {TimeEvent} from "@welshman/domain"
import ModalHeader from "@lib/components/ModalHeader.svelte"
import ModalTitle from "@lib/components/ModalTitle.svelte"
import ModalSubtitle from "@lib/components/ModalSubtitle.svelte"
import {reader} from "@app/core"
import CalendarEventForm from "@app/components/CalendarEventForm.svelte"
type Props = {
url: string
event: TrustedEvent
}
const {url, event}: Props = $props()
const timeEvent = reader(TimeEvent)(event)
const initialValues = $derived(
timeEvent && {
d: timeEvent.identifier() ?? "",
title: timeEvent.title() ?? "",
location: timeEvent.location() ?? "",
start: timeEvent.start(),
end: timeEvent.end(),
content: timeEvent.content(),
},
)
</script>
{#if initialValues}
<CalendarEventForm {url} {initialValues}>
{#snippet header()}
<ModalHeader>
<ModalTitle>Edit this Event</ModalTitle>
<ModalSubtitle>Invite other room members to events online or in real life.</ModalSubtitle>
</ModalHeader>
{/snippet}
</CalendarEventForm>
{/if}