Skip to content

Instantly share code, notes, and snippets.

@kossnocorp
Created July 7, 2017 20:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kossnocorp/c5d31689ca82d60af840ced08b3e5f90 to your computer and use it in GitHub Desktop.
Save kossnocorp/c5d31689ca82d60af840ced08b3e5f90 to your computer and use it in GitHub Desktop.
diff --git a/app/Ui/index.jsx b/app/Ui/index.jsx
index 04ffbed..29ae024 100644
--- a/app/Ui/index.jsx
+++ b/app/Ui/index.jsx
@@ -16,60 +16,42 @@ export default class UI extends Component {
{view !== 'cart' &&
<CartPanel onBookNow={() => this.setState({ view: 'cart' })} />}
<Inner>
- <CurrentView
- view={view}
- selectedDate={selectedDate}
- selectedSlots={selectedSlots}
- bookings={bookings}
- onCalendarClick={() => this.setState({ view: 'calendar' })}
- onDayPick={t =>
- this.setState({
- view: 'schedule',
- selectedDate: t
- })}
- onChange={t => this.setState({ selectedDate: t })}
- onCartChangeClick={() => this.setState({ view: 'schedule' })}
- onCartSubmit={() => this.setState({ view: 'schedule' })}
- />
+ {(() => {
+ switch (view) {
+ case 'schedule':
+ return (
+ <Schedule
+ selectedWeek={selectedDate}
+ selectedSlots={selectedSlots}
+ onCalendarClick={() => this.setState({ view: 'calendar' })}
+ onChange={date => this.setState({ selectedDate: date })}
+ />
+ )
+ case 'calendar':
+ return (
+ <Calendar
+ selectedMonth={selectedDate}
+ onDayPick={date =>
+ this.setState({
+ view: 'schedule',
+ selectedDate: date
+ })}
+ onChange={t => this.setState({ selectedDate: t })}
+ />
+ )
+ case 'cart':
+ return (
+ <Cart
+ onChangeClick={() => this.setState({ view: 'schedule' })}
+ onSubmit={() => this.setState({ view: 'schedule' })}
+ />
+ )
+ default:
+ return
+ }
+ })()}
</Inner>
</Wrapper>
)
}
}
-
-function CurrentView ({
- view,
- selectedDate,
- selectedSlots,
- bookings,
- onCalendarClick,
- onDayPick,
- onChange,
- onCartChangeClick,
- onCartSubmit
-}) {
- switch (view) {
- case 'schedule':
- return (
- <Schedule
- selectedWeek={selectedDate}
- selectedSlots={selectedSlots}
- onCalendarClick={onCalendarClick}
- onChange={onChange}
- />
- )
- case 'calendar':
- return (
- <Calendar
- onDayPick={onDayPick}
- selectedMonth={selectedDate}
- onDayPick={onDayPick}
- onChange={onChange}
- />
- )
- case 'cart':
- return <Cart onChangeClick={onCartChangeClick} onSubmit={onCartSubmit} />
- default:
- return null
- }
-}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment