From 43f8b2d218030644a33f4b88a12c9ed33dc11593 Mon Sep 17 00:00:00 2001 From: Aarni Halinen Date: Sat, 22 Feb 2020 18:53:25 +0200 Subject: [PATCH] Add Signup buttons on Event page --- .eslintrc.json | 1 + src/components/Card/Card.tsx | 3 +-- src/models/Event.ts | 3 +++ src/models/SignupForm.ts | 1 - src/pages/ContactsPage/ContactsPage.tsx | 2 +- src/pages/EventPage/EventPage.tsx | 23 ++++++++++++++++++++++- 6 files changed, 28 insertions(+), 5 deletions(-) diff --git a/.eslintrc.json b/.eslintrc.json index 30d2014..5e257a7 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -70,6 +70,7 @@ "import/no-extraneous-dependencies": "off", "import/newline-after-import": "off", "import/prefer-default-export": "off", + "indent": ["error", 2], "jsx-a11y/anchor-is-valid": "off", "jsx-a11y/alt-text": "off", "jsx-a11y/click-events-have-key-events": "off", diff --git a/src/components/Card/Card.tsx b/src/components/Card/Card.tsx index d64f578..fa33154 100644 --- a/src/components/Card/Card.tsx +++ b/src/components/Card/Card.tsx @@ -1,5 +1,4 @@ import * as React from "react"; -import Button, { ButtonType } from "../Button/Button"; import "./Card.scss"; import Anchor from "../Anchor"; @@ -25,7 +24,7 @@ class Card extends React.Component { }; const datetime = new Date(this.props.start_time).toLocaleString("fi-FI", options); - const imageElem = !!image ? ( + const imageElem = image ? (
) : null; if (link) { diff --git a/src/models/Event.ts b/src/models/Event.ts index 638ef80..30244f8 100644 --- a/src/models/Event.ts +++ b/src/models/Event.ts @@ -2,6 +2,7 @@ import axios from "axios"; import { getAuthHeader } from "../auth"; import { Tag } from "./Tag"; import * as qs from "query-string"; +import { SignupForm } from "./SignupForm"; const url = `${process.env.API_URL}/events/`; export interface Event { @@ -17,6 +18,8 @@ export interface Event { tags: Tag[]; tag_id: number[]; visible: boolean; + signup_id: number[]; + signupForm: SignupForm[]; } export async function getEvents(options: any = {}): Promise { diff --git a/src/models/SignupForm.ts b/src/models/SignupForm.ts index 681b7ee..7f8eb3b 100644 --- a/src/models/SignupForm.ts +++ b/src/models/SignupForm.ts @@ -10,7 +10,6 @@ export interface SignupForm { start_time: string; end_time: string; questions: string; - visible: boolean; } export async function getForms(): Promise { diff --git a/src/pages/ContactsPage/ContactsPage.tsx b/src/pages/ContactsPage/ContactsPage.tsx index e344645..673504e 100644 --- a/src/pages/ContactsPage/ContactsPage.tsx +++ b/src/pages/ContactsPage/ContactsPage.tsx @@ -96,7 +96,7 @@ class ContactsPage extends React.Component className={`${getColor(ColorEnum.Blue)} ${getHoverColor(ColorEnum.LightBlue)}`} to="mailto:sik-hallitus@list.ayy.fi"> sik-hallitus@list.ayy.fi - +

diff --git a/src/pages/EventPage/EventPage.tsx b/src/pages/EventPage/EventPage.tsx index cc602f5..4f97e32 100644 --- a/src/pages/EventPage/EventPage.tsx +++ b/src/pages/EventPage/EventPage.tsx @@ -3,6 +3,9 @@ import Helmet from "react-helmet"; import "./EventPage.scss"; import { Event, getEvent } from "../../models/Event"; import { RouteComponentProps } from "react-router-dom"; +import Button, { ButtonType } from "../../components/Button"; +import Anchor from "../../components/Anchor"; + interface MatchParams { id: string; } @@ -45,7 +48,25 @@ class EventPage extends React.Component { - {event.title_fi} + {event.title_fi} +

{event.title_fi}

+

+ {event.description_fi} +

+

+ {event.content_fi} +

+ {/* We may have multiple signup forms. Generate own Button for each one */} +
+ {event.signupForm.map(sf => ( + + + + ) + )} +
); }