mirror of
https://github.com/quepasaevents/qpa-client.git
synced 2023-12-14 05:33:02 +01:00
67 lines
2.6 KiB
TypeScript
67 lines
2.6 KiB
TypeScript
import { Spinner } from "qpa-components"
|
|
import * as React from "react"
|
|
import {useAppContext} from "../App/Context/AppContext"
|
|
import removeTypename from "../App/remove-typename"
|
|
import EditEventMutation from "./EditEventMutation"
|
|
import EventForm from "./EventForm"
|
|
import GetEventQuery from "./GetEventQuery"
|
|
|
|
interface Props {
|
|
eventId: string
|
|
}
|
|
|
|
const EditEvent = (props: Props) => {
|
|
const { supportedLanguages } = useAppContext()
|
|
|
|
return (
|
|
<EditEventMutation onCompleted={() => {
|
|
alert("Event edited successfully")
|
|
}}>
|
|
{
|
|
(editEvent, { loading: editLoading }) => (
|
|
<GetEventQuery skip={!props.eventId} variables={{id: props.eventId}}>
|
|
{
|
|
({data, error, loading}) => {
|
|
if (loading) {
|
|
return <Spinner />
|
|
}
|
|
if (error) {
|
|
return error.message
|
|
}
|
|
const event = removeTypename(data.event)
|
|
|
|
return (
|
|
<EventForm
|
|
loading={editLoading}
|
|
languages={supportedLanguages}
|
|
onSubmit={(values) => {
|
|
editEvent({
|
|
variables: {
|
|
input: {
|
|
id: props.eventId,
|
|
...values,
|
|
},
|
|
},
|
|
})
|
|
}}
|
|
values={{
|
|
meta: {
|
|
tags: event.meta.tags,
|
|
},
|
|
time: event.time,
|
|
location: event.location,
|
|
infos: event.infos,
|
|
status: event.status,
|
|
}}/>
|
|
)
|
|
}
|
|
}
|
|
</GetEventQuery>
|
|
)
|
|
}
|
|
</EditEventMutation>
|
|
)
|
|
|
|
}
|
|
|
|
export default EditEvent
|