1
Fork 0
mirror of https://github.com/Steffo99/festa.git synced 2024-10-16 23:17:26 +00:00
festa/components/events/actions/edit.tsx

46 lines
1.3 KiB
TypeScript
Raw Normal View History

2022-07-19 18:25:11 +00:00
import { Event } from "@prisma/client"
2022-07-20 10:54:59 +00:00
import { useCallback, useMemo } from "react"
2022-07-19 18:25:11 +00:00
import { KeyedMutator } from "swr"
import { ViewContent } from "../../generic/views/content"
export type EventsActionViewProps = {
data: Event,
mutate: KeyedMutator<Event>,
}
export const EventsActionEdit = ({ data, mutate }: EventsActionViewProps) => {
2022-07-19 18:32:13 +00:00
const name = data.name
const description = data.description
2022-07-19 18:25:11 +00:00
return (
<ViewContent
title={
useMemo(
() => (
<input
type="text"
2022-07-19 18:32:13 +00:00
value={name}
2022-07-20 10:54:59 +00:00
onChange={e => mutate((prev) => ({ ...prev!, name: e.target.value }), { revalidate: false })}
2022-07-19 18:25:11 +00:00
/>
),
2022-07-19 18:32:13 +00:00
[mutate, name]
2022-07-19 18:25:11 +00:00
)
}
content={<>
{useMemo(
() => (
<textarea
rows={12}
2022-07-19 18:32:13 +00:00
value={description}
2022-07-20 10:54:59 +00:00
onChange={e => mutate((prev) => ({ ...prev!, description: e.target.value }), { revalidate: false })}
2022-07-19 18:25:11 +00:00
/>
),
2022-07-19 18:32:13 +00:00
[mutate, description]
2022-07-19 18:25:11 +00:00
)}
</>}
/>
)
}