From 12615f9e21a81f062ae20a20c176beff8d4dad6f Mon Sep 17 00:00:00 2001 From: Anders Karlsen Date: Wed, 18 Jul 2018 10:28:03 +0200 Subject: [PATCH 1/2] Added a link to workshop registration from workshop detail view in program --- app/pages/Program/ProgramDetails.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/app/pages/Program/ProgramDetails.js b/app/pages/Program/ProgramDetails.js index 81891a2..be8422b 100644 --- a/app/pages/Program/ProgramDetails.js +++ b/app/pages/Program/ProgramDetails.js @@ -8,6 +8,7 @@ import Page from '../../components/Page/Page.js'; import Loader from '../../components/Loader/Loader.js'; import { Section } from '../../components/Section/Section.js'; import PageHeader from '../../components/PageHeader/PageHeader.js'; +import { Link } from '../../components/link'; import { LeftBlock } from '../../components/Block/Block.js'; import { PageHeading, Container } from '../../components/page'; import { Block, Header, Content } from '../../components/block'; @@ -76,6 +77,7 @@ class ProgramDetails extends React.Component @@ -105,6 +107,7 @@ class ProgramDetails extends React.Component +

{language === 'en' ? 'English' : 'Norwegian'} @@ -115,6 +118,13 @@ class ProgramDetails extends React.Component + {registerLoc ? + +

+ Register here +

+
: null + } ) @@ -139,4 +149,4 @@ function mapDispatchToProps(dispatch: Dispatch<*>) { export default { component: connect(mapStateToProps, mapDispatchToProps)(ProgramDetails) -}; \ No newline at end of file +}; From 9a12c307169116af7dd5614c358688c205493019 Mon Sep 17 00:00:00 2001 From: Anders Karlsen Date: Wed, 18 Jul 2018 17:13:57 +0200 Subject: [PATCH 2/2] Show workshops page with some debug --- app/components/Navigation/Navigation.js | 5 +-- app/pages/Workshops/Workshops.js | 46 ++++++++++++------------- app/routes.js | 2 +- 3 files changed, 26 insertions(+), 27 deletions(-) diff --git a/app/components/Navigation/Navigation.js b/app/components/Navigation/Navigation.js index a3b17be..160741c 100644 --- a/app/components/Navigation/Navigation.js +++ b/app/components/Navigation/Navigation.js @@ -6,7 +6,7 @@ import { Grid, Row, Col } from 'react-flexbox-grid'; import Button from '../../components/Button/Button'; import classnames from 'classnames'; import { connect } from 'react-redux'; -import { Menu } from 'react-feather'; +import { Menu } from 'react-feather'; import JavazoneLogo from '../../assets/2018/javazone2018_logo_small.svg'; import './Navigation.less'; @@ -140,6 +140,7 @@ class Navigation extends React.Component { TICKETS SPEAKERS PROGRAM + WORKSHOPS PARTNERS JOURNEYZONE {/* @@ -196,4 +197,4 @@ function mapStateToProps(store: Object) { } } -export default connect(mapStateToProps)(Navigation); \ No newline at end of file +export default connect(mapStateToProps)(Navigation); diff --git a/app/pages/Workshops/Workshops.js b/app/pages/Workshops/Workshops.js index 0d52c40..c9dd45b 100644 --- a/app/pages/Workshops/Workshops.js +++ b/app/pages/Workshops/Workshops.js @@ -58,7 +58,7 @@ function workshopUrl(workshop) { if (!workshop) { return '#'; } - return `https://javazone.no/moosehead/#/register/${workshop.id}`; + return `https://moosehead.javazone.no/#/register/${workshop.mooseheadId}`; } function workshopClass(workshop) { @@ -67,39 +67,39 @@ function workshopClass(workshop) { } switch (workshop.status) { - case 'FREE_SPOTS': + case 'FREE_SPOTS': return 'button--green'; - case 'FEW_SPOTS': + case 'FEW_SPOTS': return 'button--yellow'; - case 'FULL': + case 'FULL': return 'button--red'; - case 'VERY_FULL': + case 'VERY_FULL': return 'button--red'; - case 'CLOSED': + case 'CLOSED': return 'button--disabled'; - default: + default: return 'button--disabled'; } } function workshopStatus(workshop) { if (!workshop) { - return 'Opens at September 1st, 12.00'; + return 'Opens at August 6th, 13:00'; } switch (workshop.status) { - case 'FREE_SPOTS': + case 'FREE_SPOTS': return 'Registration open'; - case 'FEW_SPOTS': + case 'FEW_SPOTS': return 'Few spots left'; - case 'FULL': + case 'FULL': return 'Waiting list'; - case 'VERY_FULL': + case 'VERY_FULL': return 'No more spots'; - case 'CLOSED': + case 'CLOSED': return 'Registration closed'; - default: - return 'Opens at September 1st, 12.00'; + default: + return 'Opens at August 6th, 13:00'; } } @@ -135,14 +135,12 @@ function SimpleSessionList(props: SimpleSessionListProps) { - Status: {workshopStatus(workshop)} +

 

- - {workshop.status === 'CLOSED' - ? null - : + - } + + }) @@ -167,14 +165,14 @@ class Workshops extends React.Component { super(props); } - componentWillMount() { + componentDidMount() { this.props.getWorkshops(); this.props.getSessions(); } render() { const filteredWorkshops = this.props.sessions.filter(session => session.format === 'workshop'); - const content = this.props.failure + const content = this.props.failure ?
: ; return ( @@ -183,7 +181,7 @@ class Workshops extends React.Component {

- For those of you who want to make the most of their JavaZone ticket we offer a selection of hands-on workshops that take place the day before JavaZone officially begins. To ensure a positive learning experience we’ve limited the spaces on each workshop, so you’ll have to register to secure your place. Registration opens at noon on Friday the 1st of September, so put a reminder in your calendar! + For those of you who want to make the most of their JavaZone ticket we offer a selection of hands-on workshops that take place the day before JavaZone officially begins. To ensure a positive learning experience we’ve limited the spaces on each workshop, so you’ll have to register to secure your place. Registration opens at 13:00 on Monday August 6th, so put a reminder in your calendar!

diff --git a/app/routes.js b/app/routes.js index a5fedad..4e2892d 100644 --- a/app/routes.js +++ b/app/routes.js @@ -34,7 +34,7 @@ const routes = compile({ '/academy/bergen': academyLocation(academyData.bergen), '/kids': kids, '/speakers': speakers, - //'/workshops': workshops, + '/workshops': workshops, '/speakers/monetary-policy': monetaryPolicy, '/speakers/tips': tipsAndTricks, '/tickets': tickets,