From dc287d1360a9a6f60a481244b64b16e14c1bf679 Mon Sep 17 00:00:00 2001 From: Aarni Halinen Date: Wed, 22 Jul 2020 19:09:31 +0300 Subject: [PATCH] Allow upload of image for events via Admin --- src/models/Event.ts | 1 + src/pages/admin/EventCreatePage.tsx | 22 ++++++++++++++++------ src/views/EventPage/EventPageView.tsx | 2 +- src/views/FrontPage/FrontPageView.tsx | 2 +- 4 files changed, 19 insertions(+), 8 deletions(-) diff --git a/src/models/Event.ts b/src/models/Event.ts index 11e4689..81e9bd8 100644 --- a/src/models/Event.ts +++ b/src/models/Event.ts @@ -15,6 +15,7 @@ export interface Event { content_en: string; start_time: string; end_time: string; + image: string; tags: Tag[]; tag_id?: number[]; visible: boolean; diff --git a/src/pages/admin/EventCreatePage.tsx b/src/pages/admin/EventCreatePage.tsx index b18ca86..8376577 100644 --- a/src/pages/admin/EventCreatePage.tsx +++ b/src/pages/admin/EventCreatePage.tsx @@ -105,6 +105,7 @@ class EventCreatePage extends React.Component form.id), - enumNames: signupForm.map(form => form.title), + // TODO: A bug here, DB must have at least one SignupForm, otherwise cannot submit + enum: [...signupForm.map(form => form.id)], + enumNames: [...signupForm.map(form => form.title)], }, uniqueItems: true, - default: [], + }, + image: { + "type": ["string", "null"], + "format": formData.image ? "uri-reference" : "data-url", + "title": "Override tag icon with image" }, finnish_section_divider: { title: "Finnish", @@ -263,6 +268,11 @@ class EventCreatePage extends React.Component { - {event.title_fi} + {event.title_fi}

{event.title_fi}

{event.description_fi} diff --git a/src/views/FrontPage/FrontPageView.tsx b/src/views/FrontPage/FrontPageView.tsx index c81769f..5ef7f0d 100644 --- a/src/views/FrontPage/FrontPageView.tsx +++ b/src/views/FrontPage/FrontPageView.tsx @@ -72,7 +72,7 @@ const FrontPageView: React.FC = ({ events, feed }) => ( start_time={event.start_time} text={event.description_fi} link={`/events/${event.id}`} - image={event.tags[0].icon} + image={event.image || event.tags[0].icon} button={