{"version":3,"sources":["serviceWorker.js","utils/styles/core-styles.js","components/app-bar/app-bar-styles.js","utils/authorisation/authorisationService.js","components/app-bar/app-bar-view.js","utils/data-transfer/organisation-service.js","utils/data-transfer/competition-service.js","utils/data-transfer/club-service.js","utils/data-transfer/lookup-service.js","utils/data-transfer/event.js","components/app-bar/app-bar-container.js","components/app-content/app-content-styles.js","components/static-page/static-page-view.js","components/static-page/static-page-container.js","routes/welcome/welcome.js","routes/the-rules/the-rules.js","routes/faqs/faqs.js","routes/terms-and-conditions/terms-and-conditions.js","components/card/card.js","routes/session-expired/session-expired.js","components/dashboard/dashboard-styles.js","components/dashboard/competition/competition-styles.js","utils/constants/index.js","components/dashboard/competition/competition-view.js","components/dashboard/dashboard-view.js","components/dashboard/dashboard-container.js","routes/my-dashboard/my-dashboard.js","components/competition/competition-styles.js","components/competition/details/details-styles.js","components/team/team-styles.js","components/team/team-view.js","components/team-player/team-player-styles.js","components/team-player/team-player-view.js","components/competition/details/next-opponent/opponent-view.js","components/competition/details/view-opponent/view-opponent-styles.js","components/competition/results/result/result-styles.js","components/competition/results/result/result-view.js","components/competition/details/view-opponent/view-opponent-view.js","components/avatar-editor/avatar-editor-styles.js","components/avatar-editor/avatar-editor-view.js","components/avatar-editor/avatar-editor-container.js","components/competition/details/edit-player/edit-player-view.js","components/competition/details/edit-player/edit-player-container.js","components/async-select/async-select-styles.js","components/async-select/async-select-view.js","components/async-select/async-select-container.js","components/competition/details/edit-team/edit-team-view.js","components/competition/details/details-view.js","components/competition/details/details-container.js","components/competition/results/results-styles.js","components/competition/results/results-view.js","components/competition/results/results-container.js","components/competition/bracket/bracket-styles.js","components/competition/bracket/drawn-per-round/drawn-per-round-view.js","components/competition/bracket/detailed-bracket-styles.js","components/competition/bracket/match/match-view.js","components/competition/bracket/bracket-match/bracket-match-view.js","components/competition/bracket/bracket-16/bracket-16-view.js","components/competition/bracket/bracket-32/bracket-32-view.js","components/competition/bracket/bracket-64/bracket-64-view.js","components/competition/bracket/view-match/view-match-view.js","components/competition/bracket/bracket-view.js","components/competition/bracket/bracket-container.js","components/competition/enter-results/enter-results-view.js","components/competition/competition-view.js","components/competition/competition-container.js","routes/competition/competition.js","components/registration/registration-styles.js","components/registration/team-details/team-details-view.js","components/registration/lead-player/lead-player-view.js","components/registration/additional-player/additional-player-view.js","components/registration/summary/summary-view.js","components/registration/summary/summary-container.js","components/registration/select-competition/select-competition-view.js","components/registration/payment/payment-view.js","components/registration/payment/payment-container.js","components/registration/registration-view.js","components/registration/registration-container.js","utils/redux/registration/registration-actions.js","components/registration/registration-redux.js","routes/registration/registration.js","components/express-checkout/express-checkout-styles.js","components/express-checkout/select-multiple-competitions/select-multiple-competitions-styles.js","components/express-checkout/select-multiple-competitions/select-multiple-competitions-view.js","components/paypal-button/paypal-button-styles.js","components/paypal-button/paypal-button-container.js","components/express-checkout/express-checkout-view.js","components/express-checkout/express-checkout-container.js","routes/express-checkout/express-checkout.js","components/express-checkout-complete/express-checkout-complete-styles.js","components/express-checkout-complete/express-checkout-complete-view.js","components/express-checkout-complete/express-checkout-complete-container.js","routes/express-checkout-complete/express-checkout-complete.js","routes/invalid-code/invalid-code-styles.js","routes/invalid-code/invalid-code.js","components/account-registration/account-registration-styles.js","components/account-registration/account-registration-view.js","components/account-registration/account-registration-container.js","routes/account-registration/account-registration.js","components/registration-complete/registration-complete-styles.js","components/tell-a-friend/tell-a-friend-styles.js","components/tell-a-friend/tell-a-friend-view.js","components/registration-complete/registration-complete-view.js","components/registration-complete/registration-complete-container.js","routes/registration-complete/registration-complete.js","routes/invalid-user/invalid-user-styles.js","routes/invalid-user/invalid-user.js","components/public-bracket/public-bracket-view.js","components/public-bracket/public-bracket-container.js","routes/view-bracket/view-bracket.js","routes/sign-in/sign-in.js","components/redeem-code/redeem-code-styles.js","components/redeem-code/redeem-code-view.js","components/redeem-code/redeem-code-container.js","routes/redeem-code/redeem-code.js","routes/v2/members/members-styles.js","components/member/member-styles.js","components/member/member-view.js","routes/v2/members/members-view.js","routes/v2/members/members-container.js","components/show-member/show-member-styles.js","components/show-member/show-member-view.js","components/show-member/show-member-container.js","routes/show-member/show-member.js","components/events/event-item/event-item-styles.js","components/events/event-item/event-item-view.js","routes/v2/events/events-styles.js","routes/v2/events/events-view.js","routes/v2/events/events-container.js","routes/dashboard/dashboard.js","routes/v2/event/event-styles.js","components/events/event-card/event-card-view.js","components/events/event-card/event-card-styles.js","components/events/details-card/details-card-view.js","components/events/details-card/details-card-styles.js","components/events/agenda-card/agenda-card-view.js","components/events/agenda-card/agenda-card-styles.js","components/events/prizes-card/prizes-card-view.js","components/events/prizes-card/prizes-card-styles.js","routes/v2/event/event-view.js","routes/v2/event/event-container.js","routes/routes.js","components/app-content/app-content-view.js","components/app-content/app-content-container.js","components/app-footer/app-footer-styles.js","components/static-footer/static-footer-view.js","components/static-footer/static-footer-container.js","components/app-footer/app-footer-view.js","components/app-footer/app-footer-container.js","components/user-session/user-session-styles.js","components/user-session/user-session-view.js","components/user-session/user-session-container.js","components/cookie-consent/cookie-consent-styles.js","components/cookie-consent/cookie-consent-view.js","components/cookie-consent/cookie-consent-container.js","utils/redux/registration/registration-reducer.js","utils/redux/redux-store.js","index.js"],"names":["Boolean","window","location","hostname","match","CoreStyles","theme","alignRight","float","alignLeft","fullHeight","height","ellipsis","textOverflow","whiteSpace","overflow","textRight","textAlign","textCenter","marginTop0","marginTop","marginTop10","marginTop20","marginTop30","marginBottom0","marginBottom","marginBottom0Important","marginBottom10","marginBottom20","marginBottom40","margin0","margin","alignSelfCenter","displayInlineBlock","display","noPadding","padding","width50Percent","width","displayNone","pointer","cursor","AppBarStyles","headerDense","lineHeight","backgroundColor","palette","secondary","main","headerDenseButton","color","contrastText","marginRight10","marginRight","logo","maxHeight","breakpoints","down","headerButton","up","fontSize","menuButton","right","position","paper","list","listItem","paddingLeft","textTransform","menuButtonContainer","left","top","AuthorisationService","handleSilentRenewEvent","a","getUser","user","setAuthorisationHeader","access_token","console","log","accessToken","Axios","defaults","headers","common","registerAuthorisationInterceptor","history","interceptors","response","use","error","status","push","Promise","reject","getSignInStatus","_userManager","querySessionStatus","UserManager","oidcConfiguration","events","removeUserLoaded","addUserLoaded","this","signinRedirect","signoutRedirect","changePassword","open","process","protocol","host","authority","client_id","redirect_uri","response_type","scope","post_logout_redirect_uri","silent_redirect_uri","automaticSilentRenew","userStore","WebStorageStateStore","store","localStorage","tempTheme","createMuiTheme","typography","useNextVariants","primary","getSetting","value","startsWith","endsWith","JSON","parse","showTopMenu","withRouter","withStyles","styles","props","classes","showRegistration","userHasPermissions","navigate","path","topMenuItems","name","show","filter","x","mainMenuItems","AppBar","className","Button","onClick","AccountCircle","aria-controls","aria-haspopup","handleShowUserMenu","Menu","id","showUserMenu","anchorEl","userMenuAnchor","onClose","handleToggleUserMenu","PaperProps","style","minWidth","offsetWidth","MenuItem","map","item","key","Hidden","smDown","Toolbar","src","alt","mdUp","IconButton","setMenu","Drawer","showMenu","anchor","variant","List","ListItem","button","ListItemText","competitionGolfApi","organisationId","OrganisationService","get","then","resp","data","catch","err","rg4js","inviteCode","errorMessage","accountCode","post","teamCode","bracketCode","paymentDetails","checkoutDetails","code","filterQueryString","organisationGroupId","params","p","join","organisationMemberId","filterParam","results","CompetitionService","competitionId","competitionPlayerId","competitionTeamId","competitionMatchId","put","userRegistration","competitionTeamMemberId","image","bracketId","teamId","leadPlayerEmail","additionalPlayerEmail","player","team","matchId","ClubService","nameFilter","LookupService","Event","getEventDetails","eventId","getAgenda","getPrizes","prizes","AppBarContainer","checkForOpenCompetitions","_organisationService","getOpenCompetitions","competitions","setState","length","e","currentTarget","state","React","Component","AppContentStyles","siteContent","minHeight","boxSizing","StaticPageView","hideCard","dangerouslySetInnerHTML","template","Card","CardContent","StaticPageContainer","getStaticData","oReq","XMLHttpRequest","addEventListener","_isMounted","__html","templateUrl","send","Welcome","Container","maxWidth","TheRules","Faqs","TermsAndConditions","Grid","container","xs","children","SessionExpired","CardHeader","title","DashboardStyles","gridItem","skeletonContainer","skeletonButton","bottom","emptyListView","gridContainer","toggleButton","CompetitionStyles","contentSpace","competition","buttonContainer","buttonContainerEliminated","bottomFooterContainer","buttonWinner","bodyTextContainer","bodyText","warning","contentRoot","competitionName","fontWeight","teamsRemaining","competitionPlayStatus","competitionPlaySubtitle","leftHeader","rightHeader","fullHeader","infoText","warningText","matchText","organisationText","TeamPlayStatus","MatchplayScores","root","teamPlayStatus","organisationName","size","aria-label","viewCompetition","roundEliminated","opposingTeamName","currentRoundEndDate","Moment","Date","format","drawDate","registrationDeadline","completeRegistration","isInfoWarning","multipleDisplayModesRequired","_","find","c","isPast","toggleState","ToggleButtonGroup","onChange","setToggleState","exclusive","ToggleButton","isLoading","i","SkeletonLoadingView","Paper","elevation","Skeleton","DashboardContainer","getCompetitions","getUserCompetitions","MyDashboard","addResultsGrid","competitionHeaderGrid","DetailStyles","gridItemLeft","gridItemRight","cardBodyPadding","cardHeader","cardBar","cardContent","playerCardSpacer","avatarImageContainer","avatarRoot","editAvatar","textDecoration","viewOpponent","viewOpponentText","opponentXlText","opponentDrawDate","enterResultsDetails","enterResultsLabel","enterResultsPaper","enterResultsLoadingContainer","zIndex","justifyContent","alignItems","flexDirection","errorText","TeamStyles","wizardEdit","Typography","isSingles","isWizardView","disableElevation","handleWizardEditClick","disabled","details","pairName","clubName","TeamPlayerStyles","cardAvatarBodyPadding","avatarLarge","playerTextSmallPadding","isLeadPlayer","displayAvatar","sm","Avatar","canEditPlayer","photoUrl","align","handleShowDialog","handicap","email","emailLink","href","phone","isBye","nextOpponent","contactName","contactEmail","contactPhone","handleSetViewOpponent","matchDeadline","isHome","ViewOpponentStyles","paddingRight","viewPaper","siteBackdrop","dialogHeader","headerSubtitle","ResultStyles","result","borderRadius","resultWin","resultLoss","resultText","textContainer","roundText","roundNumber","opponentName","isWinner","Dialog","fullWidth","DialogTitle","isLoadingOpponent","opponent","DialogContent","md","additionalPlayer","leadPlayer","DialogActions","AvatarEditorStyles","sliderWidth","editorStyles","ref","setEditorRef","crossOrigin","scale","onImageChange","handleImageChange","onImageReady","commitOnChangeOnly","Slider","min","max","step","handleSliderChange","AvatarEditorContainer","editor","getImageScaledToCanvas","toDataURL","substr","showEditPlayerDialog","justify","handleChangedImage","accept","multiple","type","handleImageUpload","htmlFor","component","showImageSizeWarning","TextField","label","firstName","handleChange","lastName","Tooltip","placeholder","handleConfirmButton","EditPlayerContainer","changedImage","target","files","getBase64","fileData","file","lastIndexOf","resolve","reader","FileReader","readAsBinaryString","onload","btoa","onerror","handleEditPlayerSubmit","handleEditPlayerChange","menuContainer","menuPaper","overflowY","noResults","searchText","handleTextChange","onFocus","handleSelectFocused","onBlur","helperText","selectFocused","Popper","placement","showLoading","CircularProgress","collection","onMouseDown","handleSelectItem","AsyncSelectContainer","debounceApiCall","makeAsyncCall","searchTerm","asyncCall","handleAssignId","defaultText","debounce","clubs","club","clubId","county","showDialog","allowHomeClubChanges","getClubsMatchingQuery","handleClubChange","handleEditTeamSubmit","handleShowTeamDialog","tournamentFormatId","isUserLeadPlayer","editPlayer","showEditTeamDialog","editTeam","handleEditTeamChange","DetailsContainer","Object","assign","_competitionService","getUserCompetitionOpponent","setLoading","updatePlayerPhoto","competitionTeamPlayerId","setCompetitionPlayer","getCompetition","setCompetitionPair","ResultsStyles","ResultsContainer","BracketStyles","roundPadding","newDrawBracketHeader","borderTopRightRadius","borderTopLeftRadius","newDrawBodyContainer","newDrawTeam","borderLeft","newDrawBottomTeam","borderBottomLeftRadius","newDrawTeamName","newDrawTeamWon","borderLeftColor","newDrawTeamLost","newDrawResult","newDrawEliminated","newDrawUnplayed","cgNeutral","newDrawWon","cgPositive","newDrawLost","cgWarning","newDrawNoMatches","teamName","teamType","matchDate","paddingBottom","matchResult","viewMatchWinner","viewMatchLoser","viewMatchDefault","viewMatchDate","viewMatchClub","sliderDialogContent","overflowX","editLeft","editRight","deadlineContainer","deadlineText","deadlinePickerButton","marginLeft","deadlinePicker","deadlineIcon","dialogTitleContainer","dialogTitle","swapButton","bracketRounds","uniq","bracketMatches","b","round","br","rounds","r","matches","bm","teams","t","deadline","endDate","getMyMatchHighlight","played","bye","myTeam","winner","getResultHighlight","getHomeOrAwayIdentifier","home","getByeDisplayValue","hasTeam","hideEmptyRounds","spacing","key2","viewMatch","key3","bracket","paddingTop","elementSize","verticalAlign","matchups","borderBottom","winningTeam","losingTeam","merger","borderTop","borderRight","line","headerContainer","columnHeader","columnSubheader","round1","round2","round3","round4","round5","bracket64","bracket16","bracket32","MatchView","matchPosition","getMatchTeamClasses","isSingle","BracketMatchView","match1Position","match2Position","connector","useStyles","makeStyles","Bracket16View","document","getElementById","headings","number","forEach","h","heading","Bracket32View","Bracket64View","getMatchColours","matchLoading","winningTeamId","competitionPairId","handleCloseDialog","newDrawPerRound","homeTeam","homeClubName","leadPlayerName","leadPlayerHandicap","additionalPlayerName","additionalPlayerHandicap","awayTeam","isDrawn","bracketSize","showMatchDialog","handleCloseViewMatchDialog","BracketContainer","matchDetails","bracketMatch","getCompetitionMatch","viewEnterResults","resultsSubmissionLoading","handleShowEnterResults","utils","DateFnsUtils","autoOk","disableToolbar","inputVariant","invalidDateMessage","resultsEntry","handleDateChange","select","handleResultChange","index","score","isValid","handleResultsSubmission","canScore","Tabs","tab","handleTabChange","indicatorColor","textColor","Tab","hideBracketsInMatchplay","autocompleteOpen","handleAutocompleteOpen","CompetitionContainer","intervalIteration","momentDate","toDate","getCompetitionDetails","getResults","getRounds","all","getCompetitionBracket","bracketHash","hash","isError","getUserCompetitionDetails","getUserCompetitionResults","getCompetitionRounds","queryString","_clubService","getAnonymousFilteredClubs","setMatchResults","defaultResultsEntry","interval","setInterval","clearInterval","Competition","RegistrationStyles","containerPadding","stepperPaper","activeStepper","borderColor","borderTopWidth","buttonBack","buttonNext","componentGrid","acceptConditions","acceptRules","textFieldSpacing","avatarImage","registrationCard","registrationCompleteDate","termsButton","errorIcon","errorHeader","errorBody","competitionDialogHeaderRoot","competitionDialogRoot","paymentButton","paymentIcon","materialInputContainer","border","materialInputLabel","materialFocusStyle","materialBorderFocusStyle","borderWidth","slideHeader","slideInfo","paymentError","helpButtonContainer","helpButtonSkeleton","helpButton","helpLink","registration","useEffect","stepCompleted","isSinglePlayerGame","hasCheckedTerms","hasCheckedRules","isStepValid","setStepValid","rel","handleUpdateRegistration","handleClubSelection","disableFocusListener","disableTouchListener","HelpOutline","Checkbox","checked","handleUpdateRegistrationCheck","leadPlayerFirstName","leadPlayerLastName","addressId","addressLine1","town","countyId","postCode","registrationSettings","leadPlayerTelephoneRequired","leadPlayerPhone","leadPlayerHandicapNumber","addressLine2","counties","displayName","additionalPlayerFirstName","additionalPlayerLastName","additionalPlayerEmailRequired","additionalPlayerTelephoneRequired","additionalPlayerPhone","additionalPlayerHandicapNumber","handleRegistrationChange","validationError","setActiveStep","SummaryContainer","canUserRegister","showSelectCompetition","setCompetition","handleStripeCheckout","CreditCard","stripePromise","loadStripe","PaymentContainer","stripe","getCompetitionStripeSku","redirectToCheckout","lineItems","price","stripeSku","quantity","mode","successUrl","cancelUrl","completeDetails","clientReferenceId","customerEmail","getItem","setItem","showStripe","steps","showConfirm","entryIsPrepaid","hideNextStep","currrentStep","activeStep","nextStep","hasSubmitted","xsDown","Stepper","alternativeLabel","StepConnector","active","completed","Step","StepLabel","findIndex","setRef","stripeIntent","smUp","MobileStepper","dots","KeyboardArrowLeft","KeyboardArrowRight","submitRegistration","Check","RegistrationContainer","getInviteData","getInvitedUserData","setRegistration","getCounties","getCompetitionRegistrationSettings","resumeRegistration","getOrganisationCompetitions","Uuid","v4","updateRegistration","profile","given_name","family_name","getUserDetails","handicapNumber","emailAddress","phoneNumber","_lookupService","getAnonymousCounties","registerForCompetition","stringify","leadPlayerId","summaryError","checkUserCanRegister","includes","pathname","defaultPropertyValues","additionalPlayerId","payload","RegistrationRedux","connect","dispatch","bindActionCreators","Registration","ExpressCheckoutStyles","radioButtonItem","submitButton","buttonOuterContainer","stripePaymentButton","faIcon","voucherButtonContainer","voucherSkeleton","SelectMultipleCompetitionsStyles","dialogContentRoot","dialogActions","useState","setChecked","currentIndex","indexOf","newChecked","splice","ListItemIcon","edge","tabIndex","disableRipple","date","ListItemSecondaryAction","entryAmount","currencySymbol","selectCompetitions","PayPalButtonStyles","disabledButton","imageContainer","disabledImage","amount","selectedCompetitions","comp","discountedCompetitions","discountedCompetition","d","tournamentId","parseFloat","toFixed","onSuccess","payPalCheckoutComplete","options","clientId","disableFunding","currency","currencyCode","shippingPreference","payPalClientId","isSubmitDisabled","discountCode","discountApplied","discountCodeLocked","applyVoucherCode","submitExpressCheckout","Icon","showSelectCompetitionsDialog","ExpressCheckoutContainer","getUpcomingCompetitions","ReactGA","pageview","voucherCode","competitionIds","validateDiscountCode","validationResponse","discountCodes","setStripeCheckoutPayment","paymentResponse","stripeCheckout","payment","products","discountedComp","discountStripeSku","product","paymentReferenceCode","orderId","orderID","payerId","payerID","paymentFirstName","payer","paymentLastName","surname","paymentEmail","email_address","purchase_units","currency_code","setPayPalPayment","handleValueTypeChange","ExpressCheckout","ExpressCheckoutCompleteStyles","header","card","hasAccount","voucherRedeemed","expired","nextAction","ExpressCheckoutCompleteContainer","getUserStatus","isUser","registrationCode","createAccountCode","event","category","action","ExpressCheckoutComplete","InvalidCodeStyles","InvalidCode","search","Error","AccountRegistrationStyles","passwordProgressContainer","passwordProgress","passwordConditionMet","listStyleType","registrationComplete","password","showPassword","InputProps","endAdornment","InputAdornment","handleSetShowPassword","Visibility","VisibilityOff","verifyPassword","FormControlLabel","control","Radio","newsletter","handleSetNewsletter","registerUser","AccountRegistrationContainer","getUserRegistrationData","newsletterOptIn","AccountRegistration","RegistrationCompleteStyles","TellAFriendStyles","facebookButton","twitterButton","instagramButton","linkedInButton","encodeURIComponent","Facebook","Twitter","LinkedIn","showTellAFriend","RegistrationCompleteContainer","getPlayerStatus","RegistrationComplete","InvalidUserStyles","InvalidUser","PublicBracketView","PublicBracketContainer","getBracket","viewPublicBracket","getCompetitionMatchAnonymously","ViewBracket","SignIn","RedeemCodeStyles","handleSubmit","RedeemCodeContainer","setCodeCheckout","RedeemCode","MembersStyles","searchContainer","groupsContainer","pinnedMembers","MemberStyles","avatar","center","iconButton","company","primaryButton","skeletonLoading","skeletonCentered","avatarBackground","transform","memberTypePill","footerContainer","member","CardActionArea","memberType","highlight","description","companyName","CardActions","facebookUrl","linkedInUrl","twitterUrl","filterText","handleSearchChange","m","members","MembersContainer","getMembers","showSeparate","debounceSearchMembers","ShowMemberStyles","grid","memberName","memberDetails","socialDetailsContainer","socialDetails","socialIconContainer","socialIcon","tabContainer","profileDescription","avatarSkeleton","Phone","Email","facebookProfileUrl","linkedInProfileUrl","twitterProfileUrl","website","Language","ShowMemberContainer","getMember","memberTypes","ShowMember","EventItemStyles","img","subtitle","bookButton","actions","skeletonCurrency","bookingUrl","CardMedia","imageUrl","eventName","eventDate","course","canBook","EventsStyles","noEvents","EventsContainer","getEvents","prevState","bootstrapComponent","getUpcomingEvents","debounceGetEvents","useRef","current","Dashboard","EventStyles","tabBar","heroImage","backgroundSize","backgroundRepeat","backgroundPosition","subheader","divider","entryCost","Divider","eventDescription","column","table","borderSpacing","skeletonTable","skeletonRow","scoringFormatTypes","hasGroupTeams","hasIndividuals","eventFormat","groupSize","scoringType","handicapAllowance","teeTypeMale","teeTypeFemale","agendaItems","itemTime","backgroundImage","EventContainer","hidePublicPages","Routes","allowAnonymous","simplePathName","Members","Events","publicDefaultRoute","hidePadding","useExpressCheckout","routes","route","GetRoutes","settings","checkoutTypeId","render","to","AppContentContainer","AppFooterStyles","footerButton","poweredByContainer","poweredByText","poweredByImage","StaticFooterView","StaticFooterContainer","showFooter","AppFooterContainer","setFooter","UserSessionStyles","UserSessionContainer","setIsReady","isReady","checkUserPermissions","getOrganisationSettings","configureGoogleAnalyticsSession","_authService","configureRayGunSession","configureActiveCampaignSession","handleRouteChange","set","page","currentRoute","identifier","sub","isAnonymous","fullName","initialize","debug","gaOptions","visitorGlobalObjectAlias","q","arguments","l","getTime","createElement","async","getElementsByTagName","parentNode","insertBefore","vgo","listen","Children","child","cloneElement","CookieConsentStyles","cookieConsentBar","consentButton","Snackbar","cookieConsent","anchorOrigin","vertical","horizontal","reason","handleClick","SnackbarContent","message","text","CookieConsentContainer","consentKey","initialState","rootReducer","combineReducers","require","locale","navigator","language","siteHeaderMain","createStore","ReactDOM","serviceWorker","ready","unregister"],"mappings":"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","file":"static/js/main.5e32f5bf.chunk.js","sourcesContent":["// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read https://bit.ly/CRA-PWA\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.0/8 are considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\nexport function register(config) {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config);\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n 'This web app is being served cache-first by a service ' +\r\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\r\n );\r\n });\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl, config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n if (installingWorker == null) {\r\n return;\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n 'New content is available and will be used when all ' +\r\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\r\n );\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration);\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n\r\n // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration);\r\n }\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl, config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl, {\r\n headers: { 'Service-Worker': 'script' }\r\n })\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get('content-type');\r\n if (\r\n response.status === 404 ||\r\n (contentType != null && contentType.indexOf('javascript') === -1)\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister();\r\n });\r\n }\r\n}\r\n","const CoreStyles = theme => ({\r\n alignRight: {\r\n float: 'right'\r\n },\r\n alignLeft: {\r\n float: 'left'\r\n },\r\n fullHeight: {\r\n height: '100%'\r\n },\r\n ellipsis: {\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap',\r\n overflow: 'hidden'\r\n },\r\n textRight: {\r\n textAlign: 'right'\r\n },\r\n textCenter: {\r\n textAlign: 'center'\r\n },\r\n marginTop0: {\r\n marginTop: 0\r\n },\r\n marginTop10: {\r\n marginTop: 10\r\n },\r\n marginTop20: {\r\n marginTop: 20\r\n },\r\n marginTop30: {\r\n marginTop: 30\r\n },\r\n marginBottom0: {\r\n marginBottom: 0\r\n },\r\n marginBottom0Important: {\r\n marginBottom: [0, '!important']\r\n },\r\n marginBottom10: {\r\n marginBottom: 10\r\n },\r\n marginBottom20: {\r\n marginBottom: 20\r\n },\r\n marginBottom40: {\r\n marginBottom: 40\r\n },\r\n margin0: {\r\n margin: 0\r\n },\r\n alignSelfCenter: {\r\n margin: '0 auto'\r\n },\r\n displayInlineBlock: {\r\n display: 'inline-block'\r\n },\r\n noPadding: {\r\n padding: 0\r\n },\r\n width50Percent: {\r\n width: '50%'\r\n },\r\n displayNone: {\r\n display: 'none'\r\n },\r\n pointer: {\r\n cursor: 'pointer'\r\n }\r\n});\r\n\r\nexport default CoreStyles;","import CoreStyles from '../../utils/styles/core-styles';\r\n\r\nconst AppBarStyles = theme => ({\r\n headerDense: {\r\n height: '40px',\r\n padding: '0 10px;',\r\n lineHeight: '40px',\r\n backgroundColor: theme.palette.secondary.main\r\n },\r\n headerDenseButton : {\r\n backgroundColor: 'transparent',\r\n float: 'right',\r\n height: '100%',\r\n color: theme.palette.secondary.contrastText\r\n },\r\n marginRight10: {\r\n marginRight: '10px'\r\n },\r\n logo: {\r\n maxHeight: 50,\r\n marginRight: 50,\r\n [theme.breakpoints.down('xs')]: {\r\n maxHeight: 40\r\n }\r\n },\r\n headerButton: {\r\n marginRight: '40px',\r\n [theme.breakpoints.up('lg')]: {\r\n fontSize: '18px'\r\n }\r\n },\r\n menuButton: {\r\n right: '16px',\r\n position: 'absolute'\r\n },\r\n paper: {\r\n backgroundColor: theme.palette.secondary.main,\r\n color: theme.palette.secondary.contrastText\r\n },\r\n list: {\r\n width: 250\r\n },\r\n listItem: {\r\n paddingLeft: 30,\r\n textTransform: 'uppercase'\r\n },\r\n menuButtonContainer: {\r\n width: '100%',\r\n position: 'absolute',\r\n left: 0,\r\n top: 0,\r\n height: 64,\r\n lineHeight: '64px'\r\n },\r\n ...CoreStyles(theme)\r\n});\r\n\r\n\r\nexport default AppBarStyles","import { UserManager, WebStorageStateStore } from 'oidc-client';\r\nimport Axios from 'axios';\r\n\r\nclass AuthorisationService {\r\n constructor () {\r\n AuthorisationService._userManager = new UserManager(oidcConfiguration);\r\n\r\n AuthorisationService._userManager.events.removeUserLoaded();\r\n AuthorisationService._userManager.events.addUserLoaded(this.handleSilentRenewEvent);\r\n }\r\n\r\n handleSilentRenewEvent = async () => {\r\n try {\r\n let user = await AuthorisationService.getUser();\r\n this.setAuthorisationHeader(user.access_token);\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n };\r\n\r\n static getUser = () => {\r\n return AuthorisationService._userManager.getUser();\r\n };\r\n\r\n static signinRedirect = () => {\r\n AuthorisationService._userManager.signinRedirect();\r\n };\r\n\r\n static signoutRedirect = () => {\r\n AuthorisationService._userManager.signoutRedirect();\r\n };\r\n\r\n static changePassword = () => {\r\n window.open(process.env.REACT_APP_COMPETITIONGOLF_AUTHORITY + '/changepassword?returnurl=' + window.location.protocol + '//' + window.location.host);\r\n };\r\n\r\n setAuthorisationHeader = (accessToken) => {\r\n Axios.defaults.headers.common['Authorization'] = 'Bearer ' + accessToken;\r\n };\r\n\r\n registerAuthorisationInterceptor = (history) => {\r\n Axios.interceptors.response.use((response) => {return response;},\r\n (error) => {\r\n if (error.response.status === 401) {\r\n history.push('/unauthorised');\r\n return Promise.reject(error);\r\n }\r\n\r\n return Promise.reject(error);\r\n });\r\n };\r\n\r\n getSignInStatus = () => {\r\n return AuthorisationService._userManager.querySessionStatus();\r\n };\r\n}\r\n\r\nconst oidcConfiguration = {\r\n authority: process.env.REACT_APP_COMPETITIONGOLF_AUTHORITY,\r\n client_id: process.env.REACT_APP_COMPETITIONGOLF_CLIENT_ID,\r\n redirect_uri: 'https://' + window.location.host + '/callback.html',\r\n response_type: 'id_token token',\r\n scope: process.env.REACT_APP_COMPETITIONGOLF_SCOPE,\r\n post_logout_redirect_uri: 'https://' + window.location.host,\r\n silent_redirect_uri: 'https://' + window.location.host + '/silent-renew.html',\r\n automaticSilentRenew: true,\r\n userStore: new WebStorageStateStore({ store: localStorage})\r\n};\r\n\r\nexport default AuthorisationService;\r\n","import React from 'react';\r\nimport styles from './app-bar-styles.js';\r\n//Material\r\nimport { AppBar, Toolbar, withStyles, Button, Hidden, IconButton, Drawer, List, ListItem, ListItemText, Menu, MenuItem, createMuiTheme, MuiThemeProvider } from '@material-ui/core';\r\nimport { AccountCircle, Menu as MenuIcon } from '@material-ui/icons';\r\n//Routing\r\nimport { withRouter } from 'react-router-dom';\r\n//Utils\r\nimport AuthorisationService from '../../utils/authorisation/authorisationService';\r\n\r\nconst tempTheme = createMuiTheme({\r\n typography: {\r\n useNextVariants: true,\r\n },\r\n palette: {\r\n primary: {\r\n main: process.env.REACT_APP_COMPETITIONGOLF_HEADER_COLOUR\r\n }\r\n }\r\n});\r\n\r\nconst getSetting = (value) =>\r\n (!value.startsWith('#{') && !value.endsWith('}#')) ? JSON.parse(value) : false;\r\n\r\nconst showRedeemCode = process.env.REACT_APP_COMPETITIONGOLF_SHOW_REDEEM_CODE;\r\nconst hidePublicPages = process.env.REACT_APP_HIDE_PUBLIC_PAGES;\r\nconst showMembers = process.env.REACT_APP_COMPETITIONGOLF_SHOW_MEMBERS;\r\nconst showMatchplay = process.env.REACT_APP_COMPETITIONGOLF_SHOW_MATCHPLAY;\r\nconst showEvents = process.env.REACT_APP_COMPETITIONGOLF_SHOW_EVENTS;\r\nconst showTopMenu = process.env.REACT_APP_COMPETITIONGOLF_SHOW_TOP_MENU;\r\nconst showDashboard = process.env.REACT_APP_COMPETITIONGOLF_SHOW_DASHBOARD;\r\n\r\nfunction AppBarView (props) {\r\n const {classes, history, showRegistration, user, userHasPermissions} = props;\r\n\r\n const navigate = (path) => {\r\n history.push(path);\r\n };\r\n\r\n const topMenuItems = [\r\n {name: 'Redeem Code', path: '/redeem-code', show: getSetting(showRedeemCode) && getSetting(showTopMenu) && showRegistration },\r\n {name: 'Register', path: '/registration', show: getSetting(showTopMenu) && showRegistration },\r\n {name: 'My Dashboard', path: '/dashboard', show: getSetting(showTopMenu) && user && userHasPermissions },\r\n ].filter(x => x.show);\r\n\r\n const mainMenuItems = [\r\n {name: 'Welcome', path: '/welcome', show: !getSetting(hidePublicPages) },\r\n {name: 'The Rules', path: '/the-rules', show: !getSetting(hidePublicPages) },\r\n {name: 'FAQS', path: '/faqs', show: !getSetting(hidePublicPages) },\r\n {name: 'Dashboard', path: '/home', show: getSetting(showDashboard) && user },\r\n {name: 'Events', path: '/events', show: getSetting(showEvents) && user },\r\n {name: 'Matchplay', path: '/dashboard', show: getSetting(showMatchplay) && user },\r\n {name: 'Members', path: '/members', show: getSetting(showMembers) && user },\r\n ].filter(x => x.show);\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n\r\n {\r\n !props.user &&\r\n \r\n }\r\n\r\n {\r\n props.user &&\r\n \r\n {props.user.name} \r\n \r\n \r\n }\r\n\r\n {\r\n props.user &&\r\n props.handleToggleUserMenu(false)}\r\n PaperProps={{ style: { minWidth: props.userMenuAnchor ? props.userMenuAnchor.offsetWidth : 0}}}>\r\n Change Password\r\n Sign Out\r\n \r\n }\r\n\r\n {\r\n topMenuItems.map((item, key) =>\r\n (\r\n \r\n \r\n \r\n ))\r\n }\r\n
\r\n\r\n \r\n {process.env.REACT_APP_COMPETITIONGOLF_HEADER_LOGO_ALT}/\r\n\r\n \r\n
\r\n {\r\n mainMenuItems.map((item, key) => (\r\n navigate(item.path)}\r\n key={key}>\r\n {item.name}\r\n \r\n ))\r\n }\r\n
\r\n
\r\n \r\n props.setMenu(true)}>\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n props.setMenu(false)}\r\n variant='temporary'\r\n classes={{ paper: classes.paper }}>\r\n \r\n\r\n {\r\n [...topMenuItems, ...mainMenuItems].map((item, key) => (\r\n navigate(item.path)}\r\n key={key}>\r\n \r\n \r\n ))\r\n }\r\n \r\n \r\n \r\n
\r\n );\r\n}\r\n\r\nexport default withRouter(withStyles(styles) (AppBarView));\r\n","import Axios from 'axios';\r\n\r\nconst competitionGolfApi = process.env.REACT_APP_COMPETITIONGOLF_PUBLIC_API_ENDPOINT;\r\nconst organisationId = process.env.REACT_APP_COMPETITIONGOLF_ORGANISATION_ID;\r\n\r\nclass OrganisationService {\r\n\r\n getUserCompetitions () {\r\n return Axios.get(competitionGolfApi + 'organisations/' + organisationId + '/competitions')\r\n .then(resp => resp.data)\r\n .catch(err => {\r\n if (err.response.status === 404)\r\n return [];\r\n\r\n window.rg4js('send', {\r\n error: err\r\n });\r\n throw err;\r\n });\r\n }\r\n\r\n getInvitedUserData (inviteCode) {\r\n return Axios.get(competitionGolfApi + 'organisations/' + organisationId + '/competitioninvitations/' + inviteCode)\r\n .then(resp => resp.data)\r\n .catch(err => {\r\n if (err.response.status === 400)\r\n return { errorMessage: err.response.data };\r\n\r\n window.rg4js('send', {\r\n error: err\r\n });\r\n throw err;\r\n });\r\n }\r\n\r\n checkUserPermissions () {\r\n return Axios.get(competitionGolfApi + 'organisations/' + organisationId + '/checkpermissions')\r\n .then(resp => resp.data)\r\n .catch (err => {\r\n if (err.response.status === 401)\r\n return false;\r\n\r\n window.rg4js('send', {\r\n error: err\r\n });\r\n\r\n return false;\r\n });\r\n }\r\n\r\n getOpenCompetitions () {\r\n return Axios.get(competitionGolfApi + 'organisations/' + organisationId + '/competitions/registrationopen')\r\n .then(resp => resp.data)\r\n .catch(err => {\r\n if (err.response.status === 404)\r\n return [];\r\n\r\n window.rg4js('send', {\r\n error: err\r\n });\r\n throw err;\r\n });\r\n }\r\n\r\n getUserRegistrationData (accountCode) {\r\n return Axios.get(competitionGolfApi + 'organisations/' + organisationId + '/users/registration/' + accountCode)\r\n .then(resp => resp.data)\r\n .catch(err => {\r\n if (err.response.status === 400)\r\n return { errorMessage: err.response.data };\r\n\r\n if (err.response.status === 404)\r\n return { errorMessage: 'We were unable to find a user with the provided account code. Please check your code and try again.' };\r\n\r\n window.rg4js('send', {\r\n error: err\r\n });\r\n throw err;\r\n });\r\n }\r\n\r\n registerUser (user) {\r\n return Axios.post(competitionGolfApi + 'organisations/' + organisationId + '/users', user)\r\n .catch(err => {\r\n window.rg4js('send', {\r\n error: err\r\n });\r\n throw err;\r\n });\r\n }\r\n\r\n resumeRegistration (teamCode) {\r\n return Axios.get(competitionGolfApi + 'organisations/' + organisationId + '/competitions/' + teamCode + '/resumeregistration')\r\n .then(resp => resp.data)\r\n .catch(err => {\r\n if (err.response.status === 400)\r\n return { errorMessage: err.response.data };\r\n\r\n window.rg4js('send', {\r\n error: err\r\n });\r\n throw err;\r\n });\r\n }\r\n\r\n viewPublicBracket (bracketCode) {\r\n return Axios.get(competitionGolfApi + 'organisations/' + organisationId + '/brackets/' + bracketCode)\r\n .then(resp => resp.data)\r\n .catch(err => {\r\n window.rg4js('send', {\r\n error: err\r\n });\r\n throw err;\r\n });\r\n }\r\n\r\n getUserDetails () {\r\n return Axios.get(competitionGolfApi + 'organisations/' + organisationId + '/users/details')\r\n .then(resp => resp.data)\r\n .catch(err => {\r\n window.rg4js('send', {\r\n error: err\r\n });\r\n });\r\n }\r\n\r\n getOrganisationSettings () {\r\n return Axios.get(competitionGolfApi + 'organisations/' + organisationId + '/settings')\r\n .then(resp => resp.data)\r\n .catch(err => {\r\n window.rg4js('send', {\r\n error: err\r\n });\r\n });\r\n }\r\n\r\n setStripeCheckoutPayment (paymentDetails) {\r\n return Axios.post(competitionGolfApi + 'organisations/' + organisationId + '/competitions/stripecheckout', paymentDetails)\r\n .then(resp => resp.data)\r\n .catch(err => {\r\n window.rg4js('send', {\r\n error: err\r\n });\r\n\r\n throw err;\r\n });\r\n }\r\n\r\n setPayPalPayment (paymentDetails) {\r\n return Axios.post(competitionGolfApi + 'organisations/' + organisationId + '/competitions/paypalcheckout', paymentDetails)\r\n .then(resp => resp.data)\r\n .catch(err => {\r\n window.rg4js('send', {\r\n error: err\r\n });\r\n\r\n throw err;\r\n });\r\n }\r\n\r\n setCodeCheckout (checkoutDetails) {\r\n return Axios.post(competitionGolfApi + 'organisations/' + organisationId + '/competitions/codecheckout', checkoutDetails)\r\n .then(resp => resp.data)\r\n .catch(err => {\r\n if (err.response.status === 400)\r\n return { errorMessage: err.response.data };\r\n\r\n window.rg4js('send', {\r\n error: err\r\n });\r\n\r\n throw err;\r\n });\r\n }\r\n\r\n validateDiscountCode (code) {\r\n return Axios.post(competitionGolfApi + 'organisations/' + organisationId + '/competitions/validatecode', code)\r\n .then(resp => resp.data)\r\n .catch(err => {\r\n if (err.response.status === 400)\r\n return { errorMessage: err.response.data };\r\n\r\n window.rg4js('send', {\r\n error: err\r\n });\r\n\r\n throw err;\r\n });\r\n }\r\n\r\n getMembers (filterQueryString, organisationGroupId) {\r\n let params = [\r\n filterQueryString ? 'filterQueryString=' + filterQueryString : null,\r\n organisationGroupId ? 'organisationGroupId=' + organisationGroupId : null];\r\n params = params.filter(p => p);\r\n\r\n return Axios.get(competitionGolfApi + 'organisations/' + organisationId + '/members/society?' + params.join('&'))\r\n .then(resp => resp.data)\r\n .catch (err => {\r\n if (err.response.status === 404)\r\n return [];\r\n\r\n window.rg4js('send', {\r\n error: err\r\n });\r\n\r\n throw err;\r\n });\r\n }\r\n\r\n getMember (organisationMemberId) {\r\n return Axios.get(competitionGolfApi + 'organisations/' + organisationId + '/member/' + organisationMemberId)\r\n .then(resp => resp.data)\r\n .catch(err => {\r\n window.rg4js('send', {\r\n error: err\r\n });\r\n throw err;\r\n });\r\n }\r\n\r\n getUpcomingEvents (filter) {\r\n let filterParam = filter ? 'filterQueryString=' + filter : '';\r\n\r\n return Axios.get(competitionGolfApi + 'organisations/' + organisationId + '/events/upcoming?' + filterParam)\r\n .then(resp => resp.data)\r\n .catch(err => {\r\n if (err.response.status === 404)\r\n return {results: []};\r\n\r\n window.rg4js('send', {\r\n error: err\r\n });\r\n throw err;\r\n });\r\n }\r\n}\r\n\r\nexport default OrganisationService;\r\n","import Axios from 'axios';\r\n\r\nconst competitionGolfApi = process.env.REACT_APP_COMPETITIONGOLF_PUBLIC_API_ENDPOINT;\r\n\r\nclass CompetitionService {\r\n\r\n getUserCompetitionDetails (competitionId, competitionPlayerId) {\r\n return Axios.get(competitionGolfApi + 'competitions/' + competitionId + '/' + competitionPlayerId)\r\n .then(resp => resp.data)\r\n .catch(err => {\r\n window.rg4js('send', {\r\n error: err\r\n });\r\n\r\n throw err;\r\n });\r\n }\r\n\r\n getUserCompetitionResults (competitionId, competitionPlayerId) {\r\n return Axios.get(competitionGolfApi + 'competitions/' + competitionId + '/players/' + competitionPlayerId + '/results' )\r\n .then(resp => resp.data)\r\n .catch(err => {\r\n if (err.response.status === 404)\r\n return [];\r\n\r\n window.rg4js('send', {\r\n error: err\r\n });\r\n throw err;\r\n });\r\n }\r\n\r\n getUserCompetitionOpponent (competitionId, competitionTeamId) {\r\n return Axios.get(competitionGolfApi + 'competitions/' + competitionId + '/pairs/' + competitionTeamId + '/opponent')\r\n .then(resp => resp.data)\r\n .catch(err => {\r\n window.rg4js('send', {\r\n error: err\r\n });\r\n\r\n throw err;\r\n });\r\n }\r\n\r\n setMatchResults (competitionId, competitionMatchId, results) {\r\n return Axios.put(competitionGolfApi + 'competitions/' + competitionId + '/results/' + competitionMatchId, results )\r\n .then(resp => resp.data)\r\n .catch(err => {\r\n window.rg4js('send', {\r\n error: err\r\n });\r\n\r\n throw err;\r\n });\r\n }\r\n\r\n registerForCompetition (competitionId, competitionTeamId, userRegistration) {\r\n return Axios.put(competitionGolfApi + 'competitions/' + competitionId + '/pairs/' + competitionTeamId + '/register', userRegistration)\r\n .then(resp => resp.data)\r\n .catch(err => {\r\n window.rg4js('send', {\r\n error: err\r\n });\r\n\r\n throw err;\r\n });\r\n }\r\n\r\n updatePlayerPhoto (competitionId, competitionTeamMemberId, image) {\r\n return Axios.post(competitionGolfApi + 'competitions/' + competitionId + '/players/' + competitionTeamMemberId + '/image', image)\r\n .then(resp => resp.data)\r\n .catch(err => {\r\n window.rg4js('send', {\r\n error: err\r\n });\r\n\r\n throw err;\r\n });\r\n }\r\n\r\n getCompetitionBracket (competitionId, bracketId, teamId) {\r\n return Axios.get(competitionGolfApi + 'competitions/' + competitionId + '/brackets/' + bracketId + '/' + teamId)\r\n .then(resp => resp.data)\r\n .catch(err => {\r\n window.rg4js('send', {\r\n error: err\r\n });\r\n\r\n throw err;\r\n });\r\n }\r\n\r\n getCompetitionStripePaymentDetails (competitionId) {\r\n return Axios.get(competitionGolfApi + 'competitions/' + competitionId + '/payments/stripe')\r\n .then(resp => resp.data)\r\n .catch(err => {\r\n window.rg4js('send', {\r\n error: err\r\n });\r\n\r\n throw err;\r\n });\r\n }\r\n\r\n getCompetitionStripeSku (competitionId, teamId) {\r\n return Axios.get(competitionGolfApi + 'competitions/' + competitionId + '/pairs/' + teamId +'/stripepaymentdetails')\r\n .then(resp => resp.data)\r\n .catch(err => {\r\n window.rg4js('send', {\r\n error: err\r\n });\r\n\r\n throw err;\r\n });\r\n }\r\n\r\n getCompetitionRegistrationSettings (competitionId) {\r\n return Axios.get(competitionGolfApi + 'competitions/' + competitionId + '/registrationsettings')\r\n .then(resp => resp.data)\r\n .catch(err => {\r\n window.rg4js('send', {\r\n error: err\r\n });\r\n\r\n throw err;\r\n });\r\n }\r\n\r\n checkUserCanRegister (competitionId, leadPlayerEmail, additionalPlayerEmail) {\r\n return Axios.get(competitionGolfApi + 'competitions/' + competitionId + '/pairs/canregister?leadPlayerEmail=' + leadPlayerEmail + '&additionalPlayerEmail=' + additionalPlayerEmail)\r\n .then(resp => resp.data)\r\n .catch(err => {\r\n if (err.response.status === 400)\r\n return { errorMessage: err.response.data };\r\n\r\n window.rg4js('send', {\r\n error: err\r\n });\r\n throw err;\r\n });\r\n }\r\n\r\n getPlayerStatus (competitionId, competitionPlayerId) {\r\n return Axios.get(competitionGolfApi + 'competitions/' + competitionId + '/players/' + competitionPlayerId + '/status')\r\n .then(resp => resp.data)\r\n .catch(err => {\r\n window.rg4js('send', {\r\n error: err\r\n });\r\n throw err;\r\n });\r\n }\r\n\r\n setCompetitionPlayer (competitionId, competitionPlayerId, player) {\r\n return Axios.put(competitionGolfApi + 'competitions/' + competitionId + '/players/' + competitionPlayerId, player)\r\n .then(resp => resp.data)\r\n .catch(err => {\r\n window.rg4js('send', {\r\n error: err\r\n });\r\n throw err;\r\n });\r\n }\r\n\r\n setCompetitionPair (competitionId, competitionTeamId, team) {\r\n return Axios.put(competitionGolfApi + 'competitions/' + competitionId + '/pairs/' + competitionTeamId, team)\r\n .then(resp => resp.data)\r\n .catch(err => {\r\n window.rg4js('send', {\r\n error: err\r\n });\r\n throw err;\r\n });\r\n }\r\n\r\n getCompetitionRounds (competitionId) {\r\n return Axios.get(competitionGolfApi + 'competitions/' + competitionId + '/rounds')\r\n .then(resp => resp.data)\r\n .catch(err => {\r\n if (err.response.status === 404)\r\n return [];\r\n\r\n window.rg4js('send', {\r\n error: err\r\n });\r\n throw err;\r\n });\r\n }\r\n\r\n getCompetitionMatch (competitionId, matchId) {\r\n return Axios.get(competitionGolfApi + 'competitions/' + competitionId + '/matches/' + matchId)\r\n .then(resp => resp.data)\r\n .catch(err => {\r\n window.rg4js('send', {\r\n error: err\r\n });\r\n throw err;\r\n });\r\n }\r\n\r\n getCompetitionMatchAnonymously (competitionId, matchId) {\r\n return Axios.get(competitionGolfApi + 'competitions/' + competitionId + '/matches/' + matchId + '/anonymous')\r\n .then(resp => resp.data)\r\n .catch(err => {\r\n window.rg4js('send', {\r\n error: err\r\n });\r\n throw err;\r\n });\r\n }\r\n}\r\n\r\nexport default CompetitionService;\r\n","import Axios from 'axios';\r\n\r\nconst competitionGolfApi = process.env.REACT_APP_COMPETITIONGOLF_PUBLIC_API_ENDPOINT;\r\n\r\nclass ClubService {\r\n\r\n getFilteredClubs (nameFilter) {\r\n return Axios.get(competitionGolfApi + 'clubs/' + nameFilter)\r\n .then(resp => resp.data)\r\n .catch(err => {\r\n if (err.response.status === 404)\r\n return [];\r\n\r\n window.rg4js('send', {\r\n error: err\r\n });\r\n throw err;\r\n });\r\n }\r\n\r\n getAnonymousFilteredClubs (nameFilter) {\r\n return Axios.get(competitionGolfApi + 'clubs/anonymous/' + nameFilter)\r\n .then(resp => resp.data)\r\n .catch(err => {\r\n if (err.response.status === 404)\r\n return [];\r\n\r\n window.rg4js('send', {\r\n error: err\r\n });\r\n throw err;\r\n });\r\n }\r\n}\r\n\r\nexport default ClubService;\r\n","import Axios from 'axios';\r\n\r\nconst competitionGolfApi = process.env.REACT_APP_COMPETITIONGOLF_PUBLIC_API_ENDPOINT;\r\nconst organisationId = process.env.REACT_APP_COMPETITIONGOLF_ORGANISATION_ID;\r\n\r\nclass LookupService {\r\n\r\n getAnonymousCounties () {\r\n return Axios.get(competitionGolfApi + 'lookups/anonymous/county')\r\n .then(resp => resp.data)\r\n .catch(err => {\r\n if (err.response.status === 404)\r\n return [];\r\n\r\n window.rg4js('send', {\r\n error: err\r\n });\r\n throw err;\r\n });\r\n }\r\n\r\n getOrganisationMemberTypes () {\r\n return Axios.get(competitionGolfApi + 'lookups/organisationmembertype/' + organisationId)\r\n .then(resp => resp.data)\r\n .catch(err => {\r\n if (err.response.status === 404)\r\n return [];\r\n\r\n throw err;\r\n });\r\n }\r\n}\r\n\r\nexport default LookupService;\r\n","import Axios from 'axios';\r\n\r\nconst competitionGolfApi = process.env.REACT_APP_COMPETITIONGOLF_PUBLIC_API_ENDPOINT;\r\n\r\nconst Event = {\r\n getEventDetails: (eventId) =>\r\n Axios.get(competitionGolfApi + 'events/' + eventId)\r\n .then(resp => resp.data)\r\n .catch(err => {\r\n window.rg4js('send', {\r\n error: err\r\n });\r\n throw err;\r\n }),\r\n getAgenda: (eventId) => Axios.get(competitionGolfApi + 'events/' + eventId + '/agendaitems')\r\n .then(resp => resp.data)\r\n .catch(err => {\r\n if (err.response.status === 404)\r\n return [];\r\n\r\n window.rg4js('send', {\r\n error: err\r\n });\r\n\r\n throw err;\r\n }),\r\n getPrizes: (eventId) => Axios.get(competitionGolfApi + 'events/' + eventId + '/prizes')\r\n .then(resp => resp.data)\r\n .catch(err => {\r\n if (err.response.status === 404)\r\n return {prizes: []};\r\n\r\n window.rg4js('send', {\r\n error: err\r\n });\r\n\r\n throw err;\r\n }),\r\n}\r\n\r\nexport default Event;\r\n","import React from 'react';\r\n//components\r\nimport AppBarView from './app-bar-view.js';\r\n//utils\r\nimport { OrganisationService } from '../../utils/data-transfer';\r\n\r\nclass AppBarContainer extends React.Component {\r\n constructor (props) {\r\n super(props);\r\n\r\n this.state = {\r\n showMenu: false,\r\n showUserMenu: false,\r\n userMenuAnchor: null,\r\n showRegistration: false\r\n };\r\n\r\n this._organisationService = new OrganisationService();\r\n }\r\n\r\n componentDidMount(){\r\n return this.checkForOpenCompetitions();\r\n }\r\n\r\n checkForOpenCompetitions = async () => {\r\n try {\r\n let competitions = await this._organisationService.getOpenCompetitions();\r\n\r\n this.setState({showRegistration: competitions.length > 0});\r\n } catch (err) {\r\n this.setState({showRegistration: false});\r\n console.log(err)\r\n }\r\n };\r\n\r\n setMenu = (showMenu) => {\r\n this.setState({showMenu});\r\n };\r\n\r\n handleShowUserMenu = (e) => {\r\n this.setState({\r\n showUserMenu: true,\r\n userMenuAnchor: e.currentTarget\r\n });\r\n };\r\n\r\n handleToggleUserMenu = (showUserMenu) => {\r\n this.setState({\r\n showUserMenu\r\n });\r\n };\r\n\r\n render () {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default AppBarContainer;\r\n","const AppContentStyles = theme => ({\r\n siteContent: {\r\n minHeight: 'calc(100vh - 178px)',\r\n width: '100%',\r\n padding: 20,\r\n boxSizing: 'border-box',\r\n [theme.breakpoints.down('sm')]: {\r\n minHeight: 'calc(100vh - 216px)'\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n minHeight: 'calc(100vh - 208px)'\r\n }\r\n },\r\n noPadding: {\r\n padding: 0\r\n }\r\n});\r\n\r\nexport default AppContentStyles;\r\n","import React from 'react';\r\n//material\r\nimport { Card, CardContent } from '@material-ui/core';\r\n\r\nfunction StaticPageView (props) {\r\n return (\r\n
\r\n {\r\n props.hideCard ?\r\n
:\r\n \r\n \r\n
\r\n \r\n \r\n }\r\n
\r\n );\r\n}\r\n\r\nexport default StaticPageView;","import React from 'react';\r\n//components\r\nimport View from './static-page-view';\r\n\r\nclass StaticPageContainer extends React.Component {\r\n constructor (props) {\r\n super (props);\r\n\r\n this.state = {\r\n template: { __html: ''}\r\n }\r\n }\r\n\r\n componentDidMount () {\r\n this._isMounted = true;\r\n this.getStaticData();\r\n }\r\n\r\n componentWillUnmount () {\r\n this._isMounted = false;\r\n }\r\n\r\n getStaticData = () => {\r\n let oReq = new XMLHttpRequest();\r\n oReq.addEventListener(\"load\", () => {\r\n if (this._isMounted)\r\n this.setState({ template: {__html: oReq.response} });\r\n });\r\n\r\n oReq.open(\"GET\", this.props.templateUrl);\r\n oReq.send();\r\n };\r\n\r\n render () {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default StaticPageContainer;","import React from 'react';\r\n//material\r\nimport { Container } from '@material-ui/core';\r\n//component\r\nimport StaticPage from '../../components/static-page';\r\n\r\nclass Welcome extends React.Component {\r\n\r\n render () {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default Welcome;","import React from 'react';\r\n//material\r\nimport { Container } from '@material-ui/core';\r\n//component\r\nimport StaticPage from '../../components/static-page';\r\n\r\n\r\nclass TheRules extends React.Component {\r\n render () {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default TheRules;","import React from 'react';\r\n//material\r\nimport { Container } from '@material-ui/core';\r\n//component\r\nimport StaticPage from '../../components/static-page';\r\n\r\nclass Faqs extends React.Component {\r\n render () {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default Faqs;","import React from 'react';\r\n//material\r\nimport { Container } from '@material-ui/core';\r\n//component\r\nimport StaticPage from '../../components/static-page';\r\n\r\nclass TermsAndConditions extends React.Component {\r\n\r\n render () {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default TermsAndConditions;","import React from 'react';\r\n//Material\r\nimport { Card as MaterialCard, Grid } from '@material-ui/core';\r\n\r\nfunction Card (props) {\r\n return (\r\n \r\n \r\n \r\n {props.children}\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default Card;","import React from 'react';\r\n//Components\r\nimport Card from '../../components/card';\r\n//Material\r\nimport { CardHeader } from '@material-ui/core';\r\n\r\nclass SessionExpired extends React.Component {\r\n render () {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default SessionExpired;\r\n","import CoreStyles from '../../utils/styles/core-styles';\r\n\r\nconst DashboardStyles = theme => ({\r\n gridItem: {\r\n padding: [10, 5]\r\n },\r\n skeletonContainer: {\r\n height: 125,\r\n padding: 10,\r\n position: 'relative',\r\n marginBottom: 20\r\n },\r\n skeletonButton: {\r\n right: 10,\r\n bottom: 10,\r\n position: 'absolute'\r\n },\r\n emptyListView: {\r\n fontSize: '20px',\r\n textAlign: 'center',\r\n marginTop: 60,\r\n width: '100%'\r\n },\r\n gridContainer: {\r\n padding: '20px 0'\r\n },\r\n toggleButton: {\r\n minWidth: '90px'\r\n },\r\n ...CoreStyles(theme)\r\n});\r\n\r\nexport default DashboardStyles;","import CoreStyles from '../../../utils/styles/core-styles';\r\n\r\nconst CompetitionStyles = theme => ({\r\n contentSpace: {\r\n marginTop: 30\r\n },\r\n competition: {\r\n minHeight: 125,\r\n marginBottom: 20\r\n },\r\n gridContainer: {\r\n position: 'relative',\r\n height: 85\r\n },\r\n buttonContainer: {\r\n width: '100%',\r\n height: 'fit-content',\r\n marginTop: 18\r\n },\r\n buttonContainerEliminated: {\r\n marginTop: 5,\r\n [theme.breakpoints.down('xs')]: {\r\n marginTop: 17\r\n }\r\n },\r\n bottomFooterContainer: {\r\n width: '100%',\r\n height: 'fit-content',\r\n marginTop: 18,\r\n [theme.breakpoints.down('xs')]: {\r\n marginTop: 27\r\n }\r\n },\r\n buttonWinner: {\r\n float: 'right'\r\n },\r\n bodyTextContainer: {\r\n width: 'calc(100% - 64px)',\r\n display: 'inline-block'\r\n },\r\n bodyText: {\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap',\r\n overflow: 'hidden',\r\n width: '100%',\r\n fontSize: '14px',\r\n display: 'inline-block',\r\n [theme.breakpoints.down('xs')]: {\r\n fontSize: '12px'\r\n }\r\n },\r\n warning: {\r\n fontSize: 12,\r\n padding: 5,\r\n marginTop: 10\r\n },\r\n contentRoot: {\r\n // paddingBottom: [16, '!important']\r\n },\r\n competitionName: {\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap',\r\n overflow: 'hidden',\r\n fontSize: '25px',\r\n fontWeight: 400,\r\n [theme.breakpoints.down('xs')]: {\r\n fontSize: '18px'\r\n }\r\n },\r\n teamsRemaining: {\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap',\r\n overflow: 'hidden',\r\n [theme.breakpoints.down('xs')]: {\r\n fontSize: '14px'\r\n }\r\n },\r\n competitionPlayStatus: {\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap',\r\n overflow: 'hidden',\r\n fontSize: '20px',\r\n fontWeight: 400,\r\n [theme.breakpoints.down('xs')]: {\r\n fontSize: '16px'\r\n }\r\n },\r\n competitionPlaySubtitle: {\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap',\r\n overflow: 'hidden',\r\n fontSize: '14px',\r\n marginTop: -6,\r\n [theme.breakpoints.down('xs')]: {\r\n fontSize: '12px'\r\n }\r\n },\r\n leftHeader: {\r\n width: '50%',\r\n textAlign: 'left',\r\n display: 'inline-block'\r\n },\r\n rightHeader: {\r\n width: '50%',\r\n textAlign: 'right',\r\n display: 'inline-block'\r\n },\r\n fullHeader: {\r\n width: '100%',\r\n textAlign: 'left',\r\n display: 'inline-block'\r\n },\r\n infoText: {\r\n fontWeight: 'bold',\r\n color: '#000000',\r\n backgroundColor: process.env.REACT_APP_COMPETITIONGOLF_NEUTRAL_COLOUR,\r\n textAlign: 'center',\r\n padding: '10px 0',\r\n fontSize: '12px',\r\n [theme.breakpoints.down('xs')]: {\r\n fontSize: '10px'\r\n }\r\n },\r\n warningText: {\r\n backgroundColor: process.env.REACT_APP_COMPETITIONGOLF_WARNING_COLOUR\r\n },\r\n matchText: {\r\n width: '50%',\r\n [theme.breakpoints.down('sm')]: {\r\n width: '100%'\r\n }\r\n },\r\n organisationText: {\r\n fontSize: '14px'\r\n },\r\n ...CoreStyles(theme)\r\n});\r\n\r\nexport default CompetitionStyles;","export const TeamPlayStatus = {\r\n Won: 1,\r\n Eliminated: 2,\r\n Undrawn: 3,\r\n Ready: 4,\r\n Playing: 5,\r\n Incomplete: 6\r\n};\r\n\r\nexport const MatchplayScores = [\r\n '1 Up',\r\n '2 Up',\r\n '2 & 1',\r\n '3 & 1',\r\n '3 & 2',\r\n '4 & 2',\r\n '4 & 3',\r\n '5 & 3',\r\n '5 & 4',\r\n '6 & 4',\r\n '6 & 5',\r\n '7 & 5',\r\n '7 & 6',\r\n '8 & 6',\r\n '8 & 7',\r\n '9 & 7',\r\n '9 & 8',\r\n '10 & 8',\r\n];\r\n\r\nexport const DefaultGravatarUrl = 'https://www.gravatar.com/avatar/000?s=250&d=mm';","import React from 'react';\r\nimport styles from './competition-styles';\r\nimport Moment from 'moment';\r\n//Material\r\nimport { withStyles, Card, CardContent, Grid, Button } from '@material-ui/core';\r\n//utils\r\nimport { TeamPlayStatus } from '../../../utils/constants';\r\n\r\nfunction CompetitionView (props) {\r\n const classes = props.classes;\r\n\r\n return (\r\n \r\n \r\n {\r\n TeamPlayStatus.Won === props.competition.teamPlayStatus.id &&\r\n \r\n \r\n {\r\n props.competition.organisationName &&\r\n
\r\n {\r\n props.competition.organisationName\r\n }\r\n
\r\n }\r\n
{props.competition.competitionName}
\r\n
WINNER
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n }\r\n\r\n {\r\n TeamPlayStatus.Eliminated === props.competition.teamPlayStatus.id &&\r\n \r\n \r\n {\r\n props.competition.organisationName &&\r\n
\r\n {\r\n props.competition.organisationName\r\n }\r\n
\r\n }\r\n
{props.competition.competitionName}
\r\n
ELIMINATED
\r\n
\r\n\r\n \r\n
Round {props.competition.roundEliminated}
\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n }\r\n\r\n {\r\n (TeamPlayStatus.Undrawn === props.competition.teamPlayStatus.id || TeamPlayStatus.Playing === props.competition.teamPlayStatus.id || TeamPlayStatus.Ready === props.competition.teamPlayStatus.id || TeamPlayStatus.Incomplete === props.competition.teamPlayStatus.id ) &&\r\n \r\n \r\n {\r\n props.competition.organisationName &&\r\n
\r\n {\r\n props.competition.organisationName\r\n }\r\n
\r\n }\r\n
{props.competition.competitionName}
\r\n
\r\n\r\n
\r\n {\r\n TeamPlayStatus.Playing === props.competition.teamPlayStatus.id &&\r\n
\r\n
Next Opponent: {props.competition.opposingTeamName ? props.competition.opposingTeamName : '-'}
\r\n
Match Deadline: {props.competition.currentRoundEndDate ? Moment(new Date(props.competition.currentRoundEndDate)).format('Do MMMM YYYY') : '-'}
\r\n
\r\n }\r\n\r\n {\r\n TeamPlayStatus.Undrawn === props.competition.teamPlayStatus.id &&\r\n
\r\n
Draw Date: { props.competition.drawDate ? Moment(new Date(props.competition.drawDate)).format('Do MMMM YYYY') : '-' }
\r\n
\r\n }\r\n\r\n {\r\n TeamPlayStatus.Ready === props.competition.teamPlayStatus.id &&\r\n
\r\n
Waiting for Your Next Opponent
\r\n
\r\n }\r\n\r\n {\r\n TeamPlayStatus.Incomplete === props.competition.teamPlayStatus.id &&\r\n
\r\n
Please complete your registration
\r\n
Register By: {props.competition.registrationDeadline ? Moment(new Date(props.competition.registrationDeadline)).format('Do MMMM YYYY') : '-'}
\r\n
\r\n }\r\n\r\n \r\n
\r\n
\r\n }\r\n
\r\n\r\n {\r\n props.competition.infoText &&\r\n
\r\n {props.competition.infoText}\r\n
\r\n }\r\n
\r\n );\r\n}\r\n\r\nexport default withStyles(styles) (CompetitionView);","import React from 'react';\r\nimport styles from './dashboard-styles';\r\nimport _ from 'lodash';\r\n//material\r\nimport { Grid, withStyles, Container, Paper } from '@material-ui/core';\r\nimport { Skeleton, ToggleButtonGroup, ToggleButton } from '@material-ui/lab';\r\n//components\r\nimport Competition from './competition';\r\n\r\nfunction DashboardView (props) {\r\n const classes = props.classes;\r\n let competitions = props.competitions;\r\n let multipleDisplayModesRequired = (_.find(props.competitions, c => c.isPast) &&\r\n _.find(props.competitions, c => !c.isPast));\r\n\r\n if (multipleDisplayModesRequired)\r\n competitions = competitions.filter(c => {\r\n return (props.toggleState === '0' && !c.isPast) || (props.toggleState === '1' && c.isPast);\r\n });\r\n\r\n return (\r\n \r\n \r\n {\r\n multipleDisplayModesRequired &&\r\n \r\n \r\n \r\n Current\r\n \r\n \r\n Past\r\n \r\n \r\n \r\n }\r\n\r\n {\r\n !props.isLoading && competitions.length > 0 &&\r\n competitions.map((competition, i) =>\r\n \r\n \r\n )\r\n }\r\n\r\n {\r\n !props.isLoading && competitions.length === 0 &&\r\n
\r\n No Competitions to show\r\n
\r\n }\r\n\r\n {\r\n props.isLoading &&\r\n \r\n \r\n \r\n \r\n \r\n }\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default withStyles(styles) (DashboardView);\r\n\r\nfunction SkeletonLoadingView (props) {\r\n const classes = props.classes;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}","import React from 'react';\r\nimport { withRouter } from 'react-router-dom';\r\n//components\r\nimport DashboardView from './dashboard-view';\r\n//utils\r\nimport OrganisationService from '../../utils/data-transfer/organisation-service';\r\n\r\nclass DashboardContainer extends React.Component {\r\n constructor (props) {\r\n super (props);\r\n\r\n this._organisationService = new OrganisationService();\r\n this.state = {\r\n competitions: [],\r\n isLoading: true,\r\n toggleState: '0'\r\n }\r\n }\r\n\r\n componentDidMount () {\r\n this._isMounted = true;\r\n return this.getCompetitions();\r\n }\r\n\r\n componentWillUnmount () {\r\n this._isMounted = false;\r\n }\r\n\r\n getCompetitions = async () => {\r\n try {\r\n let competitions = await this._organisationService.getUserCompetitions();\r\n\r\n if (!this._isMounted)\r\n return;\r\n\r\n this.setState({competitions, isLoading: false});\r\n } catch (err) {\r\n console.log(err);\r\n this.props.history.push('/error?errorMessage=An unexpected error occurred when retrieving your Competitions.\\nIf this error persists please Contact Us.');\r\n }\r\n };\r\n\r\n viewCompetition = (competitionId, competitionPlayerId) => {\r\n this.props.history.push(`competition/${competitionId}/${competitionPlayerId}`);\r\n };\r\n\r\n completeRegistration = (inviteCode) => {\r\n this.props.history.push(`invite/${inviteCode}`);\r\n };\r\n\r\n setToggleState = (e, toggleState) => {\r\n if (toggleState != null)\r\n this.setState({toggleState});\r\n };\r\n\r\n render () {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(DashboardContainer);","import React from 'react';\r\n//Components\r\nimport Dashboard from '../../components/dashboard';\r\n//Material\r\n\r\nclass MyDashboard extends React.Component {\r\n render () {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default MyDashboard;","const CompetitionStyles = theme => ({\r\n addResultsGrid: {\r\n textAlign: 'right'\r\n },\r\n competitionHeaderGrid: {\r\n marginBottom: 20\r\n }\r\n});\r\n\r\nexport default CompetitionStyles;","import CoreStyles from '../../../utils/styles/core-styles';\r\n\r\nconst DetailStyles = theme => ({\r\n gridItemLeft: {\r\n padding: '10px 5px 10px 0',\r\n [theme.breakpoints.down('sm')] : {\r\n padding: '10px 0'\r\n }\r\n },\r\n gridItemRight: {\r\n padding: '10px 0 10px 5px',\r\n [theme.breakpoints.down('sm')] : {\r\n padding: 0\r\n }\r\n },\r\n cardBodyPadding: {\r\n padding: '24px 10px 0'\r\n },\r\n cardHeader: {\r\n fontSize: 'h6',\r\n fontWeight: 'bold',\r\n color: theme.palette.primary.contrastText,\r\n backgroundColor: theme.palette.primary.main,\r\n textAlign: 'center',\r\n padding: '10px 0'\r\n },\r\n cardBar: {\r\n fontSize: 15,\r\n marginBottom: 5,\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap',\r\n overflow: 'hidden'\r\n },\r\n cardContent: {\r\n padding: '0 0 16px'\r\n },\r\n playerCardSpacer: {\r\n marginTop: 10\r\n },\r\n avatarImageContainer: {\r\n textAlign: 'center'\r\n },\r\n avatarRoot: {\r\n margin: '0 auto',\r\n height: 80,\r\n width: 80\r\n },\r\n editAvatar: {\r\n fontSize: 12,\r\n marginTop: 5,\r\n textDecoration: 'underline'\r\n },\r\n viewOpponent: {\r\n fontSize: 12,\r\n marginTop: 20,\r\n textAlign: 'center'\r\n },\r\n viewOpponentText: {\r\n textDecoration: 'underline',\r\n width: 'fit-content',\r\n margin: '0 auto',\r\n cursor: 'pointer',\r\n '&:hover' : {\r\n color: '#008CBA'\r\n }\r\n },\r\n opponentXlText: {\r\n fontSize: 28\r\n },\r\n opponentDrawDate: {\r\n fontSize: 20,\r\n marginTop: 10\r\n },\r\n enterResultsDetails: {\r\n textAlign: 'center',\r\n marginBottom: 35,\r\n fontSize: 16\r\n },\r\n enterResultsLabel: {\r\n fontSize: 18,\r\n lineHeight: '56px',\r\n marginBottom: 10\r\n },\r\n enterResultsPaper: {\r\n position: 'relative'\r\n },\r\n enterResultsLoadingContainer: {\r\n position: 'absolute',\r\n top: 0,\r\n left: 0,\r\n backgroundColor: 'rgba(0, 0, 0, 0.5)',\r\n zIndex: 1500,\r\n width: '100%',\r\n height: '100%',\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n color: 'white',\r\n flexDirection: 'column'\r\n },\r\n errorText: {\r\n fontSize: '12px',\r\n color: 'red'\r\n },\r\n ...CoreStyles(theme)\r\n});\r\n\r\nexport default DetailStyles;","import CoreStyles from '../../utils/styles/core-styles';\r\n\r\nconst TeamStyles = theme => ({\r\n cardBodyPadding: {\r\n padding: '24px 26px 0'\r\n },\r\n cardHeader: {\r\n fontSize: 'h6',\r\n fontWeight: 'bold',\r\n color: theme.palette.primary.contrastText,\r\n backgroundColor: theme.palette.primary.main,\r\n textAlign: 'center',\r\n padding: '10px 0'\r\n },\r\n cardBar: {\r\n fontSize: 15,\r\n marginBottom: 5,\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap',\r\n overflow: 'hidden'\r\n },\r\n cardContent: {\r\n position: 'relative',\r\n padding: 0\r\n },\r\n wizardEdit: {\r\n width: 'fit-content',\r\n position: 'absolute',\r\n right: 5,\r\n top: 8,\r\n fontSize: '12px',\r\n cursor: 'pointer'\r\n },\r\n ...CoreStyles(theme)\r\n});\r\n\r\nexport default TeamStyles;","import React from 'react';\r\nimport styles from './team-styles';\r\n//material\r\nimport { Card, CardContent, Typography, withStyles, Button } from '@material-ui/core';\r\nimport { Skeleton } from '@material-ui/lab';\r\n\r\nfunction TeamView (props) {\r\n const classes = props.classes;\r\n\r\n return (\r\n \r\n \r\n {props.isSingles ? 'Player Details' : 'Team Details'}\r\n {\r\n props.isWizardView &&\r\n \r\n edit\r\n \r\n }\r\n\r\n
\r\n {\r\n !props.isLoading ?\r\n {props.isSingles ? 'Player Name' : 'Team Name'}: {props.details.pairName ? props.details.pairName : '-'} :\r\n \r\n }\r\n\r\n {\r\n !props.isLoading ?\r\n Home Club: {props.details.clubName ? props.details.clubName : '-'} :\r\n \r\n }\r\n
\r\n\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default withStyles(styles) (TeamView);","import CoreStyles from '../../utils/styles/core-styles';\r\n\r\nconst TeamPlayerStyles = theme => ({\r\n cardBodyPadding: {\r\n padding: '24px 26px 0'\r\n },\r\n cardAvatarBodyPadding: {\r\n padding: '24px 10px 0'\r\n },\r\n cardHeader: {\r\n fontSize: 'h6',\r\n fontWeight: 'bold',\r\n color: theme.palette.primary.contrastText,\r\n backgroundColor: theme.palette.primary.main,\r\n textAlign: 'center',\r\n padding: '10px 0'\r\n },\r\n cardBar: {\r\n fontSize: 15,\r\n marginBottom: 5,\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap',\r\n overflow: 'hidden'\r\n },\r\n playerCardSpacer: {\r\n marginTop: 10,\r\n minHeight: 201\r\n },\r\n avatarRoot: {\r\n margin: '0 auto',\r\n height: 80,\r\n width: 80,\r\n [theme.breakpoints.down('sm')]: {\r\n marginBottom: 15\r\n }\r\n },\r\n avatarLarge: {\r\n height: 100,\r\n width: 100\r\n },\r\n editAvatar: {\r\n fontSize: 12,\r\n marginTop: 5,\r\n textDecoration: 'underline',\r\n cursor: 'pointer',\r\n '&:hover' : {\r\n color: '#008CBA'\r\n }\r\n },\r\n cardContent: {\r\n position: 'relative',\r\n padding: 0\r\n },\r\n wizardEdit: {\r\n width: 'fit-content',\r\n position: 'absolute',\r\n right: 5,\r\n top: 8,\r\n fontSize: '12px',\r\n cursor: 'pointer'\r\n },\r\n playerTextSmallPadding: {\r\n [theme.breakpoints.down('sm')]: {\r\n paddingLeft: 26\r\n }\r\n },\r\n ...CoreStyles(theme)\r\n});\r\n\r\nexport default TeamPlayerStyles;","import React from 'react';\r\nimport styles from './team-player-styles';\r\n//material\r\nimport { Card, CardContent, withStyles, Typography, Grid, Avatar, Button } from '@material-ui/core';\r\nimport { Skeleton } from '@material-ui/lab';\r\n\r\nfunction TeamPlayerView (props) {\r\n const classes = props.classes;\r\n\r\n return (\r\n \r\n \r\n { props.isLeadPlayer ? 'Lead Player' : 'Additional Player' }\r\n\r\n {\r\n props.isWizardView &&\r\n \r\n edit\r\n \r\n }\r\n\r\n \r\n {\r\n props.displayAvatar &&\r\n \r\n {\r\n !props.isLoading ?\r\n :\r\n \r\n }\r\n\r\n {\r\n props.canEditPlayer &&\r\n ( !props.isLoading ?\r\n props.handleShowDialog(true, props.player)}>edit :\r\n \r\n )\r\n }\r\n \r\n }\r\n\r\n \r\n {\r\n !props.isLoading ?\r\n { props.player.name } :\r\n \r\n }\r\n\r\n {\r\n !props.isLoading ?\r\n HCP Index: { props.player.handicap } :\r\n \r\n }\r\n\r\n {\r\n !props.isLoading ?\r\n (props.player.email && { props.emailLink ? { props.player.email } : props.player.email }) :\r\n \r\n }\r\n\r\n {\r\n !props.isLoading ?\r\n (props.player.phone && { props.player.phone }) :\r\n \r\n }\r\n \r\n \r\n\r\n \r\n \r\n );\r\n}\r\n\r\nexport default withStyles(styles) (TeamPlayerView);\r\n","import React from 'react';\r\nimport styles from '../details-styles';\r\nimport Moment from 'moment';\r\n//material\r\nimport { Card, CardContent, withStyles, Typography, Grid, Button } from '@material-ui/core';\r\nimport { Skeleton } from '@material-ui/lab';\r\n//utils\r\nimport { TeamPlayStatus } from '../../../../utils/constants';\r\n\r\nfunction OpponentView (props) {\r\n const classes = props.classes;\r\n const isBye = props.results.length > 0 && props.results[0].isBye;\r\n\r\n return (\r\n \r\n \r\n Next Match\r\n\r\n {\r\n !props.isLoading &&\r\n
\r\n {\r\n TeamPlayStatus.Won === props.details.teamPlayStatus.id &&\r\n
\r\n You Won the Competition!\r\n
\r\n }\r\n\r\n {\r\n TeamPlayStatus.Eliminated === props.details.teamPlayStatus.id &&\r\n
\r\n You Have Been Eliminated\r\n
\r\n }\r\n\r\n {\r\n TeamPlayStatus.Undrawn === props.details.teamPlayStatus.id &&\r\n
\r\n Waiting for the Draw\r\n Draw Date: { props.details.drawDate ? Moment(new Date(props.details.drawDate)).format('Do MMMM YYYY') : '-' }\r\n

You will receive an email when the draw has been made.

\r\n
\r\n }\r\n\r\n {\r\n TeamPlayStatus.Ready === props.details.teamPlayStatus.id &&\r\n
\r\n { isBye ? 'You have a Bye!' : 'Waiting for Your Next Opponent'}\r\n {\r\n isBye &&\r\n Waiting for Your Next Opponent\r\n }\r\n

You will receive an email when your opponent is ready.

\r\n
\r\n }\r\n\r\n {\r\n TeamPlayStatus.Playing === props.details.teamPlayStatus.id &&\r\n
\r\n { props.details.nextOpponent.name ? props.details.nextOpponent.name : '-' }\r\n\r\n \r\n { props.details.nextOpponent.contactName && { props.details.nextOpponent.contactName } }\r\n { props.details.nextOpponent.contactEmail && { props.details.nextOpponent.contactEmail } }\r\n { props.details.nextOpponent.contactPhone && { props.details.nextOpponent.contactPhone } }\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n

\r\n Match must by played by:
\r\n { props.details.nextOpponent.matchDeadline ? Moment(new Date(props.details.nextOpponent.matchDeadline)).format('Do MMMM YYYY') : '-' }\r\n

\r\n Home Team: { props.details.nextOpponent.isHome ? props.details.nextOpponent.name : props.details.pairName }\r\n
\r\n Away Team: { !props.details.nextOpponent.isHome ? props.details.nextOpponent.name : props.details.pairName }\r\n

\r\n
\r\n }\r\n
\r\n }\r\n\r\n {\r\n props.isLoading &&\r\n
\r\n \r\n \r\n \r\n \r\n\r\n
\r\n \r\n \r\n
\r\n }\r\n\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default withStyles(styles) (OpponentView)","import CoreStyles from '../../../../utils/styles/core-styles';\r\n\r\nconst ViewOpponentStyles = theme => ({\r\n gridItemLeft: {\r\n paddingRight: 5,\r\n [theme.breakpoints.down('sm')] : {\r\n padding: '10px 0'\r\n }\r\n },\r\n gridItemRight: {\r\n paddingLeft: 5,\r\n [theme.breakpoints.down('sm')] : {\r\n padding: 0\r\n }\r\n },\r\n emptyListView: {\r\n fontSize: '20px',\r\n textAlign: 'center',\r\n marginTop: 60\r\n },\r\n viewPaper: {\r\n backgroundColor: theme.palette.siteBackdrop.main\r\n },\r\n dialogHeader: {\r\n textAlign: 'center',\r\n maxHeight: '86px'\r\n },\r\n headerSubtitle: {\r\n fontSize: '14px',\r\n fontWeight: 400\r\n },\r\n ...CoreStyles(theme)\r\n});\r\n\r\nexport default ViewOpponentStyles;","import CoreStyles from '../../../../utils/styles/core-styles';\r\n\r\nconst ResultStyles = theme => ({\r\n gridContainer: {\r\n position: 'relative',\r\n },\r\n result: {\r\n position: 'absolute',\r\n right: 0,\r\n top: 0,\r\n padding: 10,\r\n color: '#ffffff',\r\n borderRadius: 3,\r\n minWidth: '47px',\r\n textAlign: 'center'\r\n },\r\n resultWin: {\r\n backgroundColor: '#3EA410'\r\n },\r\n resultLoss: {\r\n backgroundColor: '#ef4e3a'\r\n },\r\n resultText: {\r\n fontSize: '10px'\r\n },\r\n textContainer: {\r\n width: '100%'\r\n },\r\n roundText: {\r\n marginBottom: 30,\r\n fontSize: '24px',\r\n fontWeight: 400,\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap',\r\n overflow: 'hidden',\r\n width: 'calc(100% - 70px)',\r\n [theme.breakpoints.down('xs')]: {\r\n fontSize: '18px'\r\n }\r\n },\r\n matchText: {\r\n width: '50%',\r\n fontSize: '16px',\r\n display: 'inline-block',\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap',\r\n overflow: 'hidden',\r\n [theme.breakpoints.down('xs')]: {\r\n fontSize: '12px',\r\n display: 'block',\r\n width: '100%'\r\n }\r\n },\r\n ...CoreStyles(theme)\r\n});\r\n\r\nexport default ResultStyles;","import React from 'react';\r\nimport styles from './result-styles';\r\n//material\r\nimport { Card, CardContent, withStyles, Grid } from '@material-ui/core';\r\n\r\nfunction ResultView (props) {\r\n const classes = props.classes;\r\n\r\n return (\r\n \r\n \r\n \r\n
\r\n
\r\n Round #{props.result.roundNumber}\r\n
\r\n
\r\n\r\n
\r\n
Opponent: { props.result.opponentName ? props.result.opponentName : 'none' }
\r\n
{ props.result.clubName ? 'Club: ' + props.result.clubName : '' }
\r\n
\r\n\r\n
\r\n
{ props.result.isBye ? 'BYE' : props.result.result }
\r\n { !props.result.isBye &&
{ props.result.isWinner ? 'WON' : 'LOST' }
}\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default withStyles(styles) (ResultView);","import React from 'react';\r\nimport styles from './view-opponent-styles';\r\n//material\r\nimport { Grid, withStyles, Dialog, DialogContent, DialogTitle, DialogActions, Button } from '@material-ui/core';\r\nimport { Skeleton } from '@material-ui/lab';\r\n//component\r\nimport TeamPlayer from '../../../team-player';\r\nimport Result from '../../results/result';\r\n\r\nfunction ViewOpponentView (props) {\r\n const classes = props.classes;\r\n\r\n return (\r\n props.handleSetViewOpponent(false)}\r\n classes={{ paper: classes.viewPaper }}>\r\n \r\n { !props.isLoadingOpponent ?
{props.opponent.pairName}
: }\r\n { !props.isLoadingOpponent ?
{props.opponent.clubName}
: }\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {\r\n props.opponent.additionalPlayer &&\r\n \r\n \r\n \r\n }\r\n \r\n\r\n \r\n \r\n {\r\n props.opponent.results.length > 0 && props.opponent.results.map((result, key) =>\r\n )\r\n }\r\n\r\n {\r\n props.opponent.results.length === 0 &&\r\n
\r\n No Results to show\r\n
\r\n }\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n\r\n \r\n );\r\n}\r\n\r\nexport default withStyles(styles) (ViewOpponentView);","import CoreStyles from '../../utils/styles/core-styles';\r\n\r\nconst AvatarEditorStyles = theme => ({\r\n sliderWidth: {\r\n width: '75%',\r\n maxWidth: 250,\r\n display: 'block',\r\n margin: '0 auto'\r\n },\r\n ...CoreStyles(theme)\r\n});\r\n\r\nexport default AvatarEditorStyles;","import React from 'react';\r\nimport AvatarEditor from 'react-avatar-editor';\r\nimport editorStyles from './avatar-editor-styles';\r\n//material\r\nimport { Slider, withStyles } from '@material-ui/core';\r\n\r\nfunction AvatarEditorView (props) {\r\n const classes = props.classes;\r\n\r\n return (\r\n
\r\n {} : props.handleImageChange}/>\r\n\r\n \r\n\r\n
\r\n )\r\n}\r\n\r\nexport default withStyles(editorStyles) (AvatarEditorView);\r\n","import React from 'react';\r\n//components\r\nimport View from './avatar-editor-view';\r\n\r\nclass AvatarEditorContainer extends React.Component {\r\n constructor (props) {\r\n super (props);\r\n\r\n this.state = {\r\n scale: 1,\r\n };\r\n }\r\n\r\n setEditorRef = (editor) => this.editor = editor;\r\n\r\n handleSliderChange = (e, scale) => this.setState({ scale });\r\n\r\n handleImageChange = () => {\r\n if (this.editor && this.editor.getImageScaledToCanvas())\r\n this.props.onImageChange(this.editor.getImageScaledToCanvas().toDataURL('image/jpeg').substr(23));\r\n };\r\n\r\n render () {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default AvatarEditorContainer;","import React from 'react';\r\nimport styles from '../details-styles';\r\n//material\r\nimport {\r\n Dialog,\r\n DialogTitle,\r\n DialogContent,\r\n DialogActions,\r\n Button,\r\n Grid,\r\n withStyles,\r\n TextField,\r\n Tooltip\r\n} from '@material-ui/core';\r\n//components\r\nimport AvatarEditor from '../../../avatar-editor';\r\n\r\nfunction EditPlayerView (props) {\r\n const classes = props.classes;\r\n\r\n return (\r\n props.handleShowDialog(false)}\r\n fullWidth>\r\n Edit Player\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n {\r\n props.showImageSizeWarning &&\r\n \r\n uploaded image must be less than 4MB\r\n \r\n }\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n Submit\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default withStyles(styles) (EditPlayerView);\r\n","import React from 'react';\r\n//components\r\nimport View from './edit-player-view';\r\n//utils\r\nimport { DefaultGravatarUrl } from '../../../../utils/constants';\r\n\r\nclass EditPlayerContainer extends React.Component {\r\n constructor (props) {\r\n super (props);\r\n\r\n this.state = {\r\n image: '',\r\n showImageSizeWarning: false\r\n };\r\n }\r\n\r\n handleChangedImage = (changedImage) => this.changedImage = changedImage;\r\n\r\n handleImageUpload = async (e) => {\r\n if (!e.target.files.length)\r\n return;\r\n\r\n const size = e.target.files[0].size;\r\n const name = e.target.files[0].name;\r\n if (size > 4194304)\r\n return this.setState({ showImageSizeWarning: true });\r\n\r\n const fileData = await this.getBase64(e.target.files[0]);\r\n const file = {\r\n format: name.substr(name.lastIndexOf('.') + 1),\r\n data: fileData\r\n };\r\n\r\n this.setState({ image: file, showImageSizeWarning: false });\r\n };\r\n\r\n getBase64 = (file) => {\r\n return new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.readAsBinaryString(file);\r\n reader.onload = () => resolve(window.btoa(reader.result));\r\n reader.onerror = error => reject(error);\r\n });\r\n };\r\n\r\n handleConfirmButton = () => {\r\n this.props.handleEditPlayerSubmit(this.changedImage);\r\n\r\n this.props.handleShowDialog(false);\r\n };\r\n\r\n render () {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default EditPlayerContainer;","const AppBarStyles = theme => ({\r\n menuContainer: {\r\n textAlign: 'center',\r\n zIndex: '1400'\r\n },\r\n menuPaper: {\r\n padding: '5px 0',\r\n minHeight: 44,\r\n overflowY: 'auto',\r\n maxHeight: 190\r\n },\r\n noResults: {\r\n lineHeight: '44px'\r\n }\r\n});\r\n\r\n\r\nexport default AppBarStyles\r\n","import React from 'react';\r\nimport styles from './async-select-styles';\r\n//material\r\nimport { TextField, Popper, Paper, CircularProgress, withStyles, Typography, List, ListItem, ListItemText } from '@material-ui/core';\r\n\r\nfunction AsyncSelectView (props) {\r\n const classes = props.classes;\r\n\r\n return (\r\n
\r\n props.handleSelectFocused(true)}\r\n onBlur={() => props.handleSelectFocused(false)}\r\n helperText={props.helperText}/>\r\n\r\n {\r\n props.searchText.length > 2 && props.selectFocused && props.anchorEl &&\r\n \r\n \r\n {\r\n props.showLoading &&\r\n \r\n }\r\n\r\n {\r\n !props.showLoading && props.collection.length === 0 &&\r\n No Results found\r\n }\r\n\r\n {\r\n !props.showLoading && props.collection.length > 0 &&\r\n \r\n {\r\n props.collection.map((item, i) =>\r\n props.handleSelectItem(item.name, item.id)}>\r\n \r\n )\r\n }\r\n \r\n }\r\n \r\n \r\n }\r\n
\r\n\r\n );\r\n}\r\n\r\nexport default withStyles (styles) (AsyncSelectView);"," import React from 'react';\r\nimport _ from 'lodash';\r\n//components\r\nimport AsyncSelectView from './async-select-view';\r\n\r\nclass AsyncSelectContainer extends React.Component {\r\n constructor (props) {\r\n super (props);\r\n\r\n this.state = {\r\n searchText: this.props.defaultText ? this.props.defaultText : '',\r\n selectFocused: false,\r\n anchorEl: null,\r\n showLoading: true\r\n };\r\n\r\n this.debounceApiCall = _.debounce(this.makeAsyncCall, 1000);\r\n }\r\n\r\n handleSelectFocused = (selectFocused) => this.setState({selectFocused});\r\n\r\n handleTextChange = (e) => {\r\n this.setState({ searchText: e.target.value, showLoading: true});\r\n\r\n if (!this.state.anchorEl)\r\n this.setState({anchorEl: e.currentTarget});\r\n\r\n if (e.target.value.length <= 2)\r\n return;\r\n\r\n this.debounceApiCall(e.target.value);\r\n };\r\n\r\n makeAsyncCall = async (searchTerm) => {\r\n await this.props.asyncCall(searchTerm);\r\n\r\n this.setState({ showLoading: false });\r\n };\r\n\r\n handleSelectItem = (searchText, id) => {\r\n this.setState({\r\n searchText\r\n });\r\n\r\n this.props.handleAssignId(id);\r\n };\r\n\r\n render () {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default AsyncSelectContainer;","import React from 'react';\r\nimport styles from '../details-styles';\r\n//material\r\nimport {\r\n Dialog,\r\n DialogTitle,\r\n DialogContent,\r\n DialogActions,\r\n Button,\r\n Grid,\r\n withStyles,\r\n TextField,\r\n} from '@material-ui/core';\r\n//components\r\nimport AsyncSelect from '../../../async-select';\r\n\r\nfunction EditTeamView (props) {\r\n const classes = props.classes;\r\n let collection = props.clubs.map(club => { return {id: club.clubId, name: club.name + ' (' + club.county +')'}; });\r\n\r\n return (\r\n props.handleShowDialog(false)}\r\n fullWidth>\r\n Edit Team\r\n \r\n \r\n \r\n \r\n \r\n\r\n {\r\n props.details.allowHomeClubChanges &&\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n Submit\r\n \r\n \r\n\r\n \r\n )\r\n}\r\n\r\nexport default withStyles(styles) (EditTeamView)","import React from 'react';\r\nimport styles from './details-styles';\r\n//material\r\nimport { Grid, withStyles } from '@material-ui/core';\r\n//components\r\nimport Team from '../../team';\r\nimport TeamPlayer from '../../team-player';\r\nimport NextOpponent from './next-opponent';\r\nimport ViewOpponent from './view-opponent';\r\nimport EditPlayer from './edit-player';\r\nimport EditTeam from './edit-team';\r\n\r\nfunction DetailsView (props) {\r\n const classes = props.classes;\r\n\r\n return (\r\n \r\n \r\n props.handleShowTeamDialog(true)}\r\n details={props.details}\r\n isLoading={props.isLoading}\r\n isSingles={props.details.tournamentFormatId === 1}/>\r\n\r\n props.handleShowDialog(true, props.details.leadPlayer)}\r\n player={props.details.leadPlayer}\r\n isLoading={props.isLoading}\r\n displayAvatar/>\r\n\r\n {\r\n props.details.additionalPlayer &&\r\n props.handleShowDialog(true, props.details.additionalPlayer)}\r\n player={props.details.additionalPlayer}\r\n handleShowDialog={props.handleShowDialog}\r\n isLoading={props.isLoading}\r\n displayAvatar/>\r\n }\r\n\r\n \r\n\r\n \r\n \r\n \r\n\r\n {\r\n props.viewOpponent &&\r\n \r\n }\r\n\r\n {\r\n props.showEditPlayerDialog &&\r\n \r\n }\r\n\r\n {\r\n props.showEditTeamDialog &&\r\n \r\n }\r\n \r\n )\r\n}\r\n\r\nexport default withStyles(styles) (DetailsView);","import React from 'react';\r\n//component\r\nimport DetailsView from './details-view';\r\n//utils\r\nimport { CompetitionService} from '../../../utils/data-transfer';\r\n\r\nclass DetailsContainer extends React.Component {\r\n constructor (props) {\r\n super (props);\r\n\r\n this.state = {\r\n viewOpponent: false,\r\n opponent: { leadPlayer: {}, additionalPlayer: {}, results: []},\r\n isLoadingOpponent: false,\r\n showEditPlayerDialog: false,\r\n editPlayer: null,\r\n showEditTeamDialog: false,\r\n editTeam: null\r\n };\r\n\r\n this._competitionService = new CompetitionService();\r\n }\r\n\r\n handleShowDialog = (showEditPlayerDialog, editPlayer) => this.setState({showEditPlayerDialog, editPlayer});\r\n handleEditPlayerChange = (e) => this.setState({ editPlayer: Object.assign({}, this.state.editPlayer, {[e.target.name]: e.target.value})});\r\n\r\n handleShowTeamDialog = (showEditTeamDialog) => this.setState({showEditTeamDialog, editTeam: { pairName: this.props.details.pairName, clubName: this.props.details.clubName, clubId: this.props.details.clubId }});\r\n handleEditTeamChange = (e) => this.setState({ editTeam: Object.assign({}, this.state.editTeam, {[e.target.name]: e.target.value})});\r\n handleClubChange = (clubId) => this.setState({ editTeam: Object.assign({}, this.state.editTeam, {clubId})});\r\n\r\n handleSetViewOpponent = async (viewOpponent) => {\r\n this.setState({ viewOpponent });\r\n\r\n if (!viewOpponent)\r\n return this.setState({ opponent: { leadPlayer: {}, additionalPlayer: {}, results: [] }});\r\n\r\n try {\r\n this.setState({isLoadingOpponent: true});\r\n let opponent = await this._competitionService.getUserCompetitionOpponent(this.props.details.competitionId, this.props.details.competitionTeamId);\r\n\r\n this.setState({ opponent, isLoadingOpponent: false });\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n };\r\n\r\n handleEditPlayerSubmit = async (image) => {\r\n try {\r\n this.props.setLoading(true);\r\n\r\n if (image)\r\n await this._competitionService.updatePlayerPhoto(this.props.details.competitionId, this.state.editPlayer.competitionTeamPlayerId, { image, format: 'jpeg' });\r\n\r\n let player = Object.assign({}, this.state.editPlayer);\r\n await this._competitionService.setCompetitionPlayer(this.props.details.competitionId, this.state.editPlayer.competitionTeamPlayerId, player);\r\n\r\n await this.props.getCompetition();\r\n this.props.setLoading(false);\r\n } catch (err) {\r\n console.log(err);\r\n this.props.setLoading(false);\r\n }\r\n };\r\n\r\n handleEditTeamSubmit = async () => {\r\n try {\r\n this.props.setLoading(true);\r\n this.setState({showEditTeamDialog: false});\r\n await this._competitionService.setCompetitionPair(this.props.details.competitionId, this.props.details.competitionTeamId, this.state.editTeam);\r\n\r\n await this.props.getCompetition();\r\n this.props.setLoading(false);\r\n } catch (err) {\r\n console.log(err);\r\n this.setState({showEditTeamDialog: false});\r\n this.props.setLoading(false);\r\n }\r\n };\r\n\r\n render () {\r\n return (\r\n \r\n )\r\n }\r\n}\r\n\r\nexport default DetailsContainer;\r\n","import CoreStyles from '../../../utils/styles/core-styles';\r\n\r\nconst ResultsStyles = theme => ({\r\n gridItem: {\r\n padding: '10px 0'\r\n },\r\n emptyListView: {\r\n fontSize: '20px',\r\n textAlign: 'center',\r\n marginTop: 60\r\n },\r\n ...CoreStyles(theme)\r\n});\r\n\r\nexport default ResultsStyles;","import React from 'react';\r\nimport styles from './results-styles';\r\n//material\r\nimport { Grid, withStyles } from '@material-ui/core';\r\n//component\r\nimport Result from './result';\r\n\r\nfunction ResultsView (props) {\r\n const classes = props.classes;\r\n\r\n return (\r\n \r\n {\r\n props.results.length > 0 && props.results.map((result, key) =>\r\n \r\n \r\n )\r\n }\r\n\r\n \r\n {\r\n props.results.length === 0 &&\r\n
\r\n No Results to show\r\n
\r\n }\r\n
\r\n\r\n
\r\n );\r\n}\r\n\r\nexport default withStyles(styles) (ResultsView);","import React from 'react';\r\n//components\r\nimport ResultsView from './results-view';\r\n\r\nclass ResultsContainer extends React.Component {\r\n render () {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default ResultsContainer;","import CoreStyles from '../../../utils/styles/core-styles';\r\n\r\nconst BracketStyles = theme => ({\r\n emptyListView: {\r\n fontSize: '20px',\r\n textAlign: 'center',\r\n marginTop: 60\r\n },\r\n roundPadding: {\r\n padding: 10\r\n },\r\n newDrawBracketHeader: {\r\n height: 35,\r\n lineHeight: '35px',\r\n textAlign: 'center',\r\n backgroundColor: theme.palette.primary.main,\r\n borderTopRightRadius: 4,\r\n borderTopLeftRadius: 4,\r\n color: theme.palette.primary.contrastText\r\n },\r\n newDrawBodyContainer: {\r\n height: 70\r\n },\r\n newDrawTeam: {\r\n padding: '0 10px',\r\n lineHeight: '35px',\r\n height: '35px',\r\n borderLeft: '3px solid transparent'\r\n },\r\n newDrawBottomTeam: {\r\n borderBottomLeftRadius: 4\r\n },\r\n newDrawTeamName: {\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap',\r\n overflow: 'hidden',\r\n fontSize: '14px'\r\n },\r\n newDrawTeamWon: {\r\n borderLeftColor: process.env.REACT_APP_COMPETITIONGOLF_WINNING_TEAM_COLOUR\r\n },\r\n newDrawTeamLost: {\r\n borderLeftColor: process.env.REACT_APP_COMPETITIONGOLF_LOSS_TEAM_COLOUR,\r\n color: '#a0a0a0'\r\n },\r\n newDrawResult: {\r\n lineHeight: '70px',\r\n textAlign: 'center',\r\n fontSize: '16px'\r\n },\r\n newDrawEliminated: {\r\n textDecoration: 'line-through'\r\n },\r\n newDrawUnplayed: {\r\n backgroundColor: theme.palette.cgNeutral.main\r\n },\r\n newDrawWon: {\r\n backgroundColor: theme.palette.cgPositive.main\r\n },\r\n newDrawLost: {\r\n backgroundColor: theme.palette.cgWarning.main\r\n },\r\n newDrawNoMatches: {\r\n textAlign: 'center',\r\n padding: ['20px 0', '!important']\r\n },\r\n teamName: {\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap',\r\n overflow: 'hidden',\r\n width: 'calc(100% - 30px)',\r\n maxWidth: 'calc(100% - 30px)',\r\n display: 'inline-block'\r\n },\r\n teamType: {\r\n width: 30,\r\n float: 'right',\r\n display: 'inline-block',\r\n fontSize: '12px'\r\n },\r\n matchDate: {\r\n paddingBottom: 10\r\n },\r\n matchResult: {\r\n fontWeight: 'bold',\r\n fontSize: '24px',\r\n marginTop: '40px',\r\n [theme.breakpoints.down('sm')]: {\r\n marginTop: 0\r\n }\r\n },\r\n viewMatchWinner: {\r\n backgroundColor: '#3ea410',\r\n color: '#ffffff',\r\n padding: '4px 0',\r\n borderRadius: '4px'\r\n },\r\n viewMatchLoser: {\r\n backgroundColor: '#ff5252',\r\n color: '#ffffff',\r\n padding: '4px 0',\r\n borderRadius: '4px'\r\n },\r\n viewMatchDefault: {\r\n backgroundColor: '#d7d7d7',\r\n padding: '4px 0',\r\n borderRadius: '4px'\r\n },\r\n viewMatchDate: {\r\n float: 'left',\r\n fontSize: '14px'\r\n },\r\n viewMatchClub: {\r\n float: 'right',\r\n fontSize: '14px'\r\n },\r\n sliderDialogContent: {\r\n overflowX: 'hidden',\r\n overflowY: 'hidden',\r\n minHeight: 194,\r\n [theme.breakpoints.down('sm')]: {\r\n minHeight: 384\r\n }\r\n },\r\n editLeft: {\r\n paddingRight: 5,\r\n [theme.breakpoints.down('sm')]: {\r\n paddingRight: 0\r\n }\r\n },\r\n editRight: {\r\n paddingLeft: 5,\r\n [theme.breakpoints.down('sm')]: {\r\n paddingLeft: 0\r\n }\r\n },\r\n deadlineContainer: {\r\n height: '30px'\r\n },\r\n deadlineText: {\r\n display: 'inline-block',\r\n fontSize: '14px'\r\n },\r\n deadlinePickerButton: {\r\n marginLeft: 5,\r\n padding: '5px'\r\n },\r\n deadlinePicker: {\r\n '& input': {\r\n display: 'none'\r\n }\r\n },\r\n deadlineIcon: {\r\n height: '20px'\r\n },\r\n dialogTitleContainer: {\r\n position: 'relative',\r\n minHeight: '30px',\r\n paddingBottom: 0\r\n },\r\n dialogTitle: {\r\n position: 'absolute',\r\n width: '100%',\r\n left: 0,\r\n textAlign: 'center'\r\n },\r\n swapButton: {\r\n width: '80px'\r\n },\r\n ...CoreStyles(theme)\r\n});\r\n\r\nexport default BracketStyles;","import React from 'react';\r\nimport _ from 'lodash';\r\nimport styles from '../bracket-styles';\r\nimport Moment from 'moment';\r\n//material\r\nimport { Grid, Typography, withStyles, List, ListItem, ListItemText, Paper } from '@material-ui/core';\r\n\r\nfunction DrawnPerRoundView (props) {\r\n const classes = props.classes;\r\n const rounds = _.uniq(props.bracketMatches.map(b => b.round));\r\n const bracketRounds = rounds.map(br => {\r\n let round = _.find(props.rounds, r => r.roundNumber === br);\r\n\r\n return {\r\n round: br,\r\n matches: props.bracketMatches.filter(bm => bm.round === br && _.find(bm.teams, t => t.name !== '' && t.name !== null)),\r\n deadline: round.endDate ? Moment(new Date(round.endDate)).format('Do MMMM YYYY') : ''\r\n }\r\n });\r\n\r\n const getMyMatchHighlight = (teams, played, bye) => {\r\n let myTeam = _.find(teams, team => team.id === props.details.competitionTeamId);\r\n if (!myTeam)\r\n return '';\r\n\r\n if (!played && !bye)\r\n return classes.newDrawUnplayed;\r\n\r\n if ((played || bye) && myTeam.winner)\r\n return classes.newDrawWon;\r\n\r\n return classes.newDrawLost;\r\n };\r\n\r\n const getResultHighlight = (match, team) => {\r\n if ((!match.played && !match.bye) || (match.bye && (!team.name || team.name === '-')))\r\n return '';\r\n\r\n if (team.winner)\r\n return classes.newDrawTeamWon;\r\n\r\n return classes.newDrawTeamLost;\r\n };\r\n\r\n const getHomeOrAwayIdentifier = (match, team) => {\r\n if (!team.name || team.name === '-' || match.bye)\r\n return '';\r\n\r\n return team.home ? '(H)' : '(A)';\r\n };\r\n\r\n const getByeDisplayValue = (match) => {\r\n if (!match.bye)\r\n return false;\r\n\r\n return _.find(match.teams, team => team.name);\r\n };\r\n\r\n const hasTeam = (match) => _.find(match.teams, team => team.name);\r\n\r\n return (\r\n \r\n {\r\n bracketRounds.filter(br => !props.hideEmptyRounds || br.matches.length).map((br, key) =>\r\n \r\n Round #{br.round}\r\n {\r\n !JSON.parse(process.env.REACT_APP_COMPETITIONGOLF_HIDE_ROUND_DATES) &&\r\n
{ br.deadline }
\r\n }\r\n\r\n \r\n {\r\n br.matches.length > 0 && br.matches.map((match, key2) =>\r\n \r\n \r\n
\r\n Match {match.position}\r\n
\r\n\r\n props.viewMatch(match.position, match)}>\r\n \r\n \r\n {\r\n match.teams.map((team, key3) =>\r\n 0 ? classes.newDrawBottomTeam : '') + ' ' + getResultHighlight(match, team)}>\r\n \r\n
{team.name ? team.name : (getByeDisplayValue(match) ? '' : '-')}
\r\n
{ getHomeOrAwayIdentifier(match, team) }
\r\n
}/>\r\n )\r\n }\r\n \r\n \r\n \r\n { match.result ? match.result : ( match.bye ? 'BYE' : '-' ) }\r\n \r\n \r\n \r\n )\r\n }\r\n\r\n {\r\n br.matches.length === 0 &&\r\n \r\n No matches ready\r\n \r\n }\r\n \r\n )\r\n }\r\n \r\n )\r\n}\r\n\r\nexport default withStyles(styles) (DrawnPerRoundView);","import CoreStyles from '../../../utils/styles/core-styles';\r\n\r\nconst BracketStyles = theme =>(\r\n {\r\n bracket: {\r\n paddingTop: 10,\r\n display: 'inline-block',\r\n fontSize: props => props.elementSize + 'px'\r\n },\r\n round: {\r\n display: 'inline-block',\r\n verticalAlign: 'middle'\r\n },\r\n bracketMatches: {\r\n '& > div': {\r\n display: 'inline-block',\r\n verticalAlign: 'middle'\r\n }\r\n },\r\n matchups: {\r\n '& $match:first-child': {\r\n marginBottom: '2em'\r\n },\r\n display: 'inline-block',\r\n width: 125\r\n },\r\n match: {\r\n borderRadius: 4,\r\n overflow: 'hidden',\r\n backgroundColor: '#ffffff',\r\n '& $team:first-child': {\r\n borderBottom: 'thin solid #f0f2f2'\r\n }\r\n },\r\n team: {\r\n fontSize: '10px',\r\n height: props => props.elementSize * 1.5,\r\n lineHeight: props => props.elementSize * 1.5 + 'px',\r\n borderLeft: '4px solid #858585',\r\n paddingLeft: 10,\r\n width: 'calc(100% - 16px)'\r\n },\r\n teamName: {\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap',\r\n overflow: 'hidden',\r\n width: 'calc(100% - 30px)',\r\n maxWidth: 'calc(100% - 30px)',\r\n display: 'inline-block'\r\n },\r\n teamType: {\r\n width: 30,\r\n float: 'right',\r\n display: 'inline-block',\r\n fontSize: '12px'\r\n },\r\n winningTeam: {\r\n borderLeftColor: process.env.REACT_APP_COMPETITIONGOLF_WINNING_TEAM_COLOUR,\r\n color: process.env.REACT_APP_COMPETITIONGOLF_WINNING_TEAM_COLOUR\r\n },\r\n losingTeam: {\r\n borderLeftColor: process.env.REACT_APP_COMPETITIONGOLF_LOSS_TEAM_COLOUR,\r\n color: '#a0a0a0',\r\n textDecoration: 'line-through'\r\n },\r\n merger: {\r\n height: '5em',\r\n width: '2em',\r\n borderTop: 'thin solid #858585',\r\n borderRight: 'thin solid #858585',\r\n borderBottom: 'thin solid #858585',\r\n display: 'inline-block',\r\n verticalAlign: 'top'\r\n },\r\n line: {\r\n height: '2.5em',\r\n width: '2em',\r\n borderBottom: 'thin solid #858585',\r\n display: 'inline-block',\r\n verticalAlign: 'top'\r\n },\r\n headerContainer: {\r\n margin: '10px 0 20px',\r\n '& $columnHeader:not(:last-child)': {\r\n marginRight: '4em'\r\n }\r\n },\r\n columnHeader: {\r\n display: 'inline-block',\r\n fontSize: '18px',\r\n fontWeight: 500,\r\n width: 124,\r\n textAlign: 'center'\r\n },\r\n columnSubheader: {\r\n fontSize: '12px',\r\n fontWeight: 'normal'\r\n },\r\n round1: {\r\n '& $bracketMatches:not(:last-child)': {\r\n marginBottom: '2em'\r\n },\r\n '& $match:not(:last-child)': {\r\n marginBottom: '2em'\r\n }\r\n },\r\n round2: {\r\n '& $bracketMatches:not(:last-child)': {\r\n marginBottom: '7em'\r\n },\r\n '& $match:not(:last-child)': {\r\n marginBottom: '7em'\r\n },\r\n '& $merger': {\r\n height: '10em'\r\n },\r\n '& $line': {\r\n height: '5em'\r\n }\r\n },\r\n round3: {\r\n '& $bracketMatches:not(:last-child)': {\r\n marginBottom: '17em'\r\n },\r\n '& $match:not(:last-child)': {\r\n marginBottom: '17em'\r\n },\r\n '& $merger': {\r\n height: '20em'\r\n },\r\n '& $line': {\r\n height: '10em'\r\n }\r\n },\r\n round4: {\r\n '& $bracketMatches:not(:last-child)': {\r\n marginBottom: '37em'\r\n },\r\n '& $match:not(:last-child)': {\r\n marginBottom: '37em'\r\n },\r\n '& $merger': {\r\n height: '40em'\r\n },\r\n '& $line': {\r\n height: '20em'\r\n }\r\n },\r\n round5: {\r\n '& $bracketMatches:not(:last-child)': {\r\n marginBottom: '77em'\r\n },\r\n '& $match:not(:last-child)': {\r\n marginBottom: '77em'\r\n },\r\n '& $merger': {\r\n height: '80em'\r\n },\r\n '& $line': {\r\n height: '40em'\r\n }\r\n },\r\n bracket64: {\r\n '& $matchups': {\r\n width: 135\r\n },\r\n '& $team': {\r\n fontSize: '12px'\r\n },\r\n '& $teamType': {\r\n fontSize: '10px',\r\n width: 18,\r\n textAlign: 'center'\r\n },\r\n '& $teamName': {\r\n width: 'calc(100% - 18px)',\r\n maxWidth: 'calc(100% - 18px)',\r\n },\r\n '& $merger': {\r\n width: '0.5em'\r\n },\r\n '& $line': {\r\n width: '0.5em'\r\n },\r\n '& $columnHeader': {\r\n width: 134,\r\n fontSize: '16px'\r\n },\r\n '& $columnHeader:not(:last-child)': {\r\n marginRight: '1em'\r\n },\r\n },\r\n bracket16: {\r\n '& $matchups': {\r\n width: 160\r\n },\r\n '& $team': {\r\n fontSize: '14px'\r\n },\r\n '& $teamType': {\r\n fontSize: '12px'\r\n },\r\n '& $columnHeader': {\r\n width: 152\r\n }\r\n },\r\n bracket32: {\r\n '& $matchups': {\r\n width: 129\r\n },\r\n '& $team': {\r\n fontSize: '12px'\r\n },\r\n '& $teamType': {\r\n fontSize: '10px',\r\n width: 20,\r\n textAlign: 'center'\r\n },\r\n '& $teamName': {\r\n width: 'calc(100% - 20px)',\r\n maxWidth: 'calc(100% - 20px)',\r\n },\r\n '& $columnHeader': {\r\n width: 129,\r\n fontSize: '16px'\r\n },\r\n '& $columnHeader:not(:last-child)': {\r\n marginRight: '3em'\r\n }\r\n },\r\n ...CoreStyles(theme)\r\n });\r\n\r\nexport default BracketStyles;","import React from 'react';\r\nimport _ from 'lodash';\r\n\r\nfunction MatchView (props) {\r\n const classes = props.classes;\r\n const match = _.find(props.matches, match => match.position === props.matchPosition);\r\n const getMatchTeamClasses = (team) => {\r\n if (!match)\r\n return '';\r\n\r\n if ((match.played || match.bye) && team.winner)\r\n return classes.winningTeam;\r\n\r\n if (match.played && !team.winner && team.name && team.name !== '-')\r\n return classes.losingTeam;\r\n\r\n return '';\r\n };\r\n\r\n const getHomeOrAwayIdentifier = (team) => {\r\n if (!team.name || team.name === '-' || match.bye)\r\n return '';\r\n\r\n return team.home ? '(H)' : '(A)';\r\n };\r\n\r\n const getByeDisplayValue = (match) => {\r\n if (!match.bye)\r\n return false;\r\n\r\n return hasTeam(match);\r\n };\r\n\r\n const hasTeam = (match) => match && _.find(match.teams, team => team.name);\r\n\r\n return (\r\n
props.viewMatch(props.matchPosition)}>\r\n {\r\n match && match.teams.map((team, key) =>\r\n
\r\n
{team.name ? team.name : (getByeDisplayValue(match) ? '' : '-')}
\r\n
{getHomeOrAwayIdentifier(team)}
\r\n
)\r\n }\r\n\r\n {\r\n (!match || match.teams.length < 2) &&\r\n
-
\r\n }\r\n\r\n {\r\n (!match || match.teams.length < 1) &&\r\n
-
\r\n }\r\n
\r\n );\r\n}\r\n\r\nexport default MatchView;","import React from 'react';\r\n//components\r\nimport Match from '../match';\r\n\r\nfunction BracketMatchView (props) {\r\n const classes = props.classes;\r\n\r\n return (\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default BracketMatchView;","import React from 'react';\r\nimport styles from '../detailed-bracket-styles';\r\nimport _ from 'lodash';\r\nimport Moment from 'moment';\r\n//material\r\nimport { makeStyles } from '@material-ui/core';\r\n//components\r\nimport Match from '../match';\r\nimport BracketMatch from '../bracket-match';\r\n\r\nconst useStyles = makeStyles(styles);\r\n\r\nfunction Bracket16View (props) {\r\n const classes = useStyles(props);\r\n document.getElementById('siteRoot').style.fontSize = '16px';\r\n let headings = [{name: 'Round 1', number: 1}, {name: 'Quarter-Finals', number: 2}, {name:'Semi-Finals', number: 3}, {name:'Final', number:4}];\r\n headings.forEach(h => {\r\n let round = _.find(props.rounds, r => r.roundNumber === h.number);\r\n h.deadline = round.endDate ? Moment(new Date(round.endDate)).format('Do MMMM YYYY') : ' ';\r\n });\r\n\r\n return (\r\n
\r\n
\r\n {\r\n headings.map((heading, i) =>\r\n
\r\n
{heading.name}
\r\n {\r\n !JSON.parse(process.env.REACT_APP_COMPETITIONGOLF_HIDE_ROUND_DATES) &&\r\n
{heading.deadline}
\r\n }\r\n
)\r\n }\r\n
\r\n\r\n
\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default Bracket16View;","import React from 'react';\r\nimport styles from '../detailed-bracket-styles';\r\nimport _ from 'lodash';\r\nimport Moment from 'moment';\r\n//material\r\nimport { makeStyles } from '@material-ui/core';\r\n//components\r\nimport Match from '../match';\r\nimport BracketMatch from '../bracket-match';\r\n\r\nconst useStyles = makeStyles(styles);\r\n\r\nfunction Bracket32View (props) {\r\n const classes = useStyles(props);\r\n let headings = [{name: 'Round 1', number: 1}, {name: 'Round 2', number: 2}, {name:'Quarter-Finals', number: 3}, {name:'Semi-Finals', number:4}, {name:'Final', number:5}];\r\n headings.forEach(h => {\r\n let round = _.find(props.rounds, r => r.roundNumber === h.number);\r\n h.deadline = round && round.endDate ? Moment(new Date(round.endDate)).format('Do MMMM YYYY') : ' ';\r\n });\r\n\r\n return (\r\n
\r\n
\r\n {\r\n headings.map((heading, i) =>\r\n
\r\n
{heading.name}
\r\n {\r\n !JSON.parse(process.env.REACT_APP_COMPETITIONGOLF_HIDE_ROUND_DATES) &&\r\n
{heading.deadline}
\r\n }\r\n
)\r\n }\r\n
\r\n\r\n
\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default Bracket32View;","import React from 'react';\r\nimport styles from '../detailed-bracket-styles';\r\nimport _ from 'lodash';\r\nimport Moment from 'moment';\r\n//material\r\nimport { makeStyles } from '@material-ui/core';\r\n//components\r\nimport Match from '../match';\r\nimport BracketMatch from '../bracket-match';\r\n\r\nconst useStyles = makeStyles(styles);\r\n\r\nfunction Bracket64View (props) {\r\n const classes = useStyles(props);\r\n let headings = [{name: 'Round 1', number: 1}, {name: 'Round 2', number: 2}, {name:'Round 3', number: 3}, {name:'Quarter-Finals', number:4}, {name:'Semi-Finals', number:5}, {name:'Final', number:6}];\r\n headings.forEach(h => {\r\n let round = _.find(props.rounds, r => r.roundNumber === h.number);\r\n h.deadline = round && round.endDate ? Moment(new Date(round.endDate)).format('Do MMMM YYYY') : ' ';\r\n });\r\n\r\n return (\r\n
\r\n
\r\n {\r\n headings.map((heading, i) =>\r\n
\r\n
{heading.name}
\r\n {\r\n !JSON.parse(process.env.REACT_APP_COMPETITIONGOLF_HIDE_ROUND_DATES) &&\r\n
{heading.deadline}
\r\n }\r\n
)\r\n }\r\n
\r\n\r\n
\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default Bracket64View;","import React from 'react';\r\nimport styles from '../bracket-styles';\r\nimport Moment from 'moment';\r\n//material\r\nimport {\r\n Dialog,\r\n DialogActions,\r\n DialogContent,\r\n DialogTitle,\r\n Button,\r\n Grid,\r\n withStyles,\r\n Hidden\r\n} from '@material-ui/core';\r\nimport {Skeleton} from '@material-ui/lab';\r\n\r\nfunction ViewMatchView(props) {\r\n const classes = props.classes;\r\n const getMatchColours = (team) => {\r\n if (props.matchLoading)\r\n return '';\r\n\r\n if (!props.match.winningTeamId || props.match.isBye)\r\n return classes.viewMatchDefault;\r\n\r\n return props.match.winningTeamId === team.competitionPairId ? classes.viewMatchWinner : classes.viewMatchLoser;\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {\r\n props.matchLoading ?\r\n :\r\n (props.match.matchDate &&\r\n \r\n {Moment(new Date(props.match.matchDate)).format('Do MMMM YYYY')}\r\n )\r\n }\r\n \r\n \r\n\r\n \r\n Match Details\r\n
\r\n\r\n
\r\n\r\n \r\n \r\n {\r\n props.matchLoading ?\r\n :\r\n (props.match.clubName &&\r\n \r\n {props.match.clubName}\r\n )\r\n }\r\n \r\n \r\n
\r\n \r\n \r\n \r\n {\r\n props.matchLoading ?\r\n :\r\n (props.match.matchDate &&\r\n \r\n {Moment(new Date(props.match.matchDate)).format('Do MMMM YYYY')}\r\n )\r\n }\r\n\r\n {\r\n props.matchLoading ?\r\n :\r\n (props.match.clubName &&\r\n \r\n {props.match.clubName}\r\n )\r\n }\r\n \r\n\r\n {\r\n !props.details.newDrawPerRound && props.match && !props.match.winningTeamId &&\r\n \r\n {\r\n props.matchLoading ?\r\n :\r\n
\r\n
Deadline: {Moment(new Date(props.match.deadline)).format('Do MMMM YYYY')}
\r\n
\r\n }\r\n
\r\n }\r\n\r\n \r\n \r\n {\r\n props.matchLoading ?\r\n :\r\n Home\r\n }\r\n \r\n\r\n {\r\n (props.matchLoading || props.match.homeTeam) &&\r\n \r\n {\r\n props.details.tournamentFormatId !== 1 &&\r\n \r\n \r\n {props.matchLoading ?\r\n : props.match.homeTeam.name}\r\n \r\n \r\n }\r\n\r\n \r\n {props.matchLoading ?\r\n : props.match.homeTeam.homeClubName}\r\n \r\n\r\n \r\n {props.matchLoading ?\r\n : props.match.homeTeam.leadPlayerName}\r\n {props.matchLoading ? : (props.match.homeTeam.leadPlayerHandicap !== null ? ('hcp: ' + props.match.homeTeam.leadPlayerHandicap) : '')}\r\n \r\n\r\n \r\n {props.matchLoading ?\r\n : props.match.homeTeam.additionalPlayerName}\r\n {props.matchLoading ? : (props.match.homeTeam.additionalPlayerHandicap !== null ? ('hcp: ' + props.match.homeTeam.additionalPlayerHandicap) : '')}\r\n \r\n \r\n }\r\n\r\n {\r\n (!props.matchLoading && !props.match.homeTeam) &&\r\n \r\n \r\n Waiting for Opponent\r\n \r\n \r\n }\r\n \r\n\r\n \r\n \r\n {\r\n props.matchLoading ?\r\n :\r\n (props.match.isBye ? 'Bye' : props.match.result)\r\n }\r\n \r\n \r\n\r\n \r\n \r\n {\r\n props.matchLoading ?\r\n :\r\n Away\r\n }\r\n \r\n\r\n {\r\n (props.matchLoading || props.match.awayTeam) &&\r\n \r\n {\r\n props.details.tournamentFormatId !== 1 &&\r\n \r\n \r\n {props.matchLoading ?\r\n : props.match.awayTeam.name}\r\n \r\n \r\n }\r\n\r\n \r\n {props.matchLoading ?\r\n : props.match.awayTeam.homeClubName}\r\n \r\n\r\n \r\n {props.matchLoading ?\r\n : props.match.awayTeam.leadPlayerName}\r\n {props.matchLoading ? : (props.match.awayTeam.leadPlayerHandicap !== null ? ('hcp: ' + props.match.awayTeam.leadPlayerHandicap) : '')}\r\n \r\n\r\n \r\n {props.matchLoading ?\r\n : props.match.awayTeam.additionalPlayerName}\r\n {props.matchLoading ? : (props.match.awayTeam.additionalPlayerHandicap !== null ? ('hcp: ' + props.match.awayTeam.additionalPlayerHandicap) : '')}\r\n \r\n \r\n }\r\n\r\n {\r\n (!props.matchLoading && !props.match.awayTeam) &&\r\n \r\n \r\n Waiting for Opponent\r\n \r\n \r\n }\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default withStyles(styles)(ViewMatchView);","import React from 'react';\r\nimport styles from './bracket-styles';\r\n//material\r\nimport { Grid, withStyles, Hidden } from '@material-ui/core';\r\n//components\r\nimport DrawnPerRound from './drawn-per-round';\r\nimport Bracket16 from './bracket-16';\r\nimport Bracket32 from './bracket-32';\r\nimport Bracket64 from './bracket-64';\r\nimport ViewMatch from './view-match';\r\n\r\nfunction BracketView (props) {\r\n const classes = props.classes;\r\n\r\n return (\r\n \r\n \r\n {\r\n !props.details.isDrawn &&\r\n
\r\n Waiting for Draw\r\n
\r\n }\r\n\r\n {\r\n props.details.isDrawn && props.bracketMatches.length === 0 &&\r\n
\r\n No bracket matches to show\r\n
\r\n }\r\n
\r\n\r\n {\r\n props.details.isDrawn && props.bracketMatches.length > 0 && props.details.newDrawPerRound &&\r\n \r\n \r\n \r\n }\r\n\r\n {\r\n props.details.isDrawn && props.bracketMatches.length > 0 && !props.details.newDrawPerRound && props.details.bracketSize === 16 &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n\r\n {\r\n props.details.isDrawn && props.bracketMatches.length > 0 && !props.details.newDrawPerRound && props.details.bracketSize === 32 &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n\r\n {\r\n props.details.isDrawn && props.bracketMatches.length > 0 && !props.details.newDrawPerRound && props.details.bracketSize === 64 &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n\r\n {\r\n props.showMatchDialog &&\r\n \r\n }\r\n
\r\n );\r\n}\r\n\r\nexport default withStyles(styles) (BracketView);","import React from 'react';\r\nimport _ from 'lodash';\r\n//components\r\nimport View from './bracket-view';\r\n//utils\r\nimport { CompetitionService } from '../../../utils/data-transfer';\r\n\r\nclass BracketContainer extends React.Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n showMatchDialog: false,\r\n matchLoading: false,\r\n match: null\r\n };\r\n\r\n this._competitionService = new CompetitionService();\r\n }\r\n\r\n viewMatch = async (position, matchDetails) => {\r\n let bracketMatch = matchDetails ? matchDetails : _.find(this.props.bracketMatches, match => match.position === position);\r\n this.bracketMatch = bracketMatch;\r\n\r\n if (!_.find(bracketMatch.teams, team => team.name))\r\n return;\r\n\r\n this.setState({ showMatchDialog: true, matchLoading: true});\r\n\r\n try {\r\n let match = await this._competitionService.getCompetitionMatch(this.props.details.competitionId, bracketMatch.id);\r\n\r\n this.setState({ match, matchLoading: false });\r\n } catch (ex) {\r\n console.log(ex);\r\n this.setState({ showMatchDialog: false, matchLoading: false });\r\n }\r\n }\r\n\r\n handleCloseViewMatchDialog = () => this.setState({ showMatchDialog: false });\r\n\r\n render () {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default BracketContainer;","import React from 'react';\r\nimport styles from '../details/details-styles';\r\nimport Moment from 'moment';\r\n//material\r\nimport { Dialog, DialogTitle, DialogContent, DialogActions, Button, Grid, TextField, withStyles, MenuItem, CircularProgress, Typography } from '@material-ui/core';\r\nimport { KeyboardDatePicker, MuiPickersUtilsProvider } from '@material-ui/pickers';\r\nimport DateFnsUtils from '@date-io/moment';\r\n//moment\r\nimport AsyncSelect from '../../async-select/index';\r\n//utils\r\nimport { MatchplayScores } from '../../../utils/constants/index';\r\n\r\nfunction EnterResultsView (props) {\r\n const classes = props.classes;\r\n let collection = props.clubs.map(club => { return {id: club.clubId, name: club.name + ' (' + club.county +')'}; });\r\n let teams = props.details.nextOpponent ? [\r\n { id: props.details.competitionTeamId, name: props.details.pairName},\r\n { id: props.details.nextOpponent.competitionTeamId, name: props.details.nextOpponent.name }\r\n ] : [];\r\n\r\n return (\r\n {if (props.resultsSubmissionLoading) return; props.handleShowEnterResults(false);}}\r\n fullWidth\r\n classes={{ paper: classes.enterResultsPaper }}>\r\n Match Results\r\n \r\n \r\n \r\n

\r\n Please enter the results of your match.\r\n
\r\n Once you submit the score, both teams will receive an email with the results.\r\n

\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {\r\n teams.map((team, index) => ({team.name}))\r\n }\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {\r\n MatchplayScores.map((score, index) => ({score}))\r\n }\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n\r\n {\r\n props.resultsSubmissionLoading &&\r\n
\r\n
\r\n
Please Wait...
\r\n
\r\n }\r\n \r\n );\r\n}\r\n\r\nexport default withStyles(styles) (EnterResultsView);","import React from 'react';\r\nimport styles from './competition-styles';\r\n//material\r\nimport { Container, Paper, Tabs, Tab, Typography, withStyles, Button, Grid } from '@material-ui/core';\r\n//components\r\nimport Details from './details';\r\nimport Results from './results';\r\nimport Bracket from './bracket';\r\nimport EnterResults from './enter-results';\r\n//utils\r\nimport { TeamPlayStatus } from '../../utils/constants';\r\n\r\nfunction CompetitionView (props) {\r\n const classes = props.classes;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {props.details.competitionName ? props.details.competitionName : 'Competition Details' }\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n { !props.details.hideBracketsInMatchplay && }\r\n \r\n \r\n \r\n\r\n {\r\n props.tab === 0 &&\r\n \r\n }\r\n\r\n {\r\n props.tab === 1 &&\r\n \r\n }\r\n\r\n {\r\n props.tab === 2 &&\r\n \r\n }\r\n\r\n {\r\n props.viewEnterResults &&\r\n \r\n }\r\n \r\n )\r\n}\r\n\r\nexport default withStyles(styles) (CompetitionView);","import React from 'react';\r\n//component\r\nimport CompetitionView from './competition-view';\r\n//utils\r\nimport { CompetitionService, ClubService } from '../../utils/data-transfer';\r\n\r\nclass CompetitionContainer extends React.Component {\r\n constructor (props) {\r\n super (props);\r\n\r\n this.state = {\r\n tab: 0,\r\n isError: false,\r\n details: { leadPlayer: {}, additionalPlayer: {}, teamPlayStatus: {}, nextOpponent: {} },\r\n viewEnterResults: false,\r\n results: [],\r\n bracketMatches: [],\r\n resultsEntry: defaultResultsEntry(),\r\n clubs: [],\r\n resultsSubmissionLoading: false,\r\n isLoading: true,\r\n bracketHash: '',\r\n rounds: []\r\n };\r\n\r\n this._competitionService = new CompetitionService();\r\n this._clubService = new ClubService();\r\n }\r\n\r\n intervalIteration = 0;\r\n\r\n handleTabChange = (e, tab) => {\r\n this.setState({tab});\r\n };\r\n\r\n handleShowEnterResults = (viewEnterResults) => {\r\n this.setState({ viewEnterResults });\r\n };\r\n\r\n handleDateChange = (momentDate) => this.setState({resultsEntry: Object.assign({}, this.state.resultsEntry, {matchDate: momentDate ? momentDate.toDate() : ''})});\r\n\r\n handleClubChange = (clubId) => this.setState({resultsEntry: Object.assign({}, this.state.resultsEntry, {clubId})});\r\n\r\n handleResultChange = (e) => this.setState({resultsEntry: Object.assign({}, this.state.resultsEntry, {[e.target.name]: e.target.value})});\r\n\r\n setLoading = (isLoading) => this.setState({ isLoading});\r\n\r\n componentDidMount () {\r\n this._isMounted = true;\r\n return this.getCompetition();\r\n }\r\n\r\n componentWillUnmount () {\r\n this._isMounted = false;\r\n if (this.interval)\r\n clearInterval(this.interval);\r\n }\r\n\r\n getCompetition = async () => {\r\n try {\r\n await Promise.all([await this.getCompetitionDetails(), await this.getResults(), await this.getRounds()]);\r\n\r\n let bracket = null;\r\n if (this.state.details.bracketId && !this.state.details.hideBracketsInMatchplay && this.state.details.isDrawn)\r\n bracket = (await this._competitionService.getCompetitionBracket(this.props.competitionId, this.state.details.bracketId, this.state.details.competitionTeamId));\r\n\r\n this.setState({ bracketMatches: bracket ? bracket.matches : [], bracketHash: bracket ? bracket.hash : '', isLoading: false });\r\n } catch (err) {\r\n console.log(err);\r\n this.setState({isError: true});\r\n }\r\n };\r\n\r\n getCompetitionDetails = async () => {\r\n try {\r\n let details = await this._competitionService.getUserCompetitionDetails(this.props.competitionId, this.props.competitionPlayerId);\r\n\r\n if (!this._isMounted)\r\n return;\r\n\r\n this.setState({details, isError: false});\r\n } catch (err) {\r\n this.setState({isError: true});\r\n }\r\n };\r\n\r\n getResults = async () => {\r\n try {\r\n let results = await this._competitionService.getUserCompetitionResults(this.props.competitionId, this.props.competitionPlayerId);\r\n\r\n if (!this._isMounted)\r\n return;\r\n\r\n this.setState({results, isError: false});\r\n } catch (err) {\r\n this.setState({isError: true});\r\n }\r\n };\r\n\r\n getRounds = async () => {\r\n try {\r\n let rounds = await this._competitionService.getCompetitionRounds(this.props.competitionId);\r\n\r\n if (!this._isMounted)\r\n return;\r\n\r\n this.setState({rounds, isError: false});\r\n } catch (err) {\r\n this.setState({isError: true});\r\n }\r\n }\r\n\r\n getClubsMatchingQuery = async (queryString) => {\r\n try {\r\n let clubs = await this._clubService.getAnonymousFilteredClubs(queryString);\r\n\r\n this.setState({ clubs });\r\n } catch (err) {\r\n console.log(err);\r\n //handle this!\r\n }\r\n };\r\n\r\n handleResultsSubmission = async () => {\r\n try {\r\n this.setState({ resultsSubmissionLoading: true });\r\n\r\n await this._competitionService.setMatchResults(this.props.competitionId, this.state.details.competitionMatchId, this.state.resultsEntry);\r\n\r\n await this.getCompetitionDetails();\r\n\r\n this.setState({ resultsSubmissionLoading: false, resultsEntry: defaultResultsEntry() });\r\n this.handleShowEnterResults(false);\r\n\r\n this.interval = setInterval(async () => {\r\n if (!this.state.details.newDrawPerRound) {\r\n let bracket = await this._competitionService.getCompetitionBracket(this.props.competitionId, this.state.details.bracketId, this.state.details.competitionTeamId);\r\n if (bracket.hash !== this.state.bracketHash) {\r\n clearInterval(this.interval);\r\n await this.getCompetition();\r\n } else {\r\n await this.getCompetition();\r\n this.intervalIteration++;\r\n\r\n if (this.intervalIteration > 1) {\r\n this.intervalIteration = 0;\r\n clearInterval(this.interval);\r\n }\r\n }\r\n }\r\n }, 3000);\r\n } catch (err) {\r\n console.log(err);\r\n this.props.history.push('/error?errorMessage=An unexpected error occurred when entering your results.\\nPlease try again shortly.\\nIf this error persists please Contact Us.');\r\n }\r\n };\r\n\r\n render () {\r\n return (\r\n \r\n )\r\n }\r\n}\r\n\r\nconst defaultResultsEntry = () => {\r\n return {\r\n matchDate: new Date(),\r\n clubId: '',\r\n winningTeamId: '',\r\n score: ''\r\n }\r\n};\r\n\r\nexport default CompetitionContainer;","import React from 'react';\r\n//component\r\nimport ViewCompetition from '../../components/competition';\r\n\r\nclass Competition extends React.Component {\r\n render () {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default Competition;","import CoreStyles from '../../utils/styles/core-styles';\r\n\r\nconst RegistrationStyles = theme => ({\r\n containerPadding: {\r\n [theme.breakpoints.down('sm')]: {\r\n paddingLeft: 0,\r\n paddingRight: 0\r\n }\r\n },\r\n stepperPaper: {\r\n backgroundColor: 'transparent',\r\n },\r\n activeStepper: {\r\n '& > :first-child': {\r\n borderColor: theme.palette.primary.main,\r\n borderTopWidth: 2\r\n }\r\n },\r\n buttonBack: {\r\n marginTop: 20,\r\n paddingLeft: 0\r\n },\r\n buttonNext: {\r\n marginTop: 20,\r\n paddingRight: 0,\r\n float: 'right'\r\n },\r\n componentGrid: {\r\n padding: '10px 20px 0',\r\n [theme.breakpoints.down('sm')]: {\r\n padding: '10px 10px 0'\r\n }\r\n },\r\n acceptConditions: {\r\n paddingTop: 24\r\n },\r\n acceptRules: {\r\n paddingTop: 0\r\n },\r\n textFieldSpacing: {\r\n paddingBottom: [ 8, '!important' ]\r\n },\r\n avatarImageContainer: {\r\n paddingLeft: '10px',\r\n textAlign: 'center',\r\n [theme.breakpoints.down('sm')]: {\r\n paddingLeft: 0,\r\n paddingTop: 20\r\n }\r\n },\r\n avatarImage: {\r\n margin: '0 auto',\r\n height: 170,\r\n width: 170\r\n },\r\n errorText: {\r\n fontSize: '12px',\r\n color: 'red'\r\n },\r\n registrationCard: {\r\n padding: '30px 16px'\r\n },\r\n registrationCompleteDate: {\r\n fontSize: 20,\r\n paddingLeft: 30\r\n },\r\n termsButton: {\r\n textDecoration: 'underline',\r\n cursor: 'pointer',\r\n color: '#008CBA'\r\n },\r\n errorIcon: {\r\n height: 60,\r\n width: 60\r\n },\r\n errorHeader: {\r\n padding: '20px 0'\r\n },\r\n errorBody: {\r\n padding: '30px 0'\r\n },\r\n competitionDialogHeaderRoot: {\r\n padding: '16px 24px 0'\r\n },\r\n competitionDialogRoot: {\r\n padding: '8px 0'\r\n },\r\n paymentButton: {\r\n display: 'block'\r\n },\r\n paymentIcon: {\r\n height: 40,\r\n width: 40\r\n },\r\n materialInputContainer: {\r\n width: 'calc(100% - 28px);',\r\n borderRadius: '4px',\r\n border: '1px solid #c8c8c8',\r\n position: 'relative',\r\n padding: '18.5px 14px',\r\n '&:hover': {\r\n borderColor: '#000000'\r\n }\r\n },\r\n materialInputLabel: {\r\n backgroundColor: '#ffffff',\r\n fontSize: '12px',\r\n padding: '0 4px',\r\n color: '#97a2a7',\r\n position: 'absolute',\r\n top: '-10px',\r\n left: '10px'\r\n },\r\n materialFocusStyle: {\r\n color: theme.palette.primary.main\r\n },\r\n materialBorderFocusStyle: {\r\n borderColor: theme.palette.primary.main,\r\n borderWidth: '2px',\r\n '&:hover': {\r\n borderColor: theme.palette.primary.main\r\n }\r\n },\r\n slideHeader: {\r\n fontSize: '18px',\r\n fontWeight: 'bold',\r\n color: theme.palette.primary.contrastText,\r\n backgroundColor: theme.palette.primary.main,\r\n textAlign: 'center',\r\n padding: '10px 0'\r\n },\r\n slideInfo: {\r\n marginTop: 0,\r\n padding: '0 20px',\r\n [theme.breakpoints.down('sm')]: {\r\n padding: '0 10px'\r\n }\r\n },\r\n paymentError: {\r\n fontSize: '14px',\r\n color: 'red',\r\n fontWeight: 'bold',\r\n margin: '0 auto',\r\n padding: '20px 0 10px'\r\n },\r\n helpButtonContainer: {\r\n lineHeight: '52px',\r\n paddingLeft: '10px',\r\n [theme.breakpoints.down('xs')]: {\r\n paddingLeft: 0\r\n }\r\n },\r\n helpButtonSkeleton: {\r\n marginTop: 18\r\n },\r\n warningText: {\r\n fontWeight: 'bold',\r\n color: '#000000',\r\n backgroundColor: process.env.REACT_APP_COMPETITIONGOLF_WARNING_COLOUR,\r\n textAlign: 'center',\r\n padding: '10px 0',\r\n fontSize: '12px',\r\n [theme.breakpoints.down('xs')]: {\r\n fontSize: '10px'\r\n }\r\n },\r\n helpButton: {\r\n color: '#008CBA',\r\n cursor: 'pointer',\r\n textDecoration: 'none',\r\n float:'right'\r\n },\r\n ...CoreStyles(theme)\r\n});\r\n\r\nexport default RegistrationStyles;\r\n","import React, { useEffect } from 'react';\r\nimport styles from '../registration-styles';\r\nimport _ from 'lodash';\r\n//material\r\nimport { Card, CardContent, TextField, Grid, withStyles, Checkbox, IconButton, Tooltip } from '@material-ui/core';\r\nimport { Skeleton } from '@material-ui/lab';\r\nimport { HelpOutline } from '@material-ui/icons';\r\n//components\r\nimport AsyncSelect from '../../async-select';\r\n//routing\r\nimport { withRouter } from 'react-router-dom';\r\n\r\nlet helpLink = process.env.REACT_APP_COMPETITIONGOLF_HELP_URL;\r\nhelpLink = (!helpLink.startsWith('#{') && !helpLink.endsWith('}#')) ? helpLink : '';\r\n\r\nfunction TeamDetailsView (props) {\r\n const classes = props.classes;\r\n let collection = props.clubs.map(club => { return {id: club.clubId, name: club.name + ' (' + club.county +')'}; });\r\n let club = _.find(collection, c => c.id === props.registration.clubId);\r\n\r\n useEffect(() => {\r\n const isStepComplete = () => (props.registration.pairName || props.isSinglePlayerGame) && props.registration.clubId && props.registration.hasCheckedTerms && props.registration.hasCheckedRules;\r\n const stepCompleted = isStepComplete();\r\n\r\n if (stepCompleted && !props.isStepValid)\r\n props.setStepValid(true);\r\n\r\n if (!stepCompleted && props.isStepValid)\r\n props.setStepValid(false);\r\n });\r\n\r\n return (\r\n \r\n
\r\n Registration\r\n
\r\n\r\n \r\n {\r\n helpLink &&\r\n \r\n need help?\r\n \r\n } \r\n\r\n

\r\n {\r\n !props.isSinglePlayerGame ?\r\n 'Please enter your team name and your home golf course.' :\r\n 'Please enter your home golf course.'\r\n }\r\n

\r\n\r\n {\r\n !props.isSinglePlayerGame &&\r\n \r\n \r\n {\r\n props.isLoading ?\r\n :\r\n \r\n }\r\n \r\n \r\n }\r\n\r\n \r\n \r\n {\r\n props.isLoading ?\r\n :\r\n \r\n }\r\n \r\n \r\n {\r\n props.isLoading ?\r\n :\r\n \r\n \r\n \r\n }\r\n \r\n \r\n\r\n \r\n {\r\n props.isLoading ?\r\n \r\n  \r\n \r\n :\r\n \r\n \r\n I have read and accept the Terms & Conditions of entry\r\n \r\n }\r\n \r\n\r\n \r\n {\r\n props.isLoading ?\r\n \r\n  \r\n \r\n :\r\n \r\n \r\n I have read and accept the Rules of the competition\r\n \r\n }\r\n \r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default withRouter(withStyles(styles) (TeamDetailsView));\r\n","import React, {useEffect} from 'react';\r\nimport styles from '../registration-styles';\r\n//material\r\nimport { withStyles, Card, CardContent, Grid, TextField, Button, MenuItem, Avatar, Tooltip } from '@material-ui/core';\r\n\r\nlet helpLink = process.env.REACT_APP_COMPETITIONGOLF_HELP_URL;\r\nhelpLink = (!helpLink.startsWith('#{') && !helpLink.endsWith('}#')) ? helpLink : '';\r\n\r\nfunction LeadPlayerView (props) {\r\n const classes = props.classes;\r\n\r\n useEffect(() => {\r\n const isStepComplete = () => props.registration.leadPlayerFirstName && props.registration.leadPlayerLastName && props.registration.leadPlayerEmail && props.registration.leadPlayerEmail.match(/^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/) && props.registration.leadPlayerHandicap !== '' &&\r\n (!props.registration.addressId || (props.registration.addressLine1 && props.registration.town && props.registration.countyId !== '' && props.registration.postCode)) &&\r\n (!props.registrationSettings.leadPlayerTelephoneRequired || props.registration.leadPlayerPhone);\r\n const stepCompleted = isStepComplete();\r\n\r\n if (stepCompleted && !props.isStepValid)\r\n props.setStepValid(true);\r\n\r\n if (!stepCompleted && props.isStepValid)\r\n props.setStepValid(false);\r\n });\r\n\r\n return (\r\n \r\n
\r\n Lead Player\r\n
\r\n\r\n \r\n {\r\n helpLink &&\r\n \r\n need help?\r\n \r\n }\r\n\r\n

\r\n Please enter the details of the lead player. The Lead Player is the main point of contact.\r\n

\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n {\r\n props.registration.addressId &&\r\n \r\n \r\n \r\n }\r\n\r\n {\r\n props.registration.addressId &&\r\n \r\n \r\n \r\n }\r\n\r\n {\r\n props.registration.addressId &&\r\n \r\n \r\n \r\n }\r\n\r\n {\r\n props.registration.addressId &&\r\n \r\n \r\n {\r\n props.counties.map((county, index) => ({county.displayName}))\r\n }\r\n \r\n \r\n \r\n }\r\n\r\n {\r\n props.registration.addressId &&\r\n \r\n \r\n \r\n }\r\n\r\n \r\n \r\n \r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default withStyles(styles) (LeadPlayerView);\r\n","import React, { useEffect } from 'react';\r\nimport styles from '../registration-styles';\r\n//material\r\nimport { withStyles, Card, CardContent, Grid, TextField, Button, Avatar, Tooltip } from '@material-ui/core';\r\n\r\nlet helpLink = process.env.REACT_APP_COMPETITIONGOLF_HELP_URL;\r\nhelpLink = (!helpLink.startsWith('#{') && !helpLink.endsWith('}#')) ? helpLink : '';\r\n\r\nfunction AdditionalPlayerView (props) {\r\n const classes = props.classes;\r\n\r\n useEffect(() => {\r\n const isStepComplete = () => props.registration.additionalPlayerFirstName && props.registration.additionalPlayerLastName && props.registration.additionalPlayerHandicap !== '' &&\r\n (!props.registration.additionalPlayerEmail || props.registration.additionalPlayerEmail.match(/^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/)) &&\r\n (!props.registrationSettings.additionalPlayerEmailRequired || props.registration.additionalPlayerEmail) &&\r\n (!props.registrationSettings.additionalPlayerTelephoneRequired || props.registration.additionalPlayerPhone);\r\n const stepCompleted = isStepComplete();\r\n\r\n if (stepCompleted && !props.isStepValid)\r\n props.setStepValid(true);\r\n\r\n if (!stepCompleted && props.isStepValid)\r\n props.setStepValid(false);\r\n });\r\n\r\n return (\r\n \r\n
\r\n Additional Player\r\n
\r\n\r\n \r\n {\r\n helpLink &&\r\n \r\n need help?\r\n \r\n }\r\n\r\n

\r\n Please enter the details of the additional player.\r\n

\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default withStyles(styles) (AdditionalPlayerView);\r\n","import React, { useEffect } from 'react';\r\nimport _ from 'lodash';\r\nimport styles from '../registration-styles';\r\n//material\r\nimport { Grid, Container, withStyles, Card, CardContent } from '@material-ui/core';\r\n//components\r\nimport Team from '../../team';\r\nimport TeamPlayer from '../../team-player';\r\n\r\nfunction SummaryView (props) {\r\n const classes = props.classes;\r\n let club = _.find(props.clubs, c => c.clubId === props.registration.clubId);\r\n\r\n let team = { pairName: props.registration.pairName, clubName: club ? club.name : '' };\r\n let leadPlayer = {\r\n name: props.registration.leadPlayerFirstName + ' ' + props.registration.leadPlayerLastName,\r\n handicap: props.registration.leadPlayerHandicap,\r\n email: props.registration.leadPlayerEmail,\r\n phone: props.registration.leadPlayerPhone\r\n };\r\n\r\n let additionalPlayer = {\r\n name: props.registration.additionalPlayerFirstName + ' ' + props.registration.additionalPlayerLastName,\r\n handicap: props.registration.additionalPlayerHandicap,\r\n email: props.registration.additionalPlayerEmail,\r\n phone: props.registration.additionalPlayerPhone\r\n };\r\n\r\n useEffect(() => {\r\n if (!props.registration.pairName)\r\n props.handleRegistrationChange('pairName', leadPlayer.name);\r\n });\r\n\r\n return (\r\n \r\n \r\n
\r\n Summary\r\n
\r\n\r\n \r\n

\r\n { props.validationError ? 'Please resolve any issues before you can complete registration' : 'Please check the following details are correct.'}\r\n

\r\n
\r\n\r\n {\r\n props.validationError &&\r\n
\r\n {props.validationError}\r\n
\r\n }\r\n
\r\n\r\n \r\n \r\n props.setActiveStep(0)}\r\n details={team}\r\n isLoading={props.isLoading}/>\r\n \r\n\r\n \r\n props.setActiveStep(1)}\r\n player={leadPlayer}\r\n isLoading={props.isLoading}/>\r\n \r\n\r\n {\r\n !props.isSinglePlayerGame &&\r\n \r\n props.setActiveStep(2)}\r\n player={additionalPlayer}\r\n isLoading={props.isLoading}/>\r\n \r\n }\r\n \r\n
\r\n );\r\n}\r\n\r\nexport default withStyles(styles) (SummaryView);","import React from 'react';\r\n//components\r\nimport View from './summary-view';\r\n\r\nclass SummaryContainer extends React.Component {\r\n componentDidMount () {\r\n return this.props.canUserRegister();\r\n }\r\n\r\n render () {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default SummaryContainer;","import React from 'react';\r\nimport styles from '../registration-styles';\r\n//material\r\nimport { Dialog, DialogTitle, DialogContent, List, ListItem, ListItemText, withStyles } from '@material-ui/core';\r\n\r\nfunction SelectCompetitionView (props) {\r\n const classes = props.classes;\r\n\r\n return (\r\n \r\n \r\n Please select a Competition to register for\r\n \r\n \r\n \r\n {\r\n props.competitions.map((competition, key) =>\r\n props.setCompetition(competition)}>\r\n \r\n )\r\n }\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default withStyles(styles) (SelectCompetitionView);","import React from 'react';\r\nimport styles from '../registration-styles';\r\n//material\r\nimport { Card, CardContent, Grid, withStyles, Button } from '@material-ui/core';\r\nimport { CreditCard } from '@material-ui/icons';\r\n\r\nfunction PaymentView (props) {\r\n const classes = props.classes;\r\n\r\n return (\r\n \r\n
\r\n Payment\r\n
\r\n\r\n \r\n

\r\n We use Stripe to process our payments. We do not store your card details on our system.\r\n

\r\n\r\n \r\n {/*{*/}\r\n {/*props.stripeIntent &&*/}\r\n {/**/}\r\n {/*Amount to Pay { getCurrencyDisplay(props.stripeIntent.currency) }{ (props.stripeIntent.amount / 100).toFixed(2) }*/}\r\n {/**/}\r\n\r\n {/*}*/}\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n { props.paymentError }\r\n
\r\n
\r\n\r\n {/*{*/}\r\n {/*props.showStripe &&*/}\r\n {/**/}\r\n {/**/}\r\n {/**/}\r\n {/*}*/}\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default withStyles(styles) (PaymentView);","import React from 'react';\r\n//components\r\nimport View from './payment-view';\r\n//stripe\r\nimport { loadStripe } from '@stripe/stripe-js';\r\n//utils\r\nimport { CompetitionService } from '../../../utils/data-transfer';\r\n\r\nconst stripePublicKey = process.env.REACT_APP_COMPETITIONGOLF_STRIPE_PUBLIC_KEY;\r\nconst stripePromise = loadStripe(stripePublicKey);\r\n\r\nclass PaymentContainer extends React.Component {\r\n constructor (props) {\r\n super (props);\r\n\r\n let paymentError = localStorage.getItem('paymentError');\r\n if (paymentError)\r\n localStorage.setItem('paymentError', '');\r\n\r\n this.state = {\r\n showStripe: false,\r\n paymentError\r\n };\r\n\r\n this._competitionService = new CompetitionService();\r\n }\r\n\r\n handleStripeCheckout = async () => {\r\n try {\r\n const stripe = await stripePromise;\r\n const details = await this._competitionService.getCompetitionStripeSku(this.props.registration.competitionId, this.props.registration.competitionTeamId);\r\n\r\n const { error } = await stripe.redirectToCheckout({\r\n lineItems: [\r\n {price: details.stripeSku, quantity: 1}\r\n ],\r\n mode: 'payment',\r\n successUrl: 'https://' + window.location.host + '/registration-complete',\r\n cancelUrl: 'https://' + window.location.host + '/resume-registration/' + this.props.completeDetails.teamCode,\r\n clientReferenceId: details.clientReferenceId,\r\n customerEmail: this.props.registration.leadPlayerEmail\r\n });\r\n } catch (err) {\r\n console.log(err);\r\n this.setState({ paymentError: 'We were unable to process your Credit or Debit card payment at this time, please wait a short while and try again.'});\r\n }\r\n };\r\n\r\n render () {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default PaymentContainer;","import React from 'react';\r\nimport styles from './registration-styles';\r\nimport _ from 'lodash';\r\n//material\r\nimport { Container, Stepper, Step, StepLabel, withStyles, Button, StepConnector, Hidden, MobileStepper } from '@material-ui/core';\r\nimport { KeyboardArrowLeft, KeyboardArrowRight, Check } from '@material-ui/icons'\r\n//components\r\nimport TeamDetails from './team-details';\r\nimport LeadPlayer from './lead-player';\r\nimport AdditionalPlayer from './additional-player';\r\nimport Summary from './summary';\r\nimport SelectCompetition from './select-competition';\r\nimport Payment from './payment';\r\n\r\nfunction RegistrationView (props) {\r\n const classes = props.classes;\r\n let isSinglePlayerGame = props.registration.tournamentFormatId === 1;\r\n let steps = [\r\n { name: isSinglePlayerGame ? 'Home Club' : 'Team Details', id: 0},\r\n { name:'Lead Player', id: 1},\r\n { name:'Additional Player', id: 2},\r\n { name:'Summary', showConfirm: true, id: 3}\r\n ];\r\n if (!props.registration.entryIsPrepaid)\r\n steps.push({ name:'Payment', hideNextStep: true, id: 4});\r\n\r\n if (isSinglePlayerGame)\r\n steps = steps.filter(step => step.name !== 'Additional Player');\r\n\r\n const currrentStep = steps[props.activeStep];\r\n const nextStep = ((props.activeStep + 1) < steps.length ) && !currrentStep.showConfirm && !currrentStep.hideNextStep ? steps[props.activeStep + 1] : null;\r\n\r\n return (\r\n \r\n {\r\n !props.hasSubmitted &&\r\n \r\n }>\r\n {\r\n steps.map((step, i) =>\r\n \r\n {step.name}\r\n \r\n )\r\n }\r\n \r\n \r\n }\r\n\r\n {\r\n !props.hasSubmitted &&\r\n \r\n {\r\n props.activeStep === _.findIndex(steps, step => step.id === 0) &&\r\n \r\n }\r\n\r\n {\r\n props.activeStep === _.findIndex(steps, step => step.id === 1) &&\r\n \r\n }\r\n\r\n {\r\n props.activeStep === _.findIndex(steps, step => step.id === 2) &&\r\n \r\n }\r\n\r\n {\r\n props.activeStep === _.findIndex(steps, step => step.id === 3) &&\r\n \r\n }\r\n\r\n {\r\n props.activeStep === _.findIndex(steps, step => step.id === 4) &&\r\n \r\n }\r\n\r\n {\r\n !props.hasSubmitted &&\r\n \r\n \r\n {\r\n steps.map((step, i) =>\r\n \r\n {step.name}\r\n \r\n )\r\n }\r\n \r\n \r\n }\r\n\r\n {\r\n props.activeStep > 0 &&\r\n \r\n }\r\n\r\n {\r\n nextStep &&\r\n \r\n }\r\n\r\n {\r\n !nextStep && props.activeStep < 4 &&\r\n \r\n }\r\n \r\n }\r\n\r\n \r\n \r\n );\r\n}\r\n\r\nexport default withStyles(styles) (RegistrationView);","import React from 'react';\r\nimport _ from 'lodash';\r\nimport { withRouter } from 'react-router-dom';\r\nimport Uuid from 'uuid';\r\n//components\r\nimport View from './registration-view';\r\n//utils\r\nimport { OrganisationService, ClubService, LookupService, CompetitionService } from '../../utils/data-transfer';\r\nimport AuthorisationService from '../../utils/authorisation/authorisationService';\r\n\r\nclass RegistrationContainer extends React.Component {\r\n constructor (props) {\r\n super (props);\r\n\r\n this.state = {\r\n activeStep: 0,\r\n isLoading: true,\r\n clubs: [],\r\n counties: [],\r\n completeDetails: {},\r\n isStepValid: false,\r\n summaryError: false,\r\n showSelectCompetition: false,\r\n competitions: [],\r\n stripeIntent: null,\r\n registrationSettings: {}\r\n };\r\n\r\n this._organisationService = new OrganisationService();\r\n this._clubService = new ClubService();\r\n this._lookupService = new LookupService();\r\n this._competitionService = new CompetitionService();\r\n }\r\n\r\n componentDidMount () {\r\n if (_.includes(this.props.location.pathname, 'resume-registration'))\r\n return this.resumeRegistration();\r\n\r\n localStorage.setItem('paymentError', '');\r\n\r\n if (_.includes(this.props.location.pathname, 'registration'))\r\n return this.getOrganisationCompetitions();\r\n\r\n return this.getInviteData();\r\n }\r\n\r\n setActiveStep = (activeStep) => this.setState({ activeStep });\r\n\r\n setStepValid = (isStepValid) => this.setState({ isStepValid });\r\n\r\n\r\n getInviteData = async () => {\r\n try {\r\n let response = await this._organisationService.getInvitedUserData(this.props.inviteCode);\r\n if (response.errorMessage)\r\n return this.props.history.push('/error?errorMessage=' + response.errorMessage);\r\n\r\n this.props.setRegistration(response);\r\n\r\n await this.getCounties();\r\n let registrationSettings = await this._competitionService.getCompetitionRegistrationSettings(response.competitionId);\r\n this.setState({ isLoading: false, registrationSettings });\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n };\r\n\r\n resumeRegistration = async () => {\r\n try {\r\n let response = await this._organisationService.resumeRegistration(this.props.teamCode);\r\n if (response.errorMessage)\r\n return this.props.history.push('/error?errorMessage=' + response.errorMessage);\r\n\r\n this.props.setRegistration(response);\r\n\r\n await this.getCounties();\r\n let registrationSettings = await this._competitionService.getCompetitionRegistrationSettings(response.competitionId);\r\n this.setState({\r\n isLoading: false,\r\n activeStep: this.props.registration.tournamentFormatId === 1 ? 3 : 4,\r\n clubs: [ { clubId: response.clubId, name: response.clubName } ],\r\n completeDetails: { teamCode: response.teamCode, drawDate: response.drawDate },\r\n registrationSettings\r\n });\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n };\r\n\r\n getOrganisationCompetitions = async () => {\r\n try {\r\n let competitions = await this._organisationService.getOpenCompetitions();\r\n if (!competitions.length) {\r\n let errorMessage = 'There are no competitions currently running with open registration.';\r\n this.props.history.push('/error?errorMessage=' + errorMessage);\r\n }\r\n\r\n if (competitions.length === 1)\r\n return this.setCompetition(competitions[0]);\r\n\r\n this.setState({ showSelectCompetition: true, competitions });\r\n } catch (err) {\r\n console.log(err);\r\n let errorMessage = 'An unexpected error occurred during registration. If the issue persists please contact support.';\r\n this.props.history.push('/error?errorMessage=' + errorMessage);\r\n }\r\n };\r\n\r\n setCompetition = async (competition) => {\r\n this.setState({ showSelectCompetition: false });\r\n\r\n try {\r\n this.props.setRegistration({\r\n competitionId: competition.id,\r\n addressId: Uuid.v4(),\r\n entryIsPrepaid: competition.entryIsPrepaid,\r\n tournamentFormatId: competition.tournamentFormatId\r\n });\r\n\r\n let user = await AuthorisationService.getUser();\r\n if (user) {\r\n this.props.updateRegistration({\r\n leadPlayerFirstName: user.profile.given_name,\r\n leadPlayerLastName: user.profile.family_name,\r\n leadPlayerEmail: user.profile.email\r\n });\r\n\r\n let details = await this._organisationService.getUserDetails();\r\n\r\n if (details)\r\n this.props.updateRegistration({\r\n leadPlayerFirstName: details.firstName,\r\n leadPlayerLastName: details.lastName,\r\n leadPlayerHandicap: details.handicap,\r\n leadPlayerHandicapNumber: details.handicapNumber,\r\n leadPlayerEmail: details.emailAddress,\r\n leadPlayerPhone: details.phoneNumber\r\n });\r\n }\r\n\r\n await this.getCounties();\r\n let registrationSettings = await this._competitionService.getCompetitionRegistrationSettings(competition.id);\r\n this.setState({ isLoading: false, registrationSettings });\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n };\r\n\r\n getClubsMatchingQuery = async (queryString) => {\r\n try {\r\n let clubs = await this._clubService.getAnonymousFilteredClubs(queryString);\r\n\r\n this.setState({ clubs });\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n };\r\n\r\n getCounties = async () => {\r\n try {\r\n let counties = await this._lookupService.getAnonymousCounties();\r\n\r\n this.setState({ counties });\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n };\r\n\r\n submitRegistration = async () => {\r\n this.setState({isLoading: true});\r\n\r\n try {\r\n let registration = Object.assign({}, this.props.registration);\r\n\r\n let completeDetails = await this._competitionService.registerForCompetition(this.props.registration.competitionId, this.props.registration.competitionTeamId, registration);\r\n\r\n localStorage.setItem('registrationCompleteDetails', JSON.stringify({\r\n teamName: this.props.registration.pairName,\r\n drawDate: completeDetails.drawDate,\r\n competitionId: this.props.registration.competitionId,\r\n competitionPlayerId: this.props.registration.leadPlayerId\r\n }));\r\n\r\n if (this.props.registration.entryIsPrepaid)\r\n return this.props.history.push('/registration-complete');\r\n\r\n this.setState({completeDetails, isLoading: false, activeStep: 4});\r\n } catch (err) {\r\n this.setState({isLoading: false, summaryError: true});\r\n console.log(err)\r\n }\r\n };\r\n\r\n canUserRegister = async () => {\r\n this.setState({isLoading: true});\r\n\r\n try {\r\n let response = await this._competitionService.checkUserCanRegister(this.props.registration.competitionId, this.props.registration.leadPlayerEmail, this.props.registration.additionalPlayerEmail);\r\n\r\n this.setState({isLoading: false, validationError: response.errorMessage});\r\n } catch (err) {\r\n this.setState({isLoading: false});\r\n console.log(err);\r\n let errorMessage = 'An unexpected error occurred when trying to validate your registration. Please try again.';\r\n return this.props.history.push('/error?errorMessage=' + errorMessage);\r\n }\r\n };\r\n\r\n render () {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(RegistrationContainer);\r\n","import Uuid from 'uuid';\r\nexport const UPDATE_REGISTRATION = 'UPDATE_REGISTRATION';\r\nexport const SET_REGISTRATION = 'SET_REGISTRATION';\r\n\r\nexport function setRegistration (value) {\r\n let defaultPropertyValues = null;\r\n if (value)\r\n defaultPropertyValues = {\r\n competitionId: value.competitionId,\r\n competitionTeamId: value.competitionTeamId ? value.competitionTeamId : Uuid.v4(),\r\n pairName: value.pairName ? value.pairName : '',\r\n clubName: value.clubName ? value.clubName : '',\r\n clubId: value.clubId ? value.clubId : '',\r\n hasCheckedTerms: false,\r\n hasCheckedRules: false,\r\n leadPlayerId: value.leadPlayer ? value.leadPlayer.competitionTeamPlayerId : Uuid.v4(),\r\n leadPlayerFirstName: value.leadPlayer && value.leadPlayer.firstName ? value.leadPlayer.firstName : '',\r\n leadPlayerLastName: value.leadPlayer && value.leadPlayer.lastName ? value.leadPlayer.lastName : '',\r\n leadPlayerHandicap: value.leadPlayer && value.leadPlayer.handicap ? value.leadPlayer.handicap : '',\r\n leadPlayerHandicapNumber: value.leadPlayer && value.leadPlayer.handicapNumber ? value.leadPlayer.handicapNumber : '',\r\n leadPlayerEmail: value.leadPlayer && value.leadPlayer.email ? value.leadPlayer.email : '',\r\n leadPlayerPhone: value.leadPlayer && value.leadPlayer.phone ? value.leadPlayer.phone : '',\r\n addressId: '',\r\n addressLine1: value.leadPlayer && value.leadPlayer.addressLine1 ? value.leadPlayer.addressLine1 : '',\r\n addressLine2: value.leadPlayer && value.leadPlayer.addressLine2 ? value.leadPlayer.addressLine2 : '',\r\n town: value.leadPlayer && value.leadPlayer.town ? value.leadPlayer.town : '',\r\n countyId: value.leadPlayer && value.leadPlayer.countyId ? value.leadPlayer.countyId : '',\r\n postCode: value.leadPlayer && value.leadPlayer.postCode ? value.leadPlayer.postCode : '',\r\n additionalPlayerId: value.additionalPlayer ? value.additionalPlayer.competitionTeamPlayerId : Uuid.v4(),\r\n additionalPlayerFirstName: value.additionalPlayer && value.additionalPlayer.firstName ? value.additionalPlayer.firstName : '',\r\n additionalPlayerLastName: value.additionalPlayer && value.additionalPlayer.lastName ? value.additionalPlayer.lastName : '',\r\n additionalPlayerHandicap: value.additionalPlayer && value.additionalPlayer.handicap ? value.additionalPlayer.handicap : '',\r\n additionalPlayerHandicapNumber: value.additionalPlayer && value.additionalPlayer.handicapNumber ? value.additionalPlayer.handicapNumber : '',\r\n additionalPlayerEmail: value.additionalPlayer && value.additionalPlayer.email ? value.additionalPlayer.email : '',\r\n additionalPlayerPhone: value.additionalPlayer && value.additionalPlayer.phone ? value.additionalPlayer.phone : '',\r\n entryIsPrepaid: value.entryIsPrepaid,\r\n tournamentFormatId: value.tournamentFormatId\r\n };\r\n\r\n return { type: SET_REGISTRATION, payload: { ...value, ...defaultPropertyValues } }\r\n}\r\n\r\nexport function updateRegistration (value) {\r\n return { type: UPDATE_REGISTRATION, payload: { ...value } }\r\n}","import React from 'react';\r\n//components\r\nimport Container from './registration-container';\r\n//redux\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport { setRegistration, updateRegistration } from '../../utils/redux/registration/registration-actions';\r\n\r\nclass RegistrationRedux extends React.Component {\r\n\r\n setRegistration = this.props.setRegistration;\r\n updateRegistration = this.props.updateRegistration;\r\n\r\n handleUpdateRegistration = (e) => this.props.updateRegistration({[e.target.name]: e.target.value});\r\n\r\n handleUpdateRegistrationCheck = (e) => this.props.updateRegistration({[e.target.name]: e.target.checked});\r\n\r\n handleClubSelection = (clubId) => this.props.updateRegistration({clubId});\r\n\r\n handleRegistrationChange = (name, value) => this.props.updateRegistration({[name]: value});\r\n\r\n render () {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = state => {\r\n return {\r\n registration: state.registration\r\n }\r\n};\r\n\r\nfunction mapDispatchToProps (dispatch) {\r\n return {\r\n setRegistration: bindActionCreators(setRegistration, dispatch),\r\n updateRegistration: bindActionCreators(updateRegistration, dispatch)\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps) (RegistrationRedux);","import React from 'react';\r\n//component\r\nimport RegistrationPage from '../../components/registration';\r\n\r\nclass Registration extends React.Component {\r\n render () {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default Registration;","\r\nconst ExpressCheckoutStyles = theme => ({\r\n radioButtonItem: {\r\n marginTop: 16\r\n },\r\n submitButton: {\r\n float: 'right',\r\n margin: '10px 0'\r\n },\r\n buttonOuterContainer: {\r\n marginTop: 20\r\n },\r\n buttonContainer: {\r\n margin: '0 auto'\r\n },\r\n stripePaymentButton: {\r\n backgroundColor: 'rgb(44, 46, 47);',\r\n color: '#ffffff',\r\n '&:hover':{\r\n backgroundColor: '#000000',\r\n color: '#ffffff',\r\n }\r\n },\r\n faIcon: {\r\n width: 'fit-content',\r\n marginRight: 10\r\n },\r\n voucherButtonContainer: {\r\n lineHeight: '56px',\r\n verticalAlign: 'middle'\r\n },\r\n voucherSkeleton: {\r\n marginTop: '20px'\r\n },\r\n containerPadding: {\r\n [theme.breakpoints.down('sm')]: {\r\n paddingLeft: 0,\r\n paddingRight: 0\r\n }\r\n }\r\n});\r\n\r\nexport default ExpressCheckoutStyles;\r\n","\r\nconst SelectMultipleCompetitionsStyles = theme => ({\r\n dialogHeader: {\r\n padding: '16px 24px 0'\r\n },\r\n dialogContentRoot: {\r\n padding: '8px 0'\r\n },\r\n dialogActions: {\r\n paddingTop: 0\r\n }\r\n});\r\n\r\nexport default SelectMultipleCompetitionsStyles;","import React from 'react';\r\nimport styles from './select-multiple-competitions-styles';\r\nimport Moment from 'moment';\r\nimport { withRouter } from 'react-router-dom';\r\n//material\r\nimport { Dialog, DialogTitle, DialogContent, DialogActions, List, ListItem, ListItemText, ListItemIcon, ListItemSecondaryAction, Checkbox, withStyles, Button } from '@material-ui/core';\r\n\r\nfunction SelectMultipleCompetitions (props) {\r\n const classes = props.classes;\r\n const [checked, setChecked] = React.useState([]);\r\n\r\n const handleToggle = (value) => () => {\r\n const currentIndex = checked.indexOf(value);\r\n const newChecked = [...checked];\r\n\r\n if (currentIndex === -1) {\r\n newChecked.push(value);\r\n } else {\r\n newChecked.splice(currentIndex, 1);\r\n }\r\n\r\n setChecked(newChecked);\r\n };\r\n\r\n return (\r\n \r\n \r\n Please select the Competitions you would like to register for:\r\n \r\n \r\n \r\n {\r\n props.competitions.map((competition, key) =>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default withStyles(styles) (withRouter(SelectMultipleCompetitions));\r\n","\r\nconst PayPalButtonStyles = theme => ({\r\n disabledButton: {\r\n width: '100%',\r\n borderRadius: '4px',\r\n //backgroundColor: 'rgb(255, 196, 57)',\r\n backgroundColor: 'transparent',\r\n border: 'none',\r\n display: 'inline-block',\r\n position: 'relative'\r\n },\r\n imageContainer: {\r\n backgroundColor: 'rgba(0, 0, 0, 0.12)',\r\n height: '100%',\r\n width: '100%',\r\n borderRadius: '4px',\r\n position: 'absolute',\r\n top: 0,\r\n left: 0\r\n },\r\n disabledImage: {\r\n width: 56,\r\n height: 18\r\n }\r\n});\r\n\r\nexport default PayPalButtonStyles;","import React from 'react';\r\nimport { PayPalButton } from \"react-paypal-button-v2\";\r\nimport styles from './paypal-button-styles';\r\nimport _ from 'lodash';\r\n//material\r\nimport { withStyles } from '@material-ui/core';\r\n\r\nfunction PaypalButtonContainer (props) {\r\n const classes = props.classes;\r\n let amount = 0;\r\n props.selectedCompetitions.forEach(c => {\r\n let comp = c;\r\n if (props.discountedCompetitions && props.discountedCompetitions.length) {\r\n let discountedCompetition = _.find(props.discountedCompetitions, d => d.tournamentId === comp.id );\r\n if (discountedCompetition)\r\n comp.entryAmount = discountedCompetition.entryAmount;\r\n }\r\n\r\n amount += parseFloat(comp.entryAmount);\r\n });\r\n amount = amount.toFixed(2);\r\n\r\n return (\r\n !props.disabled ?\r\n props.payPalCheckoutComplete(details, data)}\r\n options={{\r\n clientId: process.env.REACT_APP_COMPETITIONGOLF_PAYPAL_CLIENT_ID,\r\n disableFunding: 'card',\r\n currency: props.selectedCompetitions[0].currencyCode\r\n }}\r\n style={{ height: props.height }}\r\n disabled={true}\r\n shippingPreference={'NO_SHIPPING'}\r\n /> :\r\n \r\n\r\n pay\r\n
\r\n \r\n );\r\n}\r\n\r\nexport default withStyles(styles) (PaypalButtonContainer);\r\n","import React from 'react';\r\nimport styles from './express-checkout-styles';\r\n//material\r\nimport {Container, Card, CardContent, Grid, TextField, Icon, withStyles, Button} from '@material-ui/core';\r\nimport { Skeleton } from '@material-ui/lab';\r\n//components\r\nimport SelectMultipleCompetitions from './select-multiple-competitions';\r\nimport PaypalButton from '../paypal-button';\r\n\r\nconst payPalClientId = process.env.REACT_APP_COMPETITIONGOLF_PAYPAL_CLIENT_ID;\r\n\r\nfunction ExpressCheckoutView (props) {\r\n const classes = props.classes;\r\n let isSubmitDisabled = () => {\r\n return (!props.registration.firstName ||\r\n !props.registration.lastName ||\r\n !props.registration.email ||\r\n !props.registration.email.match(/^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/));\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n {\r\n props.isLoading ?\r\n :\r\n

\r\n Matchplay Checkout\r\n

\r\n }\r\n\r\n {\r\n props.isLoading ?\r\n :\r\n

\r\n Please enter the details of the lead player.\r\n

\r\n }\r\n\r\n \r\n \r\n {\r\n props.isLoading ?\r\n :\r\n \r\n }\r\n \r\n\r\n \r\n {\r\n props.isLoading ?\r\n :\r\n \r\n }\r\n \r\n\r\n \r\n {\r\n props.isLoading ?\r\n :\r\n \r\n }\r\n \r\n\r\n \r\n {\r\n props.isLoading ?\r\n :\r\n \r\n }\r\n \r\n\r\n \r\n {\r\n props.isLoading ?\r\n :\r\n (!props.discountCodeLocked &&\r\n \r\n Apply\r\n )\r\n }\r\n \r\n \r\n\r\n \r\n \r\n \r\n {\r\n props.isLoading ?\r\n :\r\n \r\n \r\n \r\n Pay by Card\r\n {/**/}\r\n\r\n \r\n }\r\n \r\n \r\n\r\n \r\n {\r\n payPalClientId && !payPalClientId.startsWith('#{') && !payPalClientId.endsWith('}#') &&\r\n \r\n {\r\n props.isLoading ?\r\n :\r\n \r\n }\r\n \r\n }\r\n \r\n \r\n\r\n
\r\n
\r\n\r\n {\r\n props.showSelectCompetitionsDialog &&\r\n \r\n }\r\n
\r\n );\r\n}\r\n\r\nexport default withStyles(styles) (ExpressCheckoutView);\r\n","import React from 'react';\r\nimport { withRouter } from 'react-router-dom';\r\nimport _ from 'lodash';\r\nimport ReactGA from 'react-ga';\r\n//components\r\nimport View from './express-checkout-view';\r\n//utils\r\nimport { OrganisationService } from '../../utils/data-transfer';\r\nimport AuthorisationService from '../../utils/authorisation/authorisationService';\r\n//stripe\r\nimport { loadStripe } from '@stripe/stripe-js';\r\n\r\nconst stripePublicKey = process.env.REACT_APP_COMPETITIONGOLF_STRIPE_PUBLIC_KEY;\r\nconst stripePromise = loadStripe(stripePublicKey);\r\n\r\nclass ExpressCheckoutContainer extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this._organisationService = new OrganisationService();\r\n this.state = {\r\n competitions: [],\r\n selectedCompetitions: [],\r\n showSelectCompetitionsDialog: false,\r\n isLoading: true,\r\n registration: {\r\n firstName: '',\r\n lastName: '',\r\n email: '',\r\n discountCode: ''\r\n },\r\n discountedCompetitions: [],\r\n errorMessage: '',\r\n discountApplied: false,\r\n discountCodeLocked: false\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this.getUpcomingCompetitions();\r\n }\r\n\r\n getUpcomingCompetitions = async () => {\r\n try {\r\n ReactGA.pageview(this.props.location.pathname);\r\n\r\n let user = await AuthorisationService.getUser();\r\n if (user)\r\n this.setState(\r\n {\r\n registration: Object.assign({}, this.state.registration,\r\n {\r\n firstName: user.profile.given_name,\r\n lastName: user.profile.family_name,\r\n email: user.profile.email\r\n })\r\n });\r\n\r\n let competitions = await this._organisationService.getOpenCompetitions();\r\n if (!competitions.length) {\r\n let errorMessage = 'There are no competitions currently running with open registration.';\r\n this.props.history.push('/error?errorMessage=' + errorMessage);\r\n }\r\n\r\n if (this.props.discountCode) {\r\n let code = {\r\n voucherCode: this.props.discountCode,\r\n competitionIds: competitions.map( x => x.id)\r\n };\r\n\r\n let validationResponse = await this._organisationService.validateDiscountCode(code);\r\n if (validationResponse.errorMessage) {\r\n this.setState({errorMessage: validationResponse.errorMessage, registration: Object.assign({}, this.state.registration, {discountCode: this.props.discountCode})});\r\n } else {\r\n return this.setState({\r\n selectedCompetitions: [_.find(competitions, c => c.id === validationResponse.tournamentId)],\r\n discountedCompetitions: [...this.state.discountedCompetitions, validationResponse ],\r\n discountCodeLocked: true,\r\n isLoading: false,\r\n registration: Object.assign({}, this.state.registration, {discountCode: this.props.discountCode})\r\n });\r\n }\r\n }\r\n\r\n if (competitions.length === 1)\r\n return this.setState({ selectedCompetitions: [competitions[0]], isLoading: false });\r\n\r\n this.setState({ competitions, showSelectCompetitionsDialog: true });\r\n } catch (err) {\r\n console.log(err);\r\n let errorMessage = 'An unexpected error occurred when trying to get competitions, please try again later.';\r\n this.props.history.push('/error?errorMessage=' + errorMessage);\r\n }\r\n }\r\n\r\n submitExpressCheckout = async () => {\r\n try {\r\n this.setState({ isLoading: true });\r\n\r\n let registration = {\r\n ...this.state.registration,\r\n competitionIds: this.state.selectedCompetitions.map( x => x.id),\r\n discountCodes: this.state.discountedCompetitions\r\n }\r\n let paymentResponse = await this._organisationService.setStripeCheckoutPayment(registration);\r\n localStorage.setItem('checkoutCompleteDetails', JSON.stringify(paymentResponse));\r\n\r\n await this.stripeCheckout(paymentResponse);\r\n } catch (err) {\r\n console.log(err);\r\n let errorMessage = 'We were unable to process your payment at this time, please try again later.';\r\n this.props.history.push('/error?errorMessage=' + errorMessage);\r\n }\r\n };\r\n\r\n stripeCheckout = async (payment) => {\r\n try {\r\n const stripe = await stripePromise;\r\n let products = payment.products;\r\n if (this.state.discountedCompetitions.length) {\r\n products = products.map(p => {\r\n let discountedComp = _.find(this.state.discountedCompetitions, d => d.stripeSku === p);\r\n if (discountedComp)\r\n return discountedComp.discountStripeSku;\r\n\r\n return p\r\n });\r\n\r\n }\r\n\r\n const { error } = await stripe.redirectToCheckout({\r\n lineItems: products.map(product => ({\r\n price: product,\r\n quantity: 1\r\n })),\r\n mode: 'payment',\r\n successUrl: 'https://' + window.location.host + '/checkout-complete',\r\n cancelUrl: 'https://' + window.location.host + '/registration',\r\n clientReferenceId: payment.paymentReferenceCode,\r\n customerEmail: this.state.registration.email\r\n });\r\n\r\n } catch (err) {\r\n console.log(err);\r\n let errorMessage = 'We were unable to process your payment at this time, please try again later.';\r\n this.props.history.push('/error?errorMessage=' + errorMessage);\r\n }\r\n };\r\n\r\n payPalCheckoutComplete = async (details, data) => {\r\n try {\r\n this.setState({ isLoading: true });\r\n\r\n let registration = {\r\n ...this.state.registration,\r\n competitionIds: this.state.selectedCompetitions.map( x => x.id),\r\n discountCodes: this.state.discountedCompetitions,\r\n orderId: data.orderID,\r\n payerId: data.payerID,\r\n paymentFirstName: details.payer.name.given_name,\r\n paymentLastName: details.payer.name.surname,\r\n paymentEmail: details.payer.email_address,\r\n amount: details.purchase_units[0].amount.value,\r\n currency: details.purchase_units[0].amount.currency_code,\r\n status: details.status\r\n }\r\n\r\n let paymentResponse = await this._organisationService.setPayPalPayment(registration);\r\n localStorage.setItem('checkoutCompleteDetails', JSON.stringify(paymentResponse));\r\n\r\n this.props.history.push('/checkout-complete');\r\n } catch (err) {\r\n console.log(err);\r\n let errorMessage = 'An error occurred when attempting to register you but your payment may have still been taken. Please contact support for help completing registration.';\r\n this.props.history.push('/error?errorMessage=' + errorMessage);\r\n }\r\n }\r\n\r\n applyVoucherCode = async () => {\r\n try {\r\n this.setState({ errorMessage: '', discountApplied: false });\r\n let code = {\r\n voucherCode: this.state.registration.discountCode,\r\n competitionIds: this.state.selectedCompetitions.map( x => x.id)\r\n };\r\n\r\n let validationResponse = await this._organisationService.validateDiscountCode(code);\r\n if (validationResponse.errorMessage)\r\n return this.setState({errorMessage: validationResponse.errorMessage});\r\n\r\n this.setState({discountedCompetitions: [...this.state.discountedCompetitions, validationResponse ], discountApplied: true });\r\n } catch (err) {\r\n console.log(err);\r\n let errorMessage = 'An error occurred when attempting to register you but your payment may have still been taken. Please contact support for help completing registration.';\r\n this.props.history.push('/error?errorMessage=' + errorMessage);\r\n }\r\n };\r\n\r\n selectCompetitions = (selectedCompetitions) => this.setState({ selectedCompetitions, isLoading: false, showSelectCompetitionsDialog: false });\r\n handleChange = (e) => this.setState({registration: Object.assign({}, this.state.registration, {[e.target.name]: e.target.value})});\r\n handleValueTypeChange = (e) => this.setState({ [e.target.name]: e.target.value });\r\n\r\n render () {\r\n return (\r\n \r\n )\r\n }\r\n}\r\n\r\nexport default withRouter (ExpressCheckoutContainer);\r\n","import React from 'react';\r\n//components\r\nimport ExpressCheckoutComponent from '../../components/express-checkout';\r\n\r\nclass ExpressCheckout extends React.Component {\r\n render () {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default ExpressCheckout;\r\n","import CoreStyles from '../../utils/styles/core-styles';\r\n\r\nconst ExpressCheckoutCompleteStyles = theme => ({\r\n header: {\r\n fontSize: '18px',\r\n fontWeight: 'bold',\r\n color: theme.palette.primary.contrastText,\r\n backgroundColor: theme.palette.primary.main,\r\n textAlign: 'center',\r\n padding: '10px 0'\r\n },\r\n card: {\r\n padding: ['30px 16px', '!important']\r\n },\r\n ...CoreStyles(theme)\r\n});\r\n\r\nexport default ExpressCheckoutCompleteStyles;","import React from 'react';\r\nimport styles from './express-checkout-complete-styles';\r\n//material\r\nimport {withStyles, Container, Grid, Card, CardContent, Button} from '@material-ui/core';\r\n\r\nfunction ExpressCheckoutCompleteView (props) {\r\n const classes = props.classes;\r\n\r\n return (\r\n \r\n \r\n \r\n
\r\n Checkout Complete\r\n
\r\n\r\n \r\n \r\n {\r\n props.hasAccount &&\r\n \r\n { !props.voucherRedeemed ? 'Thank you for your purchase.' : 'Thank you for redeeming your Gift Code.'}\r\n

\r\n Please {!props.user || props.user.expired ? 'Sign In and ' : ''}go to the Dashboard to complete your registration.\r\n

\r\n
\r\n }\r\n\r\n {\r\n !props.hasAccount &&\r\n \r\n { !props.voucherRedeemed ? 'Thank you for your purchase.' : 'Thank you for redeeming your Gift Code.'}\r\n

\r\n Please click the button below to register for your account.\r\n

\r\n
\r\n }\r\n\r\n \r\n \r\n { props.hasAccount ? ((props.user && !props.user.expired) ? 'Go to Dashboard' : 'Sign In') : 'Create Your Account' }\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default withStyles (styles) (ExpressCheckoutCompleteView);\r\n","import React from 'react';\r\nimport View from './express-checkout-complete-view';\r\nimport { withRouter } from 'react-router-dom';\r\nimport ReactGA from 'react-ga';\r\n//Utils\r\nimport AuthorisationService from '../../utils/authorisation/authorisationService';\r\n\r\n\r\nclass ExpressCheckoutCompleteContainer extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n user: null,\r\n hasAccount: false,\r\n registrationCode: '',\r\n voucherRedeemed: false\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.getUserStatus();\r\n }\r\n\r\n getUserStatus = async () => {\r\n let checkoutDetails = JSON.parse(localStorage.getItem('checkoutCompleteDetails'));\r\n this.setState({\r\n hasAccount: checkoutDetails.isUser,\r\n registrationCode: checkoutDetails.createAccountCode,\r\n voucherRedeemed: checkoutDetails.voucherRedeemed\r\n });\r\n\r\n let user = await AuthorisationService.getUser();\r\n if (user)\r\n this.setState({ user });\r\n\r\n ReactGA.event({\r\n category: 'payment',\r\n action: 'success'\r\n });\r\n\r\n ReactGA.pageview(this.props.location.pathname);\r\n }\r\n\r\n nextAction = async () => {\r\n if (!this.state.hasAccount)\r\n return this.props.history.push('/register-user/' + this.state.registrationCode);\r\n\r\n if (this.state.user && !this.state.user.expired)\r\n return this.props.history.push('/dashboard');\r\n\r\n AuthorisationService.signinRedirect();\r\n }\r\n\r\n render() {\r\n return(\r\n \r\n )\r\n }\r\n}\r\n\r\nexport default withRouter(ExpressCheckoutCompleteContainer);\r\n","import React from 'react';\r\nimport ExpressCheckoutCompleteContainer from '../../components/express-checkout-complete';\r\n\r\nclass ExpressCheckoutComplete extends React.Component {\r\n render () {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default ExpressCheckoutComplete;","import CoreStyles from '../../utils/styles/core-styles';\r\n\r\nconst InvalidCodeStyles = theme => ({\r\n errorIcon: {\r\n height: 60,\r\n width: 60\r\n },\r\n errorHeader: {\r\n padding: '20px 0'\r\n },\r\n errorBody: {\r\n padding: '30px 0',\r\n whiteSpace: 'pre-wrap'\r\n },\r\n header: {\r\n fontSize: '18px',\r\n fontWeight: 'bold',\r\n color: theme.palette.primary.contrastText,\r\n backgroundColor: theme.palette.primary.main,\r\n textAlign: 'center',\r\n padding: '10px 0'\r\n },\r\n ...CoreStyles(theme)\r\n});\r\n\r\nexport default InvalidCodeStyles;","import React from 'react';\r\nimport queryString from 'query-string';\r\nimport styles from './invalid-code-styles';\r\n//material\r\nimport { Container, Card, CardContent, withStyles, Typography } from '@material-ui/core';\r\nimport { Error } from '@material-ui/icons';\r\n\r\nclass InvalidCode extends React.Component {\r\n render () {\r\n let errorMessage = queryString.parse(this.props.location.search).errorMessage;\r\n const classes = this.props.classes;\r\n\r\n return (\r\n \r\n \r\n
\r\n Error\r\n
\r\n\r\n \r\n \r\n {errorMessage}\r\n \r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default withStyles(styles) (InvalidCode);","import CoreStyles from '../../utils/styles/core-styles';\r\n\r\nconst AccountRegistrationStyles = theme => ({\r\n gridContainer: {\r\n paddingTop: 40\r\n },\r\n cardContent: {\r\n padding: '16px 21px'\r\n },\r\n passwordProgressContainer: {\r\n padding: '0 20px',\r\n marginBottom: 40,\r\n [theme.breakpoints.down('sm')]: {\r\n padding: '20px 0 ',\r\n marginBottom: 0\r\n }\r\n },\r\n passwordProgress: {\r\n backgroundColor: '#eee',\r\n padding: 10,\r\n fontSize: '15px'\r\n },\r\n passwordConditionMet: {\r\n listStyleType: '\" \\\\2713 \"'\r\n },\r\n ...CoreStyles(theme)\r\n});\r\n\r\nexport default AccountRegistrationStyles;","import React from 'react';\r\nimport styles from './account-registration-styles';\r\n//material\r\nimport { Container, Card, CardContent, withStyles, Grid, TextField, Paper, InputAdornment, IconButton, FormControlLabel, Radio, Button } from '@material-ui/core';\r\nimport { Visibility, VisibilityOff } from '@material-ui/icons';\r\nimport { Skeleton } from '@material-ui/lab';\r\n//utils\r\nimport AuthorisationService from '../../utils/authorisation/authorisationService';\r\n\r\nfunction AccountRegistrationView (props) {\r\n const classes = props.classes;\r\n\r\n return (\r\n \r\n \r\n {\r\n !props.registrationComplete &&\r\n \r\n {\r\n props.isLoading ?\r\n :\r\n

\r\n Sign up for your Competition Golf account\r\n

\r\n }\r\n\r\n {\r\n props.isLoading ?\r\n :\r\n
\r\n Hello { props.user.firstName }, thank you for registering for the Matchplay Competition.\r\n
\r\n }\r\n\r\n
\r\n\r\n {\r\n props.isLoading ?\r\n :\r\n \r\n By signing up to Competition Golf you can:\r\n \r\n }\r\n\r\n {\r\n props.isLoading ?\r\n
\r\n \r\n \r\n \r\n
:\r\n
    \r\n
  • View all Competitions you are registered for
  • \r\n
  • Track your upcoming Matches and enter the results for them
  • \r\n
  • Manage your player details such as the photo we display
  • \r\n
\r\n }\r\n\r\n \r\n \r\n {\r\n props.isLoading ?\r\n :\r\n \r\n \r\n { props.showPassword ? : }\r\n \r\n )\r\n }}/>\r\n }\r\n\r\n {\r\n props.isLoading ?\r\n :\r\n 0 && props.verifyPassword !== props.password}\r\n helperText={props.verifyPassword.length > 0 && props.verifyPassword !== props.password ? 'Does not match password' : ''}\r\n fullWidth\r\n variant={'outlined'}\r\n label={'Confirm Password'}\r\n value={props.verifyPassword}\r\n name={'verifyPassword'}\r\n onChange={props.handleChange}\r\n type={!props.showPassword ? 'password' : 'text'}\r\n InputProps={{\r\n endAdornment:(\r\n \r\n \r\n { props.showPassword ? : }\r\n \r\n )\r\n }}/>\r\n }\r\n \r\n\r\n \r\n {\r\n props.isLoading ?\r\n :\r\n \r\n Your password should be:\r\n
    \r\n
  • = 8 ? classes.passwordConditionMet : ''}>a minimum of 8 characters
  • \r\n
  • at least 1 upper-case letter
  • \r\n
  • at least 1 lower-case letter
  • \r\n
  • at least 1 number
  • \r\n
\r\n
\r\n }\r\n\r\n
\r\n
\r\n\r\n {\r\n props.isLoading ?\r\n :\r\n
\r\n Would you like to register for our newsletter and be entered into a monthly draw for a chance to win a box of golf balls?\r\n
\r\n }\r\n\r\n
\r\n {\r\n props.isLoading ?\r\n :\r\n props.handleSetNewsletter(true)}\r\n color={'primary'}/>}\r\n label={'Yes'}/>\r\n }\r\n\r\n {\r\n props.isLoading ?\r\n :\r\n props.handleSetNewsletter(false)}\r\n color={'primary'}/>}\r\n label={'No'}/>\r\n }\r\n
\r\n\r\n \r\n {\r\n props.isLoading ?\r\n :\r\n \r\n Sign Up\r\n \r\n }\r\n \r\n\r\n
\r\n }\r\n\r\n {\r\n props.registrationComplete &&\r\n \r\n

\r\n Thank you for signing up to Competition Golf\r\n

\r\n\r\n
\r\n Now that you are signed up with a Competition Golf account you will be able manage the Competition you registered for along with any past and future competitions.\r\n
\r\n\r\n
\r\n\r\n
\r\n Sign in using the button below to get started.\r\n
\r\n\r\n \r\n \r\n Sign In\r\n \r\n \r\n
\r\n }\r\n\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default withStyles(styles) (AccountRegistrationView);","import React from 'react';\r\nimport { withRouter } from 'react-router-dom';\r\n//components\r\nimport AccountRegistrationView from './account-registration-view';\r\n//utils\r\nimport { OrganisationService } from '../../utils/data-transfer';\r\n\r\nclass AccountRegistrationContainer extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n isLoading: true,\r\n user: {},\r\n password: '',\r\n verifyPassword: '',\r\n newsletter: null,\r\n showPassword: false,\r\n registrationComplete: false\r\n };\r\n this._organisationService = new OrganisationService();\r\n }\r\n\r\n componentDidMount() {\r\n return this.getUserRegistrationData();\r\n }\r\n\r\n getUserRegistrationData = async () => {\r\n try {\r\n let response = await this._organisationService.getUserRegistrationData(this.props.accountCode);\r\n if (response.errorMessage)\r\n return this.props.history.push('/error?errorMessage=' + response.errorMessage);\r\n\r\n this.setState({ user: response, isLoading: false });\r\n } catch (err) {\r\n console.log(err);\r\n let errorMessage = 'An error has occurred, please try again later.';\r\n return this.props.history.push('/error?errorMessage=' + errorMessage);\r\n }\r\n };\r\n\r\n registerUser = async () => {\r\n try {\r\n this.setState({ isLoading: true })\r\n let response = await this._organisationService.registerUser({\r\n organisationMemberId: this.state.user.organisationMemberId,\r\n password: this.state.password,\r\n newsletterOptIn: this.state.newsletter\r\n });\r\n if (response.errorMessage)\r\n return this.props.history.push('/error?errorMessage=' + response.errorMessage);\r\n\r\n this.setState({ isLoading: false, registrationComplete: true });\r\n } catch (err) {\r\n console.log(err);\r\n let errorMessage = 'An error has occurred, please try again later.';\r\n return this.props.history.push('/error?errorMessage=' + errorMessage);\r\n }\r\n };\r\n\r\n handleChange = (e) => this.setState({ [e.target.name]: e.target.value });\r\n\r\n handleSetShowPassword = () => this.setState({ showPassword: !this.state.showPassword });\r\n\r\n handleSetNewsletter = newsletter => this.setState({ newsletter });\r\n\r\n render () {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(AccountRegistrationContainer);","import React from 'react';\r\n//component\r\nimport AccountRegistrationPage from '../../components/account-registration';\r\n\r\nclass AccountRegistration extends React.Component {\r\n render () {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default AccountRegistration;","import CoreStyles from '../../utils/styles/core-styles';\r\n\r\nconst RegistrationCompleteStyles = theme => ({\r\n containerPadding: {\r\n [theme.breakpoints.down('sm')]: {\r\n paddingLeft: 0,\r\n paddingRight: 0\r\n }\r\n },\r\n errorText: {\r\n fontSize: '12px',\r\n color: 'red'\r\n },\r\n registrationCard: {\r\n padding: ['30px 16px', '!important']\r\n },\r\n registrationCompleteDate: {\r\n fontSize: 20,\r\n // paddingLeft: 30\r\n },\r\n errorIcon: {\r\n height: 60,\r\n width: 60\r\n },\r\n errorHeader: {\r\n padding: '20px 0'\r\n },\r\n errorBody: {\r\n padding: '30px 0'\r\n },\r\n header: {\r\n fontSize: '18px',\r\n fontWeight: 'bold',\r\n color: theme.palette.primary.contrastText,\r\n backgroundColor: theme.palette.primary.main,\r\n textAlign: 'center',\r\n padding: '10px 0'\r\n },\r\n ...CoreStyles(theme)\r\n});\r\n\r\nexport default RegistrationCompleteStyles;","const TellAFriendStyles = theme => ({\r\n header: {\r\n fontSize: '16px',\r\n fontWeight: '500',\r\n textAlign: 'center',\r\n marginTop: '20px'\r\n // color: theme.palette.primary.contrastText,\r\n // backgroundColor: theme.palette.primary.main,\r\n // textAlign: 'center',\r\n // padding: '10px 0'\r\n },\r\n buttonContainer: {\r\n textAlign: 'center'\r\n },\r\n facebookButton: {\r\n color: '#4267B2'\r\n },\r\n twitterButton: {\r\n color: '#1DA1F2'\r\n },\r\n instagramButton: {\r\n color: '#c13584'\r\n },\r\n linkedInButton: {\r\n color: '#2867B2'\r\n }\r\n\r\n});\r\n\r\nexport default TellAFriendStyles;\r\n","import React from 'react';\r\nimport styles from './tell-a-friend-styles';\r\n//material\r\nimport {Container, Grid, IconButton, withStyles} from '@material-ui/core';\r\nimport { Facebook, LinkedIn, Twitter } from '@material-ui/icons';\r\n\r\nfunction TellAFriendView (props) {\r\n const classes = props.classes;\r\n\r\n const navigate = (location) => window.open(location, '_blank');\r\n\r\n return (\r\n \r\n \r\n \r\n {/**/}\r\n {/*
*/}\r\n {/* Tell a Friend*/}\r\n {/*
*/}\r\n\r\n {/* */}\r\n {/* */}\r\n {/* navigate('https://www.facebook.com/sharer/sharer.php?u='+encodeURIComponent(process.env.REACT_APP_COMPETITIONGOLF_TELL_A_FRIEND_LINK))}>*/}\r\n {/* */}\r\n {/* */}\r\n {/* navigate('https://twitter.com/share?url='+encodeURIComponent(process.env.REACT_APP_COMPETITIONGOLF_TELL_A_FRIEND_LINK))}>*/}\r\n {/* */}\r\n {/* */}\r\n {/* navigate('https://www.linkedin.com/sharing/share-offsite/?url='+encodeURIComponent(process.env.REACT_APP_COMPETITIONGOLF_TELL_A_FRIEND_LINK))}>*/}\r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n {/*
*/}\r\n\r\n
\r\n Tell a Friend\r\n
\r\n\r\n \r\n navigate('https://www.facebook.com/sharer/sharer.php?u=' + encodeURIComponent(process.env.REACT_APP_COMPETITIONGOLF_TELL_A_FRIEND_LINK))}>\r\n \r\n \r\n navigate('https://twitter.com/share?url=' + encodeURIComponent(process.env.REACT_APP_COMPETITIONGOLF_TELL_A_FRIEND_LINK))}>\r\n \r\n \r\n navigate('https://www.linkedin.com/sharing/share-offsite/?url=' + encodeURIComponent(process.env.REACT_APP_COMPETITIONGOLF_TELL_A_FRIEND_LINK))}>\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default withStyles(styles) (TellAFriendView);\r\n","import React from 'react';\r\nimport styles from './registration-complete-styles';\r\nimport Moment from 'moment';\r\n//material\r\nimport { Grid, Card, CardContent, Typography, withStyles, Container, Button } from '@material-ui/core';\r\nimport { Skeleton } from '@material-ui/lab';\r\nimport { Error } from '@material-ui/icons';\r\n//components\r\nimport StaticPage from '../static-page';\r\nimport TellAFriend from '../tell-a-friend';\r\n\r\nfunction RegistrationCompleteView (props) {\r\n const classes = props.classes;\r\n let showTellAFriend = process.env.REACT_APP_COMPETITIONGOLF_SHOW_TELL_A_FRIEND;\r\n showTellAFriend = (!showTellAFriend.startsWith('#{') && !showTellAFriend.endsWith('}#')) ? JSON.parse(showTellAFriend) : false;\r\n\r\n return (\r\n \r\n \r\n\r\n {\r\n !props.summaryError &&\r\n \r\n\r\n \r\n \r\n \r\n
\r\n Registration Complete\r\n
\r\n\r\n \r\n \r\n \r\n Thank you for registering to take part in this competition.\r\n

\r\n Draw Date: { props.drawDate ? Moment(new Date(props.drawDate)).format('Do MMMM YYYY') : '-' }\r\n

\r\n Please check your email for your entry confirmation.\r\n

\r\n {\r\n props.isLoading ?\r\n :\r\n \r\n { props.hasAccount ? (props.user ? 'Go to Dashboard' : 'Sign In') : 'Create Your Account' }\r\n \r\n }\r\n
\r\n\r\n {\r\n showTellAFriend && !props.isLoading &&\r\n \r\n \r\n \r\n }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n {\r\n props.isLoading ?\r\n
\r\n \r\n \r\n \r\n
:\r\n \r\n }\r\n\r\n
\r\n
\r\n }\r\n\r\n {\r\n props.summaryError &&\r\n \r\n \r\n \r\n Error\r\n \r\n \r\n An unexpected error occurred when registering you for this competition. Please try again later.\r\n \r\n \r\n \r\n \r\n }\r\n\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default withStyles(styles) (RegistrationCompleteView);\r\n","import React from 'react';\r\nimport { withRouter } from 'react-router-dom';\r\n//container\r\nimport View from './registration-complete-view';\r\n//services\r\nimport {CompetitionService} from '../../utils/data-transfer';\r\nimport AuthorisationService from '../../utils/authorisation/authorisationService';\r\n\r\n\r\nclass RegistrationCompleteContainer extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n hasAccount: false,\r\n registrationCode: '',\r\n user: null,\r\n isLoading: true\r\n };\r\n\r\n this._competitionService = new CompetitionService();\r\n }\r\n\r\n componentDidMount() {\r\n return this.getPlayerStatus();\r\n }\r\n\r\n getPlayerStatus = async () => {\r\n try {\r\n let status = await this._competitionService.getPlayerStatus(this.props.competitionId, this.props.competitionPlayerId);\r\n this.setState({\r\n hasAccount: status.hasAccount,\r\n registrationCode: status.registrationCode\r\n });\r\n\r\n let user = await AuthorisationService.getUser();\r\n this.setState({\r\n user,\r\n isLoading: false\r\n });\r\n } catch (err) {\r\n console.log(err)\r\n this.setState({isLoading: false});\r\n }\r\n };\r\n\r\n nextAction = async () => {\r\n if (!this.state.hasAccount)\r\n return this.props.history.push('/register-user/' + this.state.registrationCode);\r\n\r\n if (this.state.user)\r\n return this.props.history.push('/dashboard');\r\n\r\n AuthorisationService.signinRedirect();\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(RegistrationCompleteContainer);","import React from 'react';\r\n//component\r\nimport RegistrationCompletePage from '../../components/registration-complete';\r\n\r\nclass RegistrationComplete extends React.Component {\r\n render () {\r\n let details = JSON.parse(localStorage.getItem('registrationCompleteDetails'));\r\n\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default RegistrationComplete;","import CoreStyles from '../../utils/styles/core-styles';\r\n\r\nconst InvalidUserStyles = theme => ({\r\n header: {\r\n fontSize: '18px',\r\n fontWeight: 'bold',\r\n color: theme.palette.primary.contrastText,\r\n backgroundColor: theme.palette.primary.main,\r\n textAlign: 'center',\r\n padding: '10px 0'\r\n },\r\n ...CoreStyles(theme)\r\n});\r\n\r\nexport default InvalidUserStyles;","import React from 'react';\r\nimport styles from './invalid-user-styles';\r\n//material\r\nimport { Container, Card, CardContent, withStyles, Button } from '@material-ui/core';\r\n//classes\r\nimport AuthorisationService from '../../utils/authorisation/authorisationService';\r\nimport { OrganisationService } from '../../utils/data-transfer';\r\n//Routing\r\nimport { withRouter } from 'react-router-dom';\r\n\r\nclass InvalidUser extends React.Component {\r\n constructor (props) {\r\n super(props);\r\n\r\n this.state = {\r\n user: null,\r\n showRegistration: false\r\n };\r\n\r\n this._organisationService = new OrganisationService();\r\n }\r\n\r\n componentDidMount () {\r\n this.getUser();\r\n this.checkForOpenCompetitions();\r\n }\r\n\r\n getUser = async () =>{\r\n try {\r\n let user = await AuthorisationService.getUser();\r\n this.setState({ user });\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n };\r\n\r\n checkForOpenCompetitions = async () => {\r\n try {\r\n let competitions = await this._organisationService.getOpenCompetitions();\r\n\r\n this.setState({showRegistration: competitions.length > 0});\r\n } catch (err) {\r\n this.setState({showRegistration: false});\r\n console.log(err)\r\n }\r\n };\r\n\r\n navigate = (path) => {\r\n this.props.history.push(path);\r\n };\r\n\r\n render () {\r\n return (\r\n \r\n \r\n
\r\n Missing Permissions\r\n
\r\n\r\n \r\n

\r\n You are logged in with { this.state.user ? this.state.user.profile.email : '' } but you do not have permission to access this website.\r\n

\r\n\r\n {\r\n this.state.showRegistration &&\r\n
\r\n

\r\n Please click the register button below if you would like to join any open competitions.\r\n

\r\n\r\n
\r\n \r\n
\r\n
\r\n }\r\n\r\n

\r\n If you would like to try a different account, please sign out.\r\n

\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default withRouter(withStyles(styles) (InvalidUser));","import React from 'react';\r\n//material\r\nimport { Container, Grid, Hidden } from '@material-ui/core';\r\n//components\r\nimport DrawnPerRound from '../competition/bracket/drawn-per-round';\r\nimport Bracket16 from '../competition/bracket/bracket-16';\r\nimport Bracket32 from '../competition/bracket/bracket-32';\r\nimport Bracket64 from '../competition/bracket/bracket-64';\r\nimport ViewMatch from '../competition/bracket/view-match';\r\n\r\nfunction PublicBracketView (props) {\r\n return (\r\n \r\n \r\n {\r\n props.bracketMatches.length > 0 && props.details.newDrawPerRound &&\r\n \r\n \r\n \r\n }\r\n\r\n {\r\n props.bracketMatches.length > 0 && !props.details.newDrawPerRound && props.details.bracketSize === 16 &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n\r\n {\r\n props.bracketMatches.length > 0 && !props.details.newDrawPerRound && props.details.bracketSize === 32 &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n\r\n {\r\n props.bracketMatches.length > 0 && !props.details.newDrawPerRound && props.details.bracketSize === 64 &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n\r\n {\r\n props.showMatchDialog &&\r\n \r\n }\r\n \r\n\r\n \r\n )\r\n}\r\n\r\nexport default PublicBracketView;","import React from 'react';\r\n//services\r\nimport { OrganisationService, CompetitionService } from '../../utils/data-transfer';\r\n//components\r\nimport PublicBracketView from './public-bracket-view';\r\nimport _ from \"lodash\";\r\n\r\nclass PublicBracketContainer extends React.Component {\r\n constructor (props) {\r\n super (props);\r\n\r\n this.state = {\r\n details: {},\r\n bracketMatches: [],\r\n rounds: [],\r\n isLoading: true,\r\n showMatchDialog: false,\r\n matchLoading: false,\r\n match: null\r\n };\r\n this._organisationService = new OrganisationService();\r\n this._competitionService = new CompetitionService();\r\n }\r\n\r\n componentDidMount () {\r\n return this.getBracket();\r\n }\r\n\r\n getBracket = async () => {\r\n try {\r\n let details = await this._organisationService.viewPublicBracket(this.props.bracketCode);\r\n let bracketMatches = details.bracketMatches.matches;\r\n let rounds = details.rounds;\r\n\r\n delete details.bracketMatches;\r\n delete details.rounds;\r\n\r\n this.setState({\r\n details,\r\n bracketMatches,\r\n rounds,\r\n isLoading: false\r\n });\r\n } catch (err) {\r\n\r\n }\r\n };\r\n\r\n viewMatch = async (position, matchDetails) => {\r\n let bracketMatch = matchDetails ? matchDetails : _.find(this.state.bracketMatches, match => match.position === position);\r\n this.bracketMatch = bracketMatch;\r\n\r\n if (!bracketMatch)\r\n return;\r\n\r\n if (!_.find(bracketMatch.teams, team => team.name))\r\n return;\r\n\r\n this.setState({ showMatchDialog: true, matchLoading: true});\r\n\r\n try {\r\n let match = await this._competitionService.getCompetitionMatchAnonymously(this.state.details.tournamentId, bracketMatch.id);\r\n\r\n this.setState({ match, matchLoading: false });\r\n } catch (ex) {\r\n console.log(ex);\r\n this.setState({ showMatchDialog: false, matchLoading: false });\r\n }\r\n }\r\n\r\n handleCloseViewMatchDialog = () => this.setState({ showMatchDialog: false });\r\n\r\n render () {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default PublicBracketContainer;","import React from 'react';\r\n//components\r\nimport PublicBracket from '../../components/public-bracket';\r\n\r\nclass ViewBracket extends React.Component {\r\n render () {\r\n return (\r\n \r\n )\r\n }\r\n}\r\n\r\nexport default ViewBracket;","import React from 'react';\r\n//utils\r\nimport AuthorisationService from '../../utils/authorisation/authorisationService';\r\n\r\nclass SignIn extends React.Component {\r\n componentDidMount() {\r\n AuthorisationService.signinRedirect();\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default SignIn;\r\n","\r\nconst RedeemCodeStyles = theme => ({\r\n radioButtonItem: {\r\n marginTop: 16\r\n },\r\n submitButton: {\r\n float: 'right',\r\n margin: '10px 0'\r\n },\r\n buttonOuterContainer: {\r\n marginTop: 20\r\n },\r\n buttonContainer: {\r\n margin: '0 auto'\r\n },\r\n faIcon: {\r\n width: 'fit-content',\r\n marginRight: 10\r\n }\r\n});\r\n\r\nexport default RedeemCodeStyles;\r\n","import React from 'react';\r\nimport styles from './redeem-code-styles';\r\n//material\r\nimport {Button, Card, CardContent, Container, Grid, TextField, withStyles} from '@material-ui/core';\r\nimport {Skeleton} from '@material-ui/lab';\r\n\r\nfunction RedeemCodeView (props) {\r\n const classes = props.classes;\r\n\r\n let isSubmitDisabled = () => {\r\n return (!props.registration.firstName ||\r\n !props.registration.lastName ||\r\n !props.registration.code ||\r\n !props.registration.email ||\r\n !props.registration.email.match(/^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/));\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n {\r\n props.isLoading ?\r\n :\r\n

\r\n Redeem a Code\r\n

\r\n }\r\n\r\n {\r\n props.isLoading ?\r\n :\r\n

\r\n Please enter the details of the lead player.\r\n

\r\n }\r\n\r\n \r\n \r\n {\r\n props.isLoading ?\r\n :\r\n \r\n }\r\n \r\n\r\n \r\n {\r\n props.isLoading ?\r\n :\r\n \r\n }\r\n \r\n\r\n \r\n {\r\n props.isLoading ?\r\n :\r\n \r\n }\r\n \r\n\r\n \r\n {\r\n props.isLoading ?\r\n :\r\n \r\n }\r\n \r\n\r\n \r\n \r\n \r\n {\r\n props.isLoading ?\r\n :\r\n \r\n Submit\r\n \r\n }\r\n \r\n \r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default withStyles(styles) (RedeemCodeView);\r\n","import React from 'react';\r\nimport { withRouter } from 'react-router-dom';\r\n//utils\r\nimport { OrganisationService } from '../../utils/data-transfer';\r\n//components\r\nimport View from './redeem-code-view';\r\n\r\nclass RedeemCodeContainer extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this._organisationService = new OrganisationService();\r\n this.state = {\r\n isLoading: false,\r\n registration: {\r\n firstName: '',\r\n lastName: '',\r\n email: '',\r\n code: ''\r\n },\r\n errorMessage: ''\r\n }\r\n }\r\n\r\n handleChange = (e) => this.setState({registration: Object.assign({}, this.state.registration, {[e.target.name]: e.target.value})});\r\n handleValueTypeChange = (e) => this.setState({ [e.target.name]: e.target.value });\r\n\r\n handleSubmit = async () => {\r\n this.setState({isLoading: true, errorMessage: ''});\r\n\r\n try {\r\n let response = await this._organisationService.setCodeCheckout(this.state.registration);\r\n\r\n if (response.errorMessage)\r\n return this.setState({isLoading: false, errorMessage: response.errorMessage});\r\n\r\n localStorage.setItem('checkoutCompleteDetails', JSON.stringify({ ...response, voucherRedeemed: true}));\r\n this.props.history.push('/checkout-complete');\r\n }\r\n catch (err) {\r\n console.log(err);\r\n let errorMessage = 'We were unable to process your code redemption at this time, please try again later.';\r\n this.props.history.push('/error?errorMessage=' + errorMessage);\r\n }\r\n }\r\n\r\n render () {\r\n return (\r\n \r\n )\r\n }\r\n}\r\n\r\nexport default withRouter(RedeemCodeContainer);\r\n","import React from 'react';\r\nimport RedeemCodeComponent from '../../components/redeem-code';\r\n\r\nclass RedeemCode extends React.Component {\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default RedeemCode;\r\n","const MembersStyles = theme => ({\r\n searchContainer: {\r\n margin: '0 auto',\r\n paddingBottom: 40\r\n },\r\n groupsContainer: {\r\n paddingBottom: 10\r\n },\r\n emptyListView: {\r\n fontSize: '20px',\r\n textAlign: 'center',\r\n marginTop: 60,\r\n width: '100%'\r\n },\r\n pinnedMembers: {\r\n marginBottom: 10\r\n }\r\n});\r\n\r\nexport default MembersStyles;\r\n","const MemberStyles = theme => ({\r\n avatar: {\r\n width: '100px',\r\n height: '100px',\r\n margin: '0 auto'\r\n },\r\n center: {\r\n textAlign: 'center'\r\n },\r\n iconButton: {\r\n padding: 7\r\n },\r\n name: {\r\n fontSize: '20px',\r\n fontWeight: 500,\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap',\r\n overflow: 'hidden',\r\n paddingTop: 10\r\n },\r\n company: {\r\n fontSize: '12px',\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap',\r\n overflow: 'hidden',\r\n paddingBottom: '10px',\r\n minHeight: '26px'\r\n },\r\n details: {\r\n paddingTop: '5px',\r\n minHeight: '23px',\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap',\r\n overflow: 'hidden',\r\n fontSize: '12px',\r\n },\r\n handicap: {\r\n paddingTop: '10px',\r\n paddingBottom: 25,\r\n minHeight: '23px',\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap',\r\n overflow: 'hidden',\r\n fontSize: '12px',\r\n },\r\n cardContent: {\r\n padding: ['10px 10px 5px', '!important']\r\n },\r\n facebookButton: {\r\n color: '#4267B2'\r\n },\r\n linkedInButton: {\r\n color: '#2867B2'\r\n },\r\n twitterButton: {\r\n color: '#1DA1F2'\r\n },\r\n primaryButton: {\r\n color: theme.palette.primary.main\r\n },\r\n skeletonLoading: {\r\n marginBottom: 5\r\n },\r\n skeletonCentered: {\r\n display: 'inline-block'\r\n },\r\n avatarBackground: {\r\n height: 300,\r\n width: 300,\r\n borderRadius: 150,\r\n backgroundColor: theme.palette.primary.main,\r\n position: 'absolute',\r\n top: '-180px',\r\n left: '50%',\r\n transform: 'translateX(-50%)',\r\n },\r\n card: {\r\n overflow: 'hidden',\r\n position: 'relative'\r\n },\r\n memberTypePill: {\r\n position: 'absolute',\r\n backgroundColor: theme.palette.primary.main,\r\n color: theme.palette.primary.contrastText,\r\n padding: '3px 15px',\r\n borderRadius: 5,\r\n bottom: 1,\r\n left: '50%',\r\n transform: 'translateX(-50%)',\r\n },\r\n footerContainer: {\r\n paddingTop: 0\r\n },\r\n});\r\n\r\nexport default MemberStyles;\r\n","import React from 'react';\r\nimport style from './member-styles';\r\nimport { withRouter } from 'react-router-dom';\r\n//material\r\nimport { Card, CardContent, CardActionArea, Grid, Avatar, withStyles, IconButton, CardActions } from '@material-ui/core';\r\nimport { Facebook, LinkedIn, Twitter } from '@material-ui/icons';\r\nimport { Skeleton } from '@material-ui/lab';\r\n\r\nfunction MemberView (props) {\r\n const classes = props.classes;\r\n\r\n const navigate = (organisationMemberId) =>\r\n props.history.push(`show-member/${organisationMemberId}`);\r\n\r\n return (\r\n navigate(props.member.organisationMemberId) : null}>\r\n
\r\n \r\n \r\n \r\n {\r\n props.isLoading ?\r\n :\r\n \r\n }\r\n\r\n \r\n\r\n {\r\n !props.isLoading && props.member.memberType.highlight &&\r\n
\r\n {props.member.memberType.description}\r\n
\r\n }\r\n\r\n \r\n {\r\n props.isLoading ?\r\n :\r\n props.member.name\r\n }\r\n \r\n\r\n \r\n {\r\n props.isLoading ?\r\n :\r\n props.member.companyName\r\n }\r\n \r\n\r\n \r\n {\r\n props.isLoading ?\r\n :\r\n {props.member.emailAddress}\r\n }\r\n \r\n\r\n \r\n {\r\n props.isLoading ?\r\n :\r\n {props.member.phoneNumber}\r\n }\r\n \r\n\r\n \r\n {\r\n props.isLoading ?\r\n :\r\n 'HCP Index: ' + props.member.handicap\r\n }\r\n \r\n
\r\n
\r\n \r\n {\r\n props.isLoading ?\r\n :\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n );\r\n}\r\n\r\nexport default withRouter(withStyles(style) (MemberView));\r\n","import React from 'react';\r\nimport styles from './members-styles';\r\n//material\r\nimport { Container, Grid, TextField, withStyles, } from '@material-ui/core';\r\nimport { Skeleton } from '@material-ui/lab';\r\n//components\r\nimport Member from '../../../components/member';\r\n\r\nfunction MembersView (props) {\r\n const classes = props.classes;\r\n\r\n return (\r\n \r\n \r\n \r\n {\r\n props.isLoading ?\r\n :\r\n \r\n }\r\n \r\n\r\n {\r\n props.isLoading &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n\r\n {\r\n !props.isLoading && props.pinnedMembers.length > 0 &&\r\n \r\n {\r\n props.pinnedMembers.map((m, i) =>\r\n \r\n \r\n )\r\n }\r\n \r\n }\r\n\r\n \r\n {\r\n !props.isLoading && props.members.length > 0 && props.members.map((m, i) =>\r\n \r\n \r\n )\r\n }\r\n \r\n\r\n {\r\n !props.isLoading && props.members.length === 0 &&\r\n
\r\n No Members to show\r\n
\r\n }\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default withStyles(styles) (MembersView);\r\n","import React from 'react';\r\nimport _ from 'lodash';\r\n//components\r\nimport View from './members-view';\r\n//utils\r\nimport { OrganisationService } from '../../../utils/data-transfer';\r\n\r\nclass MembersContainer extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this._organisationService = new OrganisationService();\r\n\r\n this.state = {\r\n members: [],\r\n pinnedMembers: [],\r\n filterText: '',\r\n isLoading: true\r\n };\r\n\r\n this.debounceSearchMembers = _.debounce(this.getMembers, 1000);\r\n }\r\n\r\n componentDidMount() {\r\n this.getMembers();\r\n }\r\n\r\n getMembers = async () => {\r\n try {\r\n let members = await this._organisationService.getMembers(this.state.filterText);\r\n const pinnedMembers = members.filter(m => m.memberType.showSeparate);\r\n members = members.filter(m => !m.memberType.showSeparate);\r\n\r\n this.setState({ members, pinnedMembers, isLoading: false });\r\n } catch (err) {\r\n\r\n }\r\n };\r\n\r\n handleSearchChange = (e) => {\r\n this.setState({filterText: e.target.value});\r\n return this.debounceSearchMembers();\r\n };\r\n\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default MembersContainer;\r\n","const ShowMemberStyles = theme => ({\r\n grid: {\r\n [theme.breakpoints.down('xs')]: {\r\n marginBottom: 20\r\n }\r\n },\r\n memberName: {\r\n fontWeight: 600,\r\n fontSize: '24px',\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap',\r\n overflow: 'hidden'\r\n },\r\n memberDetails: {\r\n fontSize: '18px',\r\n marginTop: 5,\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap',\r\n overflow: 'hidden'\r\n },\r\n socialDetailsContainer: {\r\n lineHeight: '21px',\r\n display: 'inline',\r\n },\r\n socialDetails: {\r\n fontSize: '14px',\r\n marginTop: 5,\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap',\r\n overflow: 'hidden'\r\n },\r\n socialIconContainer: {\r\n lineHeight: '21px',\r\n display: 'inline-block',\r\n verticalAlign: 'middle'\r\n },\r\n socialIcon: {\r\n fontSize: '16px'\r\n },\r\n containerPadding: {\r\n [theme.breakpoints.down('sm')]: {\r\n paddingLeft: 0,\r\n paddingRight: 0\r\n }\r\n },\r\n tabContainer: {\r\n minHeight: 400,\r\n },\r\n profileDescription: {\r\n width: '100%',\r\n fontSize: '18px',\r\n paddingTop: 10\r\n },\r\n avatarSkeleton: {\r\n margin: '0 auto'\r\n },\r\n avatar: {\r\n width: 125,\r\n height: 125,\r\n margin: '0 auto'\r\n }\r\n});\r\n\r\nexport default ShowMemberStyles;\r\n","import React from 'react';\r\n//material\r\nimport {\r\n Container,\r\n Grid,\r\n Tabs,\r\n Tab,\r\n withStyles,\r\n Card,\r\n CardContent,\r\n Avatar,\r\n} from '@material-ui/core';\r\nimport { Skeleton } from '@material-ui/lab';\r\nimport { Phone, Email, Facebook, LinkedIn, Language, Twitter } from '@material-ui/icons';\r\n//styles\r\nimport styles from './show-member-styles'\r\n\r\nconst ShowMemberView = (props) => {\r\n const {classes, member, isLoading, tab, handleTabChange} = props;\r\n\r\n return(\r\n \r\n \r\n \r\n \r\n \r\n {\r\n isLoading ?\r\n :\r\n \r\n }\r\n \r\n\r\n \r\n {\r\n isLoading ?\r\n :\r\n
{member.firstName + ' ' + member.lastName}
\r\n }\r\n\r\n {\r\n isLoading ?\r\n :\r\n
{member.companyName}
\r\n }\r\n\r\n {\r\n isLoading ?\r\n :\r\n
{'HCP Index: ' + member.handicap}
\r\n }\r\n
\r\n\r\n \r\n {\r\n isLoading ?\r\n :\r\n (\r\n member.phoneNumber &&\r\n
\r\n
 
\r\n \r\n
\r\n )\r\n }\r\n\r\n {\r\n isLoading ?\r\n :\r\n (\r\n member.emailAddress &&\r\n
\r\n
 
\r\n \r\n
\r\n )\r\n }\r\n\r\n {\r\n isLoading ?\r\n :\r\n (\r\n member.facebookProfileUrl &&\r\n
\r\n
 
\r\n \r\n
\r\n )\r\n }\r\n\r\n {\r\n isLoading ?\r\n :\r\n (\r\n member.linkedInProfileUrl &&\r\n
\r\n
 
\r\n \r\n
\r\n )\r\n }\r\n\r\n {\r\n isLoading ?\r\n :\r\n (\r\n member.twitterProfileUrl &&\r\n
\r\n
 
\r\n \r\n
\r\n )\r\n }\r\n\r\n {\r\n isLoading ?\r\n :\r\n (\r\n member.website &&\r\n
\r\n
 
\r\n \r\n
\r\n )\r\n }\r\n
\r\n\r\n
\r\n\r\n \r\n \r\n \r\n\r\n \r\n {\r\n tab === 0 &&\r\n (\r\n isLoading ?\r\n \r\n \r\n \r\n \r\n \r\n \r\n :\r\n
\r\n {\r\n member.profileDescription ?\r\n member.profileDescription :\r\n 'The member has not set their profile about information'}\r\n
\r\n )\r\n }\r\n\r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default withStyles(styles) (ShowMemberView);\r\n","import React from 'react';\r\n//components\r\nimport View from './show-member-view';\r\n//utils\r\nimport {OrganisationService} from '../../utils/data-transfer';\r\n\r\nclass ShowMemberContainer extends React.Component{\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this._organisationService = new OrganisationService();\r\n\r\n this.state = {\r\n member: null,\r\n isLoading: true,\r\n memberTypes: [],\r\n tab: 0,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.getMember();\r\n }\r\n\r\n getMember = async () => {\r\n try {\r\n const member = await this._organisationService.getMember(this.props.organisationMemberId);\r\n this.setState({member, isLoading: false});\r\n } catch (ex) {\r\n this.setState({isLoading: false});\r\n }\r\n }\r\n\r\n handleTabChange = (e, tab) => this.setState({tab});\r\n\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default ShowMemberContainer;\r\n","import React from 'react';\r\n//component\r\nimport ShowMemberComponent from '../../components/show-member';\r\n\r\nclass ShowMember extends React.Component {\r\n render () {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default ShowMember;\r\n","\r\nconst EventItemStyles = theme => ({\r\n img: {\r\n height: 165\r\n },\r\n name: {\r\n fontSize: '18px',\r\n fontWeight: 500,\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap',\r\n overflow: 'hidden',\r\n },\r\n cardContent: {\r\n padding: ['10px', '!important'],\r\n position: 'relative'\r\n },\r\n subtitle: {\r\n fontSize: '12px',\r\n color: '#646262',\r\n marginTop: 5,\r\n lineHeight: '12px'\r\n },\r\n bookButton: {\r\n position: 'absolute',\r\n bottom: '10px'\r\n },\r\n actions: {\r\n position: 'relative'\r\n },\r\n currency: {\r\n marginTop: 12,\r\n paddingBottom: 5,\r\n textAlign: 'right',\r\n fontSize: '14px',\r\n //color: '#646262',\r\n minHeight: 18,\r\n width: '100%',\r\n },\r\n skeletonCurrency: {\r\n float: 'right',\r\n marginTop: 25,\r\n marginBottom: 20,\r\n }\r\n});\r\n\r\nexport default EventItemStyles;\r\n","import React from 'react';\r\n//material\r\nimport {Card, withStyles, CardMedia, CardContent, Button, CardActionArea, CardActions} from '@material-ui/core';\r\nimport {Skeleton} from '@material-ui/lab';\r\n//styles\r\nimport styles from './event-item-styles';\r\n//library\r\nimport Moment from 'moment';\r\nimport { withRouter } from 'react-router-dom';\r\n\r\nlet bookingUrl = process.env.REACT_APP_COMPETITIONGOLF_TEMP_BOOKING_URL;\r\nbookingUrl = (!bookingUrl.startsWith('#{') && !bookingUrl.endsWith('}#')) ? bookingUrl : null;\r\n\r\nconst EventItemView = (props) => {\r\n const {classes, event, isLoading, history} = props;\r\n const navigate = () =>\r\n history.push(`event/${event.eventId}`);\r\n\r\n return (\r\n \r\n \r\n {\r\n isLoading ?\r\n :\r\n \r\n }\r\n\r\n \r\n {\r\n isLoading ?\r\n :\r\n
\r\n {event.eventName}\r\n
\r\n }\r\n\r\n {\r\n isLoading ?\r\n :\r\n
\r\n {event.eventDate ? Moment(new Date(event.eventDate)).format('Do MMMM YYYY') : ''}\r\n
\r\n }\r\n\r\n {\r\n isLoading ?\r\n :\r\n
\r\n {event.course}\r\n
\r\n }\r\n
\r\n
\r\n\r\n \r\n {\r\n !isLoading && event.canBook &&\r\n \r\n Book\r\n \r\n }\r\n\r\n {\r\n isLoading ?\r\n :\r\n
\r\n {\r\n event.entryAmount ?\r\n (event.currencySymbol ? event.currencySymbol : '£') + event.entryAmount.toFixed(2) :\r\n ' '\r\n }\r\n
\r\n }\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default withRouter(withStyles(styles) (EventItemView));\r\n","const EventsStyles = theme => ({\r\n searchContainer: {\r\n margin: '0 auto',\r\n paddingBottom: 40\r\n },\r\n noEvents: {\r\n fontSize: '20px',\r\n width: '100%',\r\n textAlign: 'center',\r\n marginTop: 60,\r\n },\r\n});\r\n\r\nexport default EventsStyles;\r\n","import React from 'react';\r\n//material\r\nimport {Container, Grid, TextField, withStyles} from '@material-ui/core';\r\nimport { Skeleton } from '@material-ui/lab';\r\n//components\r\nimport EventImageItem from '../../../components/events/event-item';\r\n//styles\r\nimport styles from './events-styles';\r\n\r\nconst EventsView = (props) => {\r\n const {\r\n isLoading,\r\n events,\r\n classes,\r\n handleSearchChange,\r\n filterText\r\n } = props;\r\n\r\n return (\r\n \r\n \r\n \r\n {\r\n props.isLoading ?\r\n :\r\n \r\n }\r\n \r\n\r\n \r\n {\r\n !isLoading && events.length > 0 && events.map((e, i) =>\r\n \r\n \r\n )\r\n }\r\n\r\n {\r\n isLoading &&\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n\r\n {\r\n !isLoading && events.length === 0 &&\r\n
\r\n No Events to show\r\n
\r\n }\r\n
\r\n\r\n
\r\n )\r\n}\r\n\r\nexport default withStyles(styles) (EventsView);\r\n","import React, {useState, useEffect, useRef} from 'react';\r\n//components\r\nimport View from './events-view';\r\n//utils\r\nimport {OrganisationService} from '../../../utils/data-transfer';\r\n//library utils\r\nimport _ from 'lodash';\r\n\r\nconst _organisationService = new OrganisationService();\r\n\r\nconst EventsContainer = () => {\r\n const [state, setState] = useState({\r\n isLoading: true,\r\n filterText: '',\r\n events: []\r\n });\r\n\r\n useEffect(() => {\r\n const bootstrapComponent = async () => {\r\n await getEvents();\r\n await setState((prevState => ({...prevState, isLoading: false})));\r\n };\r\n\r\n bootstrapComponent();\r\n }, []);\r\n\r\n const getEvents = async (filterText) => {\r\n try {\r\n let response = await _organisationService.getUpcomingEvents(filterText);\r\n setState((prevState => ({...prevState, events: response.results})));\r\n } catch (ex) {\r\n console.log(ex);\r\n }\r\n };\r\n\r\n const debounceGetEvents = useRef(_.debounce(getEvents, 1000));\r\n\r\n const handleSearchChange = (e) => {\r\n const filterText = e.target.value;\r\n setState(prevState => ({...prevState, filterText}));\r\n return debounceGetEvents.current(filterText);\r\n };\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nexport default EventsContainer;\r\n","import React from 'react';\r\n\r\nclass Dashboard extends React.Component {\r\n render () {\r\n return (\r\n
\r\n Dashboard\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default Dashboard;\r\n","const EventStyles = theme => ({\r\n tabBar: {\r\n marginTop: 20\r\n },\r\n heroImage: {\r\n backgroundSize: '100%',\r\n backgroundRepeat: 'no-repeat',\r\n backgroundPosition: 'center',\r\n height: 500,\r\n [theme.breakpoints.down('md')]: {\r\n height: 425,\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n height: 215,\r\n },\r\n position: 'relative'\r\n },\r\n container: {\r\n position: 'relative',\r\n marginTop: -60,\r\n paddingBottom: 24,\r\n }\r\n});\r\n\r\nexport default EventStyles;\r\n","import React from 'react';\r\n//material\r\nimport {Card, CardContent, withStyles, Divider, Button} from '@material-ui/core';\r\nimport {Skeleton} from '@material-ui/lab';\r\n//styles\r\nimport styles from './event-card-styles';\r\n//lib\r\nimport Moment from 'moment';\r\n\r\nlet bookingUrl = process.env.REACT_APP_COMPETITIONGOLF_TEMP_BOOKING_URL;\r\nbookingUrl = (!bookingUrl.startsWith('#{') && !bookingUrl.endsWith('}#')) ? bookingUrl : null;\r\n\r\nconst EventCardView = (props) => {\r\n const {classes, isLoading, event} = props;\r\n\r\n return (\r\n \r\n \r\n {\r\n isLoading ?\r\n :\r\n
\r\n { event.eventName }\r\n
\r\n }\r\n\r\n {\r\n !isLoading &&\r\n
\r\n {event.entryCost ? (event.currencySymbol + event.entryCost.toFixed(2)) : ''}\r\n
\r\n }\r\n\r\n {\r\n !isLoading && event.canBook &&\r\n \r\n Book\r\n \r\n }\r\n\r\n {\r\n isLoading ?\r\n :\r\n
\r\n {event.eventDate ? Moment(new Date(event.eventDate)).format('Do MMMM YYYY') : ''}\r\n
\r\n }\r\n\r\n {\r\n isLoading ?\r\n :\r\n
\r\n {event.club.name}\r\n
\r\n }\r\n\r\n \r\n\r\n {\r\n isLoading ?\r\n :\r\n
\r\n {event.eventDescription}\r\n
\r\n }\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default withStyles(styles) (EventCardView);\r\n","export default (theme) => ({\r\n eventName: {\r\n fontSize: '30px',\r\n fontWeight: 500,\r\n width: 'calc(100% - 50px)',\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap',\r\n overflow: 'hidden',\r\n },\r\n subheader: {\r\n marginTop: 5,\r\n color: '#646262'\r\n },\r\n price: {\r\n position: 'absolute',\r\n right: 48,\r\n top: 32\r\n },\r\n bookButton: {\r\n position: 'absolute',\r\n right: 40,\r\n top: 60\r\n },\r\n divider: {\r\n marginTop: 20\r\n },\r\n description: {\r\n marginTop: 20,\r\n },\r\n});\r\n","import React from 'react';\r\n//material\r\nimport {Card, CardContent, withStyles} from '@material-ui/core';\r\nimport {Skeleton} from '@material-ui/lab';\r\n//styles\r\nimport styles from './details-card-styles';\r\n\r\nconst DetailsCardView = (props) => {\r\n const {classes, isLoading, event} = props;\r\n let scoringFormatTypes = [];\r\n if (event) {\r\n if (event.hasGroupTeams)\r\n scoringFormatTypes.push('Groups');\r\n\r\n if (event.hasIndividuals)\r\n scoringFormatTypes.push('Individuals');\r\n }\r\n\r\n return (\r\n \r\n \r\n {\r\n isLoading ?\r\n :\r\n
\r\n Details\r\n
\r\n }\r\n\r\n {\r\n isLoading ?\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
:\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n {\r\n event.hasGroupTeams &&\r\n \r\n \r\n \r\n \r\n }\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
Format{event.eventFormat.name}
Scoring Format{scoringFormatTypes.join(' & ')}
Group Scoring{(event.groupSize.name + ' - ' + event.scoringType.name)}
Handicap Allowance{event.handicapAllowance.name}
Men's Tee{event.teeTypeMale.name}
Ladies Tee{event.teeTypeFemale.name}
\r\n }\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default withStyles(styles) (DetailsCardView);\r\n","export default (theme) => ({\r\n title: {\r\n fontSize: '22px',\r\n fontWeight: 400,\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap',\r\n overflow: 'hidden',\r\n marginBottom: 10,\r\n },\r\n data: {\r\n textAlign: 'right',\r\n width: '50%',\r\n },\r\n column: {\r\n width: '50%',\r\n fontWeight: 600\r\n },\r\n table: {\r\n width: '100%',\r\n borderSpacing: '10px'\r\n },\r\n skeletonTable: {\r\n padding: 10\r\n },\r\n skeletonRow: {\r\n marginBottom: 8\r\n }\r\n});\r\n","import React from 'react';\r\n//material\r\nimport {Card, CardContent, withStyles} from '@material-ui/core';\r\nimport {Skeleton} from '@material-ui/lab';\r\n//styles\r\nimport styles from './agenda-card-styles';\r\n//lib\r\nimport Moment from 'moment';\r\n\r\nconst AgendaCardView = (props) => {\r\n const {classes, isLoading, agendaItems} = props;\r\n return (\r\n \r\n \r\n {\r\n isLoading ?\r\n :\r\n
\r\n Agenda\r\n
\r\n }\r\n\r\n {\r\n isLoading ?\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
:\r\n \r\n \r\n {\r\n agendaItems.map((a, key) =>\r\n (\r\n \r\n \r\n \r\n \r\n ))\r\n }\r\n \r\n
{Moment(a.itemTime).format('HH:mm')}{a.description}
\r\n }\r\n\r\n {\r\n !isLoading && agendaItems.length === 0 &&\r\n
\r\n Agenda coming soon\r\n
\r\n }\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default withStyles(styles) (AgendaCardView);\r\n","export default (theme) => ({\r\n title: {\r\n fontSize: '22px',\r\n fontWeight: 400,\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap',\r\n overflow: 'hidden',\r\n marginBottom: 10,\r\n },\r\n data: {\r\n textAlign: 'right',\r\n width: '50%',\r\n },\r\n column: {\r\n width: '50%',\r\n fontWeight: 600\r\n },\r\n table: {\r\n width: '100%',\r\n borderSpacing: '10px'\r\n },\r\n skeletonTable: {\r\n padding: 10\r\n },\r\n skeletonRow: {\r\n marginBottom: 8\r\n },\r\n defaultText: {\r\n height: 168,\r\n lineHeight: '168px',\r\n verticalAlign: 'middle',\r\n textAlign: 'center',\r\n fontSize: '18px'\r\n }\r\n});\r\n","import React from 'react';\r\n//material\r\nimport {Card, CardContent, withStyles, Divider} from '@material-ui/core';\r\nimport {Skeleton} from '@material-ui/lab';\r\n//styles\r\nimport styles from './prizes-card-styles';\r\n\r\nconst PrizesCardView = (props) => {\r\n const {classes, isLoading, prizes} = props;\r\n return (\r\n \r\n \r\n {\r\n isLoading ?\r\n :\r\n
\r\n Prizes\r\n
\r\n }\r\n\r\n {\r\n isLoading ?\r\n :\r\n
\r\n {prizes.description}\r\n
\r\n }\r\n\r\n \r\n\r\n {\r\n isLoading ?\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
:\r\n \r\n \r\n {\r\n prizes.prizes && prizes.prizes.map((p, key) =>\r\n (\r\n \r\n \r\n \r\n \r\n ))\r\n }\r\n \r\n
{p.position}{p.title}
\r\n }\r\n\r\n {\r\n !isLoading && (prizes.prizes.length === 0 || !prizes.prizes) &&\r\n
\r\n Prizes coming soon\r\n
\r\n }\r\n\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default withStyles(styles) (PrizesCardView);\r\n","export default (theme) => ({\r\n title: {\r\n fontSize: '22px',\r\n fontWeight: 400,\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap',\r\n overflow: 'hidden',\r\n marginBottom: 10,\r\n },\r\n data: {\r\n textAlign: 'right',\r\n width: '50%',\r\n },\r\n column: {\r\n width: '50%',\r\n fontWeight: 600\r\n },\r\n table: {\r\n width: '100%',\r\n borderSpacing: '10px'\r\n },\r\n skeletonTable: {\r\n padding: 10\r\n },\r\n skeletonRow: {\r\n marginBottom: 8\r\n },\r\n defaultText: {\r\n height: 168,\r\n lineHeight: '168px',\r\n verticalAlign: 'middle',\r\n textAlign: 'center',\r\n fontSize: '18px'\r\n },\r\n subheader: {\r\n marginTop: 5,\r\n color: '#646262'\r\n },\r\n divider: {\r\n margin: '20px 0'\r\n },\r\n});\r\n","import React from 'react';\r\n//material\r\nimport {Container, withStyles, Grid} from '@material-ui/core';\r\n//styles\r\nimport styles from './event-styles';\r\n//components\r\nimport EventCard from '../../../components/events/event-card';\r\nimport DetailsCard from '../../../components/events/details-card';\r\nimport AgendaCard from '../../../components/events/agenda-card';\r\nimport PrizesCard from '../../../components/events/prizes-card';\r\n\r\nconst EventView = (props) => {\r\n const {classes, isLoading, event, agendaItems, prizes} = props;\r\n\r\n return (\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n {\r\n !isLoading && prizes.prizes.length > 0 &&\r\n \r\n \r\n \r\n }\r\n \r\n \r\n
\r\n )\r\n};\r\n\r\nexport default withStyles(styles) (EventView);\r\n","import React, {useEffect, useState} from 'react';\r\n//components\r\nimport View from './event-view';\r\n//utils\r\nimport {Event} from '../../../utils/data-transfer';\r\n\r\nconst EventContainer = (props) => {\r\n const {match} = props;\r\n const [state, setState] = useState({\r\n isLoading: true,\r\n event: null,\r\n agendaItems: [],\r\n prizes: null\r\n });\r\n\r\n useEffect(() => {\r\n const bootstrapComponent = async () => {\r\n const resp = await Promise.all([\r\n await Event.getEventDetails(match.params.eventId),\r\n await Event.getAgenda(match.params.eventId),\r\n await Event.getPrizes(match.params.eventId)\r\n ]);\r\n\r\n await setState((prevState => ({...prevState, isLoading: false, event: resp[0], agendaItems: resp[1], prizes: resp[2]})));\r\n };\r\n\r\n bootstrapComponent();\r\n }, [match.params.eventId]);\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default EventContainer;\r\n","import Welcome from './welcome';\r\nimport TheRules from './the-rules';\r\nimport Faqs from './faqs';\r\nimport TermsAndConditions from './terms-and-conditions';\r\nimport SessionExpired from './session-expired';\r\nimport MyDashboard from './my-dashboard';\r\nimport Competition from './competition';\r\nimport Registration from './registration';\r\nimport ExpressCheckout from './express-checkout';\r\nimport ExpressCheckoutComplete from './express-checkout-complete';\r\nimport InvalidCode from './invalid-code';\r\nimport AccountRegistration from './account-registration';\r\nimport RegistrationComplete from './registration-complete';\r\nimport InvalidUser from './invalid-user';\r\nimport ViewBracket from './view-bracket';\r\nimport SignIn from './sign-in';\r\nimport RedeemCode from './redeem-code';\r\nimport Members from './v2/members';\r\nimport ShowMember from './show-member';\r\nimport Events from './v2/events';\r\nimport Dashboard from './dashboard';\r\nimport Event from './v2/event';\r\n\r\nlet hidePublicPages = process.env.REACT_APP_HIDE_PUBLIC_PAGES;\r\nhidePublicPages = (!hidePublicPages.startsWith('#{') && !hidePublicPages.endsWith('}#')) ? JSON.parse(hidePublicPages) : false;\r\n\r\nexport const GetRoutes = (user, useExpressCheckout) => {\r\n let routes = Routes.filter(route => route.allowAnonymous || (user && !user.expired));\r\n\r\n if (useExpressCheckout)\r\n routes.forEach(r => {\r\n if (r.path === '/registration/:discountCode?')\r\n r.component = ExpressCheckout;\r\n });\r\n\r\n if (hidePublicPages)\r\n routes = routes.filter(r => r.path !== '/welcome' && r.path !== '/the-rules' && r.path !== '/faqs');\r\n\r\n return routes;\r\n};\r\n\r\nexport const Routes = [\r\n { path: '/welcome', component: Welcome, name: 'Welcome', allowAnonymous: true },\r\n { path: '/the-rules', component: TheRules, name: 'The Rules', allowAnonymous: true },\r\n { path: '/faqs', component: Faqs, name: 'FAQs', allowAnonymous: true },\r\n { path: '/terms-and-conditions', component: TermsAndConditions, name: 'Terms & Conditions', allowAnonymous: true },\r\n { path: '/session-expired', component: SessionExpired, name: 'Session Expired', allowAnonymous: true },\r\n { path: '/dashboard', component: MyDashboard, name: 'Dashboard', allowAnonymous: false },\r\n { path: '/competition/:competitionId/:competitionPlayerId', simplePathName: '/competition', component: Competition, name: 'Competition', allowAnonymous: false },\r\n { path: '/invite/:inviteCode', simplePathName: '/invite', component: Registration, name: 'Registration', allowAnonymous: true },\r\n { path: '/resume-registration/:teamCode', simplePathName: '/resume-registration', component: Registration, name: 'Registration', allowAnonymous: true },\r\n { path: '/error', component: InvalidCode, name: 'Invalid Code', allowAnonymous: true },\r\n { path: '/registration/:discountCode?', component: Registration, name: 'Registration', allowAnonymous: true },\r\n { path: '/register-user/:accountCode', simplePathName: '/register-user', component: AccountRegistration, name: 'User Registration', allowAnonymous: true },\r\n { path: '/registration-complete', component: RegistrationComplete, name: 'Registration Complete', allowAnonymous: true },\r\n { path: '/invalid-user', component: InvalidUser, name: 'Invalid User', allowAnonymous: true },\r\n { path: '/brackets/:bracketCode', component: ViewBracket, name: 'View Bracket', allowAnonymous: true },\r\n { path: '/checkout-complete', component: ExpressCheckoutComplete, name: 'Checkout Complete', allowAnonymous: true },\r\n { path: '/sign-in', component: SignIn, name: 'Sign In', allowAnonymous: true },\r\n { path: '/redeem-code', component: RedeemCode, name: 'Redeem Code', allowAnonymous: true },\r\n { path: '/members', component: Members, name: 'Members', allowAnonymous: false },\r\n { path: '/events', component: Events, name: 'Events', allowAnonymous: false },\r\n //This will want to be the /dashboard route once the other one is renamed to be just about Matchplay.\r\n { path: '/home', component: Dashboard, name: 'Dashboard', allowAnonymous: false },\r\n { path: '/show-member/:organisationMemberId', component: ShowMember, name: 'Show Member', allowAnonymous: false },\r\n { path: '/event/:eventId', component: Event, name: 'Event', allowAnonymous: false },\r\n];\r\n","import React from 'react';\r\nimport styles from './app-content-styles.js';\r\nimport _ from 'lodash';\r\n//Routing\r\nimport { GetRoutes } from '../../routes';\r\nimport { Route, Redirect, Switch, withRouter } from 'react-router-dom';\r\n//Material\r\nimport { withStyles } from '@material-ui/core';\r\n\r\nlet hidePublicPages = process.env.REACT_APP_HIDE_PUBLIC_PAGES;\r\nhidePublicPages = (!hidePublicPages.startsWith('#{') && !hidePublicPages.endsWith('}#')) ? JSON.parse(hidePublicPages) : false;\r\n\r\nfunction AppContentView (props) {\r\n const classes = props.classes;\r\n const publicDefaultRoute = hidePublicPages ? '/sign-in' : '/welcome'\r\n const noPaddingPaths = [\r\n 'event/'\r\n ];\r\n const hidePadding = !props.location.pathname || _.find(noPaddingPaths, p => props.location.pathname.includes(p));\r\n\r\n return (\r\n
\r\n \r\n {\r\n GetRoutes(props.user, props.settings.checkoutTypeId === 2).map((props, index) =>\r\n \r\n \r\n }/>)\r\n }\r\n }/>\r\n \r\n
\r\n )\r\n}\r\n\r\nexport default withRouter(withStyles(styles) (AppContentView));\r\n","import React from 'react';\r\n//components\r\nimport AppContentView from './app-content-view.js';\r\n\r\nclass AppContentContainer extends React.Component {\r\n\r\n render () {\r\n return (\r\n \r\n )\r\n }\r\n}\r\n\r\nexport default AppContentContainer;\r\n","const AppFooterStyles = theme => ({\r\n footerContainer: {\r\n width: '100%',\r\n backgroundColor: theme.palette.siteBackdrop.main,\r\n padding: '10px 10px 0'\r\n },\r\n divider: {\r\n backgroundColor: '#d9d9d9'\r\n },\r\n buttonContainer: {\r\n padding: '10px 0',\r\n lineHeight: '42px',\r\n textAlign: 'center',\r\n [theme.breakpoints.down('sm')]: {\r\n lineHeight: 0\r\n }\r\n },\r\n footerButton: {\r\n backgroundColor: 'transparent'\r\n },\r\n poweredByContainer: {\r\n textAlign: 'left',\r\n padding: '10px 20px 10px 0',\r\n [theme.breakpoints.down('sm')]: {\r\n textAlign: 'center',\r\n padding: '10px 0'\r\n }\r\n },\r\n poweredByText: {\r\n display: 'inline-block',\r\n //height: '100%',\r\n lineHeight: '30px',\r\n fontSize: '12px',\r\n verticalAlign: 'middle',\r\n [theme.breakpoints.down('sm')]: {\r\n marginLeft: -5\r\n }\r\n },\r\n poweredByImage: {\r\n width: 150,\r\n marginBottom: -7,\r\n marginTop:-40,\r\n [theme.breakpoints.down('sm')]: {\r\n marginLeft: 10\r\n }\r\n }\r\n});\r\n\r\nexport default AppFooterStyles;","import React from 'react';\r\n\r\nfunction StaticFooterView (props) {\r\n return (\r\n
\r\n );\r\n}\r\n\r\nexport default StaticFooterView;","import React from 'react';\r\n//components\r\nimport View from './static-footer-view';\r\n\r\nclass StaticFooterContainer extends React.Component {\r\n constructor (props) {\r\n super (props);\r\n\r\n this.state = {\r\n template: { __html: ''}\r\n }\r\n }\r\n\r\n componentDidMount () {\r\n this._isMounted = true;\r\n this.getStaticData();\r\n }\r\n\r\n componentWillUnmount () {\r\n this._isMounted = false;\r\n }\r\n\r\n getStaticData = () => {\r\n let oReq = new XMLHttpRequest();\r\n oReq.addEventListener(\"load\", () => {\r\n if (this._isMounted)\r\n this.setState({ template: {__html: oReq.response} });\r\n });\r\n\r\n oReq.open(\"GET\", this.props.templateUrl);\r\n oReq.send();\r\n };\r\n\r\n render () {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default StaticFooterContainer;","import React from 'react';\r\nimport styles from './app-footer-styles'\r\n//Material\r\nimport { withStyles } from '@material-ui/core';\r\n//Routing\r\nimport { withRouter } from 'react-router-dom';\r\n//Component\r\nimport StaticFooter from '../../components/static-footer';\r\n\r\nfunction AppFooterView (props) {\r\n return (\r\n
\r\n {\r\n props.showFooter && \r\n \r\n }\r\n
\r\n )\r\n}\r\n\r\nexport default withRouter(withStyles(styles) (AppFooterView));","import React from 'react';\r\n//components\r\nimport AppFooterView from './app-footer-view.js';\r\n//utils\r\n\r\nclass AppFooterContainer extends React.Component {\r\n constructor (props) {\r\n super(props);\r\n \r\n this.state = {\r\n showFooter: false,\r\n };\r\n }\r\n\r\n setFooter = (showFooter) => {\r\n this.setState({showFooter});\r\n };\r\n\r\n render () {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default AppFooterContainer;","const UserSessionStyles = theme => ({\r\n container: {\r\n backgroundColor: theme.palette.siteBackdrop.main,\r\n }\r\n});\r\n\r\nexport default UserSessionStyles;","import React from 'react';\r\nimport styles from './user-session-styles';\r\n//material\r\nimport { withStyles } from '@material-ui/core';\r\n\r\nfunction UserSessionView (props) {\r\n const classes = props.classes;\r\n\r\n return (\r\n
\r\n {props.children}\r\n
\r\n );\r\n}\r\n\r\nexport default withStyles(styles) (UserSessionView);\r\n","import React from 'react';\r\nimport _ from 'lodash';\r\nimport ReactGA from 'react-ga';\r\n//Components\r\nimport UserSessionView from './user-session-view';\r\n//Routing\r\nimport { withRouter } from 'react-router-dom';\r\nimport { Routes } from '../../routes';\r\n//Utils\r\nimport AuthorisationService from '../../utils/authorisation/authorisationService';\r\nimport { OrganisationService } from '../../utils/data-transfer';\r\n\r\nconst rayGunKey = process.env.REACT_APP_COMPETITIONGOLF_RAYGUN_KEY;\r\nconst activeCampaignKey = process.env.REACT_APP_COMPETITIONGOLF_ACTIVE_CAMPAIGN;\r\nconst googleAnalyticsKey = process.env.REACT_APP_COMPETITIONGOLF_GOOGLE_ANALYTICS;\r\n\r\nclass UserSessionContainer extends React.Component {\r\n\r\n constructor (props) {\r\n super(props);\r\n\r\n this.state = {\r\n children: props.children,\r\n user: null,\r\n isReady: false,\r\n userHasPermissions: false,\r\n settings: null\r\n };\r\n\r\n this._authService = new AuthorisationService();\r\n this._organisationService = new OrganisationService();\r\n\r\n window.rg4js('apiKey', rayGunKey);\r\n window.rg4js('enableCrashReporting', true);\r\n window.rg4js('enablePulse', true);\r\n props.history.listen((location) => this.handleRouteChange(location));\r\n }\r\n\r\n componentDidMount () {\r\n return this.checkUserPermissions();\r\n }\r\n\r\n setIsReady = (isReady) => this.setState({ isReady });\r\n\r\n checkUserPermissions = async () => {\r\n try {\r\n if (this.props.location.pathname === '/sign-in')\r\n return AuthorisationService.signinRedirect();\r\n\r\n let settings = await this._organisationService.getOrganisationSettings();\r\n this.setState({settings});\r\n\r\n let user = await AuthorisationService.getUser();\r\n let userHasPermissions = false;\r\n this.configureGoogleAnalyticsSession(user ? user.profile : null);\r\n\r\n if (user) {\r\n this._authService.setAuthorisationHeader(user.access_token);\r\n this.configureRayGunSession(user.profile);\r\n this.configureActiveCampaignSession(user.profile);\r\n\r\n userHasPermissions = await this._organisationService.checkUserPermissions();\r\n if (user.expired)\r\n user = null;\r\n\r\n if (user && !userHasPermissions)\r\n this.props.history.push('/invalid-user');\r\n }\r\n\r\n this.setState({user: user ? user.profile : null, userHasPermissions });\r\n\r\n this.setIsReady(true);\r\n } catch (err) {\r\n console.log('err', err);\r\n this.setIsReady(true);\r\n }\r\n };\r\n\r\n handleRouteChange = async (location) => {\r\n try {\r\n window.rg4js('trackEvent', { type: 'pageView', path: location.pathname });\r\n ReactGA.set({ page: location.pathname });\r\n ReactGA.pageview(location.pathname);\r\n\r\n let currentRoute = _.find(Routes, route => _.includes(location.pathname, (route.simplePathName ? route.simplePathName : route.path)) );\r\n\r\n let user = await AuthorisationService.getUser();\r\n if (!currentRoute.allowAnonymous) {\r\n if (!user)\r\n return this.props.history.push('/welcome');\r\n\r\n if (!this.state.userHasPermissions)\r\n this.props.history.push('/invalid-user');\r\n }\r\n\r\n if (user.expired) {\r\n this.setState({ user: null });\r\n\r\n if (!currentRoute.allowAnonymous)\r\n return this.props.history.push('/session-expired');\r\n }\r\n } catch (err) {\r\n }\r\n };\r\n\r\n configureRayGunSession = (profile) => {\r\n window.rg4js('setUser', {\r\n identifier: profile.sub,\r\n isAnonymous: false,\r\n email: profile.email,\r\n fullName: profile.name\r\n });\r\n };\r\n\r\n configureGoogleAnalyticsSession = (profile) => {\r\n ReactGA.initialize(googleAnalyticsKey, {\r\n debug: false,\r\n gaOptions: {\r\n identifier: profile ? profile.sub : null,\r\n email: profile ? profile.email : null\r\n }\r\n });\r\n };\r\n\r\n configureActiveCampaignSession = (profile) => {\r\n (function(e,t,o,n,p,r,i){e.visitorGlobalObjectAlias=n;e[e.visitorGlobalObjectAlias]=e[e.visitorGlobalObjectAlias]||function(){(e[e.visitorGlobalObjectAlias].q=e[e.visitorGlobalObjectAlias].q||[]).push(arguments)};e[e.visitorGlobalObjectAlias].l=(new Date()).getTime();r=t.createElement(\"script\");r.src=o;r.async=true;i=t.getElementsByTagName(\"script\")[0];i.parentNode.insertBefore(r,i)})(window,document,\"https://diffuser-cdn.app-us1.com/diffuser/diffuser.js\",\"vgo\");\r\n\r\n window.vgo('setAccount', activeCampaignKey);\r\n window.vgo('setTrackByDefault', true);\r\n window.vgo('setEmail', profile.email);\r\n window.vgo('process');\r\n };\r\n\r\n render () {\r\n\r\n return (\r\n \r\n { this.state.isReady && React.Children.map(this.state.children, child =>\r\n React.cloneElement(child, {user: this.state.user, userHasPermissions: this.state.userHasPermissions, settings: this.state.settings })) }\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(UserSessionContainer);\r\n","const CookieConsentStyles = theme => ({\r\n cookieConsentBar: {\r\n maxWidth: [['initial'], ['!important']]\r\n },\r\n consentButton: {\r\n color: '#ffffff'\r\n }\r\n});\r\n\r\nexport default CookieConsentStyles;","import React from 'react';\r\nimport styles from './cookie-consent-styles';\r\n//material\r\nimport { Snackbar, SnackbarContent, Button, withStyles } from '@material-ui/core';\r\n\r\nfunction CookieConsentView (props) {\r\n const classes = props.classes;\r\n\r\n return (\r\n { props.handleClick(event, reason) } }>\r\n { props.handleClick(event, reason) } }>Got It!}/>\r\n \r\n );\r\n}\r\n\r\nexport default withStyles(styles) (CookieConsentView);\r\n","import React from 'react';\r\n//view\r\nimport CookieConsentView from './cookie-consent-view';\r\n\r\nclass CookieConsentContainer extends React.Component {\r\n constructor (props) {\r\n super(props);\r\n let cookieConsent = localStorage.getItem(consentKey);\r\n\r\n this.state = {\r\n cookieConsent\r\n };\r\n }\r\n\r\n handleClick = (event, reason) => {\r\n if (reason === 'clickaway') {\r\n return;\r\n }\r\n\r\n localStorage.setItem(consentKey, 'true');\r\n this.setState({\r\n cookieConsent: true\r\n })\r\n }\r\n\r\n render () {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nconst consentKey = 'cookieConsent';\r\n\r\nexport default CookieConsentContainer;","import {UPDATE_REGISTRATION, SET_REGISTRATION} from './registration-actions';\r\n\r\nconst initialState = {\r\n competitionId: '',\r\n competitionTeamId: '',\r\n pairName: '',\r\n clubName: '',\r\n clubId: '',\r\n hasCheckedTerms: false,\r\n hasCheckedRules: false,\r\n leadPlayerId: '',\r\n leadPlayerFirstName: '',\r\n leadPlayerLastName: '',\r\n leadPlayerHandicap: '',\r\n leadPlayerHandicapNumber: '',\r\n leadPlayerEmail: '',\r\n leadPlayerPhone: '',\r\n addressId: '',\r\n addressLine1: '',\r\n addressLine2: '',\r\n town: '',\r\n countyId: '',\r\n postCode: '',\r\n additionalPlayerId: '',\r\n additionalPlayerFirstName: '',\r\n additionalPlayerLastName: '',\r\n additionalPlayerHandicap: '',\r\n additionalPlayerHandicapNumber: '',\r\n additionalPlayerEmail: '',\r\n additionalPlayerPhone: '',\r\n\r\n entryIsPrepaid: false,\r\n tournamentFormatId: ''\r\n};\r\n\r\nexport default function (state = initialState, action) {\r\n const {type, payload} = action;\r\n\r\n switch (type) {\r\n case SET_REGISTRATION:\r\n case UPDATE_REGISTRATION:\r\n return Object.assign({}, state, payload);\r\n default:\r\n return state;\r\n }\r\n}","import {combineReducers, createStore} from 'redux';\r\n//reducers\r\nimport registration from './registration/registration-reducer.js';\r\n\r\nconst rootReducer = combineReducers({\r\n registration\r\n});\r\n\r\nexport default function configureStore (initialState) {\r\n return createStore(rootReducer, initialState);\r\n}\r\n","//Polyfills\r\nimport 'react-app-polyfill/ie11';\r\nimport 'core-js/features/array/find-index';\r\nimport 'core-js/features/array/find';\r\nimport 'core-js/features/string/starts-with';\r\nimport 'core-js/es/symbol';\r\nimport 'core-js/modules/es.promise';\r\nimport 'promise-polyfill/src/polyfill';\r\n//Core\r\nimport React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport './index.css';\r\nimport { BrowserRouter } from 'react-router-dom';\r\nimport * as serviceWorker from './serviceWorker';\r\nimport {createMuiTheme, MuiThemeProvider} from '@material-ui/core';\r\nimport { Provider } from 'react-redux';\r\n//Components\r\nimport AppBar from './components/app-bar';\r\nimport AppContent from './components/app-content';\r\nimport AppFooter from './components/app-footer';\r\nimport UserSession from './components/user-session';\r\nimport CookieConsent from './components/cookie-consent';\r\n//utils\r\nimport reduxStore from './utils/redux';\r\n//moment\r\nimport Moment from 'moment';\r\nrequire('../node_modules/moment/min/locales.js');\r\n\r\nMoment.locale(window.navigator.language);\r\n\r\nconst theme = createMuiTheme({\r\n typography: {\r\n useNextVariants: true,\r\n },\r\n palette: {\r\n primary: {\r\n main: process.env.REACT_APP_COMPETITIONGOLF_PRIMARY_COLOUR,\r\n },\r\n secondary: {\r\n main: process.env.REACT_APP_COMPETITIONGOLF_SECONDARY_COLOUR,\r\n },\r\n siteBackdrop: {\r\n main: process.env.REACT_APP_COMPETITIONGOLF_SITE_BACKDROP_COLOUR\r\n },\r\n siteHeaderMain: {\r\n main: process.env.REACT_APP_COMPETITIONGOLF_HEADER_COLOUR\r\n },\r\n cgPositive: {\r\n main: process.env.REACT_APP_COMPETITIONGOLF_POSITIVE_COLOUR\r\n },\r\n cgNeutral: {\r\n main: process.env.REACT_APP_COMPETITIONGOLF_NEUTRAL_COLOUR\r\n },\r\n cgWarning: {\r\n main: process.env.REACT_APP_COMPETITIONGOLF_WARNING_COLOUR\r\n }\r\n },\r\n});\r\n\r\nconst store = reduxStore();\r\n\r\nReactDOM.render(\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ,\r\n document.getElementById('root'));\r\n\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: https://bit.ly/CRA-PWA\r\nserviceWorker.unregister();\r\n"],"sourceRoot":""}