Last active
May 17, 2019 12:14
-
-
Save andraz/76705ca9580cc8ddafa0a825f6aea8ba to your computer and use it in GitHub Desktop.
#Guest can browse plays, see all info, but has no profile and cannot see performance prices
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#Guest can browse plays, see all info, but has no profile and cannot see performance prices | |
Anonymous user | |
login -> Logged in user | |
List of performances | |
Logged in user | |
logout -> Anonymous user | |
Welcome view | |
Type of profile | |
organiser login -> Organiser view | |
artist login -> Artist view | |
#Organiser can browse for plays and do a booking | |
Organiser view | |
Organiser profile complete? | |
true? -> Organiser approved? | |
false? -> Organiser registration | |
Organiser approved? | |
true? -> Organiser welcome | |
false? -> Organiser approval pending | |
Organiser registration | |
#Informing user that approval is still pending | |
Organiser approval pending | |
#Welcome page after login | |
Organiser welcome | |
performances -> List of performances with prices | |
#Artist (Theater, Circus, Musician...) can enter their plays and associated data | |
Artist view | |
Artist profile complete? | |
true? -> Artist approved? | |
false? -> Artist registration | |
Artist approved? | |
true? -> Artist welcome | |
false? -> Artist approval pending | |
Artist registration | |
Artist approval pending | |
Artist welcome | |
List of performances with prices | |
profile -> Organiser welcome |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const Go = ({emit,event}) => event ? <button onClick={()=>emit(event)}>{event}</button> : ' ' | |
const Nav = ({emit, acs}) => { | |
const events = acs.transitions ? acs.transitions.map(({event_name})=>event_name) : [] | |
const parentEvents = acs.parent && acs.parent.transitions ? acs.parent.transitions.map(({event_name})=>event_name) : [] | |
const parent2Events = acs.parent && acs.parent.parent && acs.parent.parent.transitions ? acs.parent.parent.transitions.map(({event_name})=>event_name) : [] | |
const allEvents = [...parent2Events,'', ...parentEvents,'',...events] | |
return <>send event: { allEvents.map(event=><Go {...{event,emit}} />)}</> | |
} | |
function render({active_states,emit}){ | |
console.log(active_states) | |
let acs = active_states[0] | |
let state = acs.name | |
return <> | |
<h1>{state}</h1> | |
<Nav {...{emit, acs}} /> | |
</> | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment