{"version":3,"sources":["logo.svg","withRoot.tsx","MockData.tsx","MockService.tsx","VoteItem.tsx","App.tsx","serviceWorker.ts","index.tsx"],"names":["module","exports","__webpack_require__","p","theme","createMuiTheme","typography","fontFamily","palette","primary","grey","secondary","amber","withRoot","Component","props","react","MuiThemeProvider","CssBaseline","MockData","Questions","QuestionText","CurrentVote","Form","Forms","FormName","ExpirationDate","Date","Author","id","FormGuid","MockService","Object","classCallCheck","this","GetQuestions","IncrementQuestion","Question","selectedIndex","findIndex","question","DecrementQuestion","AddQuestion","concat","toConsumableArray","GetForms","RealService","BaseApiUrl","_callee","formId","res","value","questions","regenerator_default","a","wrap","_context","prev","next","axios","get","sent","data","forEach","item","fields","push","abrupt","stop","IncreaseVote","_callee2","captcha","_context2","success","DecreaseVote","_callee3","_context3","_callee4","axiosConfig","_context4","headers","Content-Type","Access-Control-Allow-Origin","defaults","post","FormId","Captcha","_callee5","_context5","StyledBadge","deepOrange","red","blue","green","pink","indigo","lightBlue","blueGrey","cyan","withStyles","badge","top","isIE","right","backgroundColor","color","border","type","Badge","Voteitem","_this","possibleConstructorReturn","getPrototypeOf","call","getLocal","key","found","localStorage","getItem","onVoteItemClick","_ref","asyncToGenerator","mark","captchaValue","_this$props","votedQuestions","updator","captchaElement","isVoted","questionResponse","newArray","_questionResponse","index","arr","classes","readOnly","state","isLoading","q","JSON","parse","setItem","stringify","snackText","snackVisible","setState","splice","current","reset","_x","apply","arguments","isChallengeUp","isOpen","usedCaptchas","currentVoteId","voteId","indexOf","_this$props2","alreadyVotedIndex","_this2","_this$props3","_this$state","decidedBackground","decidedColor","Answer","react_default","createElement","Fragment","Dialog","onClose","open","DialogTitle","DialogContent","DialogContentText","DialogActions","Button","onClick","variant","execute","setTimeout","Grow","style","transformOrigin","in","ListItem","disabled","button","ListItemIcon","className","wrapper","Fab","size","disableRipple","boxShadow","badgeContent","FlagRounded_default","fontSize","DoneRounded_default","KeyboardArrowUpRounded_default","CircularProgress","fabProgress","ListItemText","secondaryTypographyProps","paddingLeft","wordWrap","React","createStyles","root","flexGrow","position","left","zIndex","margin","spacing","require","recaptchaRef","createRef","recaptchaRefInvis","App","fc","_submitQuestion","formName","expanded","questionField","addedQuestions","formTab","hasError","hasLoaded","badPath","buttonLoader","bind","assertThisInitialized","votedQuestionsString","forms","expired","expirationDate","location","pathname","replace","foundForm","filter","form","length","guidTest","RegExp","testResult","test","moment","isAfter","add","_this$state2","snackClass","info","noaction","AppBar","elevation","appBar","Toolbar","staticTool","logo","src","Typography","headerText","minHeight","Grid","container","justify","alignItems","height","noWrap","fontWeight","esm","onErrored","onExpired","onChange","val","ref","sitekey","secondaryBarFiller","appBarBehind","disableGutters","Slide","direction","appBarSecondary","textAlign","secondaryBarText","secondaryBarText2","dist_default","fromNow","toString","format","padding","TextField","inputProps","width","label","multiline","error","rowsMax","rows","event","target","paddingTop","visibility","buttonProgress","Container","maxWidth","List","sort","x","y","map","VoteItem","toolbar","Snackbar","anchorOrigin","vertical","horizontal","autoHideDuration","SnackbarContent","message","withRouter","drawer","@media (max-width: 800px)","@media (max-width: 600px)","marginTop","paddingRight","mixins","toolbarLarger","fab","transform","TabRoot","TabIndicator","heading","pxToRem","secondaryHeading","text","icon","verticalAlign","details","column","flexBasis","helper","borderLeft","divider","link","main","textDecoration","&:hover","expansionPanel","borderRadius","marginBottom","marginLeft","marginRight","&:before","@media (min-width: 600px)","textBox","Boolean","window","hostname","match","ReactDOM","render","react_router_dom","src_App_0","document","getElementById","navigator","serviceWorker","ready","then","registration","unregister"],"mappings":"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","file":"static/js/main.6a9a9dc4.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/logo.e8586388.svg\";","import * as React from 'react';\r\nimport { MuiThemeProvider, createMuiTheme } from '@material-ui/core/styles';\r\nimport blueGrey from '@material-ui/core/colors/blueGrey';\r\nimport cyan from '@material-ui/core/colors/cyan';\r\nimport amber from '@material-ui/core/colors/amber';\r\nimport grey from '@material-ui/core/colors/grey';\r\nimport green from '@material-ui/core/colors/green';\r\nimport deepOrange from '@material-ui/core/colors/deepOrange';\r\nimport yellow from '@material-ui/core/colors/yellow';\r\nimport CssBaseline from '@material-ui/core/CssBaseline';\r\n\r\n// A theme with custom primary and secondary color.\r\n// It's optional.\r\nconst theme = createMuiTheme({\r\n typography: {\r\n fontFamily:\"Montserrat, sans-serif\"\r\n },\r\n palette: {\r\n primary: grey,\r\n secondary: amber,\r\n }, \r\n});\r\n\r\nfunction withRoot

(Component: React.ComponentType

) {\r\n function WithRoot(props: P) {\r\n // MuiThemeProvider makes the theme available down the React tree\r\n // thanks to React context.\r\n return (\r\n \r\n {/* CssBaseline kickstart an elegant, consistent, and simple baseline to build upon. */}\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n return WithRoot;\r\n}\r\n\r\nexport default withRoot;\r\n","import { Question, Form } from './Types';\nclass MockData {\n public static Questions:Question[] = [\n {\n QuestionText:\"The IT teams are stressed, many have not had a weekend off in month's. How can we provide better work life balance?\",\n CurrentVote:41,\n Form:\"IT Town Hall\"\n },\n {\n QuestionText:\"The Orlando GSC building lease will expire in a few years. What are the plans for the associates on this location once the lease expired?\",\n CurrentVote:31,\n Form:\"IT Town Hall\"\n },\n {\n QuestionText:\"We seem to have had several products selected by the business without IT engagement. Does the Business seem to have learned the lesson of engagement after cornerstone?\",\n CurrentVote:24,\n Form:\"IT Town Hall\"\n },\n {\n QuestionText:\"Do you intend to re-align our IT teams around products and services rather than traditional groups based on role?\",\n CurrentVote:19,\n Form:\"IT Town Hall\"\n },\n ]\n public static Forms:Form[] = [\n {\n FormName:\"IT Town Hall\",\n ExpirationDate:new Date(\"7/19/2019\"),\n Author:\"Lyle Cheatham\",\n id:\"1\",\n FormGuid:\"aasdfsd\"\n },\n {\n FormName:\"Quarterly Meeting\",\n ExpirationDate:new Date(\"7/29/2019\"),\n Author:\"Lyle Cheatham\",\n id:\"2\",\n FormGuid:\"aasdfsd\"\n },\n {\n FormName:\"Yearly Meeting\",\n ExpirationDate:new Date(\"8/10/2019\"),\n Author:\"Bob Cheatham\",\n id:\"3\",\n FormGuid:\"aasdfsd\"\n },\n {\n FormName:\"IT Meeting\",\n ExpirationDate:new Date(\"8/10/2020\"),\n Author:\"Bob Cheatham\",\n id:\"4\",\n FormGuid:\"aasdfsd\"\n },\n ]\n} \nexport default MockData;","import { Question, Form, GraphResponse } from './Types';\nimport MockData from './MockData';\nimport axios from 'axios';\n\n\nexport class MockService {\n public static GetQuestions = (): Question[] => {\n return MockData.Questions;\n }\n public static IncrementQuestion = (Question: Question, Questions: Question[]): Question[] => {\n let selectedIndex = Questions.findIndex((question) => { return question.QuestionText == Question.QuestionText });\n Questions[selectedIndex].CurrentVote++;\n return Questions;\n }\n public static DecrementQuestion = (Question: Question, Questions: Question[]): Question[] => {\n let selectedIndex = Questions.findIndex((question) => { return question.QuestionText == Question.QuestionText });\n Questions[selectedIndex].CurrentVote--;\n return Questions;\n }\n\n public static AddQuestion = (Question: Question, Questions: Question[]): Question[] => {\n return [Question, ...Questions];\n }\n\n public static GetForms = (): Form[] => {\n return MockData.Forms;\n }\n}\nexport class RealService {\n //public static BaseApiUrl:string = \"http://localhost:7071/api/\";\n public static BaseApiUrl: string = \"https://hdsfn.azurewebsites.net/api/\";\n\n public static GetQuestions = async (formId: string): Promise => {\n let code = \"?code=0UvVSA5iFkYHuy3L1LWI53JAfEw3eo0Gqzcxi4SM32ITGFvLs/2q9w==\";\n let endpoint: string = \"GetVotes\";\n let res = await axios.get(RealService.BaseApiUrl + endpoint + code + \"&formId=\" + formId);\n let { value } = res.data;\n\n let questions: Question[] = [];\n value.forEach((item: GraphResponse) => {\n let fields: Question = item.fields;\n questions.push(fields);\n });\n return questions;\n }\n public static IncreaseVote = async (Question: Question, Questions: Question[], captcha: string): Promise<{ questions: Question[], success: Boolean }> => {\n let code = \"&code=aC9RwtGfry/ox87OeFJ0XDPldC60GrpNcZI0X0w8KNNBV9t6pzbVnw==\";\n let endpoint: string = \"IncreaseVote\";\n let res = await axios.get(RealService.BaseApiUrl + endpoint + \"?itemId=\" + Question.id + code + \"&captcha=\" + captcha);\n let selectedIndex = Questions.findIndex((question) => { return question.QuestionText == Question.QuestionText });\n if (res.data === \"captcha_failure\") return { questions: Questions, success: false }\n else {\n Questions[selectedIndex].CurrentVote++;\n return { questions: Questions, success: true };\n }\n }\n public static DecreaseVote = async (Question: Question, Questions: Question[], captcha: string): Promise<{ questions: Question[], success: Boolean }> => {\n let code = \"&code=4jx6FX3lpG0197GuVJHahU6zLzV/pEyioOL8pWL19tNUa/LC90nPtg==\";\n let endpoint: string = \"DecreaseVote\";\n let res = await axios.get(RealService.BaseApiUrl + endpoint + \"?itemId=\" + Question.id + code + \"&captcha=\" + captcha);\n let selectedIndex = Questions.findIndex((question) => { return question.QuestionText == Question.QuestionText });\n if (res.data === \"captcha_failure\") return { questions: Questions, success: false }\n else {\n Questions[selectedIndex].CurrentVote--;\n return { questions: Questions, success: true };\n }\n }\n\n public static AddQuestion = async (Question: Question, Questions: Question[], captcha: string): Promise<{ questions: Question[], success: Boolean }> => {\n let axiosConfig = {\n headers: {\n 'Content-Type': 'application/json;charset=UTF-8',\n \"Access-Control-Allow-Origin\": \"*\",\n }\n };\n let code = \"?code=JqFLjXm1MAZ8AoRa4q0nij32TPOOJlupIntRcY2pbIEsaUPeZumiuw==\";\n let endpoint: string = \"AddQuestion\";\n axios.defaults.headers.post['Content-Type'] = 'application/json';\n let res = await axios.post(RealService.BaseApiUrl + endpoint + code, { \"QuestionText\": Question.QuestionText, \"Form\": Question.Form, \"FormId\": Question.FormId, \"Captcha\": captcha },axiosConfig);\n let { id } = res.data;\n if (res.data === \"captcha_failure\") return { questions: Questions, success: false }\n Question.id = id;\n return { questions: [Question, ...Questions], success: true };\n }\n\n public static GetForms = async (): Promise => {\n let code = \"?code=/BHNlDWANXDzmfNg4WZp1jkfvDQrZiXHyEt7TcFhxAOlNSUqySkTiw==\";\n let endpoint: string = \"GetQnAs\";\n let res = await axios.get(RealService.BaseApiUrl + endpoint + code);\n let { value } = res.data;\n\n let questions: Form[] = [];\n value.forEach((item: GraphResponse) => {\n let fields: Form = item.fields;\n questions.push(fields);\n });\n return questions;\n }\n}\nexport default MockService;","/* Main Imports */\nimport React from 'react';\nimport { Theme } from '@material-ui/core/styles/createMuiTheme';\nimport createStyles from '@material-ui/core/styles/createStyles';\nimport withStyles, { WithStyles } from '@material-ui/core/styles/withStyles';\nimport withRoot from './withRoot';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport Dialog from '@material-ui/core/Dialog';\n\n/* Material Core Imports */\nimport Divider from '@material-ui/core/Divider';\nimport ListItem from '@material-ui/core/ListItem';\nimport ListItemIcon from '@material-ui/core/ListItemIcon';\nimport ListItemText from '@material-ui/core/ListItemText';\nimport Fab from '@material-ui/core/Fab';\nimport Badge from '@material-ui/core/Badge';\nimport Button from '@material-ui/core/Button';\nimport CircularProgress from '@material-ui/core/CircularProgress';\nimport Grow from '@material-ui/core/Grow';\nimport Slide from '@material-ui/core/Slide';\nimport SnackbarContent from '@material-ui/core/SnackbarContent';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogContentText from '@material-ui/core/DialogContentText';\nimport {isIE} from 'react-device-detect';\nimport ReCAPTCHA from \"react-google-recaptcha\";\n\nimport { cyan, deepOrange, grey, red, blue, green, pink, amber, indigo, lightBlue, blueGrey } from '@material-ui/core/colors';\n\n/* Material Icon Imports */\nimport KeyboardArrowUpIcon from '@material-ui/icons/KeyboardArrowUpRounded';\nimport DoneIcon from '@material-ui/icons/DoneRounded';\nimport ChatIcon from '@material-ui/icons/ChatRounded';\nimport FlagIcon from '@material-ui/icons/FlagRounded';\nimport PersonIcon from '@material-ui/icons/PersonRounded';\nimport NewReleasesIcon from '@material-ui/icons/NewReleasesSharp';\nimport SupervisedUserCircleIcon from '@material-ui/icons/SupervisedUserCircleRounded';\n\nimport { MockService, RealService } from './MockService';\nimport { Question, Form } from './Types';\nimport './App.css';\n\nconst colors = { deepOrange, grey, red, blue, green, pink, amber, indigo, lightBlue, blueGrey, cyan };\n\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n flexGrow: 1,\n },\n fabProgress: {\n color: grey[400],\n position: 'absolute',\n top: -4,\n left: -4,\n zIndex: 0,\n },\n wrapper: {\n margin: theme.spacing(1),\n position: 'relative',\n },\n });\ntype State = {\n isLoading: boolean;\n isChallengeUp: boolean;\n isOpen: boolean;\n isVoted: boolean;\n usedCaptchas: string[];\n};\ntype Props = {\n voteId: number;\n currentVoteId: number;\n formId: string;\n readOnly: boolean;\n question: Question;\n questions: Question[];\n votedQuestions: Question[];\n updator: Function;\n captchaElement: any;\n captchaValue: string;\n};\nconst StyledBadge = withStyles((theme: Theme) => ({\n badge: {\n top: !isIE ? 0:5,\n right: !isIE ? 3:22,\n backgroundColor: grey[900],\n color: grey[100],\n // The border color match the background color.\n border: `1px solid ${\n theme.palette.type === 'light' ? theme.palette.grey[200] : theme.palette.grey[900]\n }`,\n },\n}))(Badge);\nclass Voteitem extends React.Component, State> {\n\n constructor(props: any) {\n super(props);\n this.state = {\n isChallengeUp: false,\n isLoading: false,\n isVoted: true,\n isOpen: false,\n usedCaptchas: []\n };\n }\n componentWillReceiveProps(props: Props) {\n if (props.currentVoteId === this.props.voteId) {\n if (props.captchaValue != \"\" && this.state.usedCaptchas.indexOf(props.captchaValue) == -1) {\n this.setState({ usedCaptchas: [...this.state.usedCaptchas, props.captchaElement] })\n this.onVoteItemClick(props.captchaValue);\n }\n }\n }\n componentWillMount() {\n const { classes, question, votedQuestions, questions, updator, formId } = this.props;\n let alreadyVotedIndex = votedQuestions.findIndex((q) => { return ((q.QuestionText == question.QuestionText) && (q.FormId == formId)) });\n this.setState({ isVoted: alreadyVotedIndex !== -1 });\n }\n public getLocal = (key: string): string => {\n let found = localStorage.getItem(key);\n if (found) return found;\n else return \"[]\"\n }\n public onVoteItemClick = async (captchaValue: string) => {\n const { classes, question, votedQuestions, questions, updator, formId, readOnly, captchaElement } = this.props;\n const { isLoading } = this.state;\n let isVoted: boolean = votedQuestions.findIndex((q) => { return ((q.QuestionText == question.QuestionText) && (q.FormId == formId)) }) !== -1;\n if (!isVoted) {\n let questionResponse = await RealService.IncreaseVote(question, questions, captchaValue);\n if (questionResponse.success) {\n let newArray = [question, ...JSON.parse(this.getLocal(\"votedQuestions\"))];\n localStorage.setItem(\"votedQuestions\", JSON.stringify([question, ...JSON.parse(this.getLocal(\"votedQuestions\"))]));\n updator({ captchaValue: \"\", votedQuestions: newArray, questions: questionResponse.questions, snackText: \"Your vote has been counted\", snackVisible: true }, this.setState({ isLoading: false, isVoted: true }));\n }\n else {\n updator({ captchaValue: \"\", snackText: \"Your request was rejected by captcha\", snackVisible: true }, this.setState({ isLoading: false }));\n }\n }\n if (isVoted) {\n let questionResponse = await RealService.DecreaseVote(question, questions, captchaValue);\n if (questionResponse.success) {\n let index = JSON.parse(this.getLocal(\"votedQuestions\")).findIndex((q: Question) => { return ((q.QuestionText == question.QuestionText) && (q.FormId == formId)) });\n votedQuestions.splice(index, 1);\n let arr = JSON.parse(this.getLocal(\"votedQuestions\"));\n arr.splice(index, 1);\n localStorage.setItem(\"votedQuestions\", JSON.stringify(arr));\n updator({ captchaValue: \"\", votedQuestions: votedQuestions, questions: questionResponse.questions, snackText: \"Your vote has been removed\", snackVisible: true }, this.setState({ isLoading: false, isVoted: false }));\n }\n else {\n updator({ captchaValue: \"\", snackText: \"Your request was rejected by captcha\", snackVisible: true }, this.setState({ isLoading: false }));\n }\n }\n captchaElement.current.reset();\n }\n render() {\n const { voteId, classes, question, votedQuestions, questions, updator, formId, readOnly, captchaElement, captchaValue } = this.props;\n const { isOpen, isChallengeUp, isLoading } = this.state;\n let isVoted: boolean = votedQuestions.findIndex((q) => { return ((q.QuestionText == question.QuestionText) && (q.FormId == formId)) }) !== -1;\n let decidedBackground = \"\";\n let decidedColor = \"\";\n if (readOnly && question.Answer) {\n decidedBackground = grey[900];\n decidedColor = amber[600];\n }\n else if (isVoted && !isLoading) {\n decidedBackground =green[500];\n decidedColor = grey[100];\n }\n else {\n decidedBackground = \"\";\n decidedColor = \"\";\n }\n\n return (\n \n

{this.setState({isOpen:false})}} open={isOpen}>\n {\"Confirm Choice\"}\n \n \n {isVoted ? \"Would you like to remove your upvote?\" : \"Would you like to upvote this question?\"}\n \n \n \n \n \n \n \n \n {\n this.setState({ isOpen: true });\n /*\n \n this.setState({isLoading:true,isChallengeUp:true},updator({ currentVoteId:voteId},()=>{captchaElement.current.execute()}))\n setTimeout(()=>{ \n if (this.state.isChallengeUp) {\n this.setState({isChallengeUp:false,isLoading:false});\n } \n },6000)\n */\n }}>\n \n
\n \n \n {readOnly && question.Answer ? \n : isVoted ? \n : }\n \n \n {isLoading && }\n
\n
\n\n \n
\n
\n \n );\n }\n}\nexport default withRoot(withStyles(styles)(Voteitem));\n","/* Main Imports */\nimport \"babel-polyfill\";\nimport React from 'react';\nimport { Theme } from '@material-ui/core/styles/createMuiTheme';\nimport createStyles from '@material-ui/core/styles/createStyles';\nimport withStyles, { WithStyles } from '@material-ui/core/styles/withStyles';\nimport withRoot from './withRoot';\n\n/* Material Core Imports */\nimport AppBar from '@material-ui/core/AppBar';\nimport Grid from '@material-ui/core/Grid';\nimport Toolbar from '@material-ui/core/Toolbar';\nimport List from '@material-ui/core/List';\nimport Typography from '@material-ui/core/Typography';\nimport FormControl from '@material-ui/core/FormControl';\nimport Divider from '@material-ui/core/Divider';\nimport ListItem from '@material-ui/core/ListItem';\nimport ListItemIcon from '@material-ui/core/ListItemIcon';\nimport ListItemText from '@material-ui/core/ListItemText';\nimport Fab from '@material-ui/core/Fab';\nimport ExpansionPanel from '@material-ui/core/ExpansionPanel';\nimport ExpansionPanelDetails from '@material-ui/core/ExpansionPanelDetails';\nimport ExpansionPanelSummary from '@material-ui/core/ExpansionPanelSummary';\nimport ExpansionPanelActions from '@material-ui/core/ExpansionPanelActions';\nimport TextField from '@material-ui/core/TextField';\nimport Snackbar from '@material-ui/core/Snackbar';\nimport Paper from '@material-ui/core/Paper';\nimport Tabs from '@material-ui/core/Tabs';\nimport Tab from '@material-ui/core/Tab';\nimport Badge from '@material-ui/core/Badge';\nimport Button from '@material-ui/core/Button';\nimport { withRouter } from 'react-router-dom';\nimport CircularProgress from '@material-ui/core/CircularProgress';\nimport Grow from '@material-ui/core/Grow';\nimport Slide from '@material-ui/core/Slide';\nimport ReCAPTCHA from \"react-google-recaptcha\";\nimport {isIE} from 'react-device-detect';\n\nimport moment from 'moment';\nimport { cyan, deepOrange, grey, red, blue, green, pink, amber, indigo, lightBlue, blueGrey } from '@material-ui/core/colors';\n\n/* Material Icon Imports */\nimport KeyboardArrowUpIcon from '@material-ui/icons/KeyboardArrowUpRounded';\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\nimport DoneIcon from '@material-ui/icons/DoneRounded';\nimport Moment from 'react-moment';\nimport FlipMove from 'react-flip-move';\nimport Container from '@material-ui/core/Container';\nimport { SnackbarProvider, VariantType, useSnackbar } from 'notistack';\n\nimport { MockService, RealService } from './MockService';\nimport { Question, Form } from './Types';\nimport VoteItem from './VoteItem';\nimport logo from './logo.svg';\nimport './App.css';\nimport { SnackbarContent } from '@material-ui/core';\nrequire('es6-promise/auto');\nconst colors = { deepOrange, grey, red, blue, green, pink, amber, indigo, lightBlue, blueGrey, cyan };\nconst recaptchaRef: any = React.createRef();\nconst recaptchaRefInvis: any = React.createRef();\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n flexGrow: 1,\n },\n appBar: {\n zIndex: theme.zIndex.drawer + 1,\n backgroundColor: grey[900],\n },\n appBarBehind: {\n zIndex: theme.zIndex.drawer ,\n backgroundColor: grey[50],\n top:64,\n '@media (max-width: 800px)': {\n top: 58\n },\n '@media (max-width: 600px)': {\n top: 53\n }\n },\n appBarSecondary: {\n zIndex: theme.zIndex.drawer + 1,\n backgroundColor: amber[500],\n top: 64,\n width:\"100%\",\n paddingTop: 6\n },\n logo: {\n marginTop: -10,\n height:40,\n width:240,\n paddingRight: 20\n },\n headerText: {\n flexGrow: 1,\n fontWeight: 800\n },\n toolbar: theme.mixins.toolbar,\n toolbarLarger: {\n minHeight: 80\n },\n fab: {\n margin: theme.spacing(1),\n position: 'relative',\n transform: 'rotate(90deg)'\n },\n TabRoot: {\n backgroundColor: amber[600],\n },\n TabIndicator: {\n backgroundColor: grey[900],\n },\n padding: {\n padding: theme.spacing(0, 2),\n },\n badge: {\n backgroundColor: grey[900],\n color: grey[100]\n },\n heading: {\n fontSize: theme.typography.pxToRem(15),\n },\n secondaryHeading: {\n fontSize: theme.typography.pxToRem(15),\n color: theme.palette.text.secondary,\n },\n icon: {\n verticalAlign: 'bottom',\n height: 20,\n width: 20,\n },\n details: {\n alignItems: 'center',\n },\n column: {\n flexBasis: '33.33%',\n },\n helper: {\n borderLeft: `2px solid ${theme.palette.divider}`,\n padding: theme.spacing(1, 2),\n },\n link: {\n color: theme.palette.primary.main,\n textDecoration: 'none',\n '&:hover': {\n textDecoration: 'underline',\n },\n },\n expansionPanel: {\n borderRadius: 60,\n marginTop: 10,\n marginBottom: 10,\n marginLeft: \"20px !important\",\n marginRight: \"20px !important\",\n '&:before': {\n backgroundColor: 'rgba(0, 0, 0, 0)',\n },\n },\n info: {\n backgroundColor: grey[900],\n },\n success: {\n backgroundColor: green[600],\n },\n noaction: {\n backgroundColor: grey[600],\n },\n buttonProgress: {\n color: green[500],\n position: 'absolute',\n top: '50%',\n left: '50%',\n marginTop: -12,\n marginLeft: -12,\n },\n wrapper: {\n margin: theme.spacing(1),\n position: 'relative',\n },\n staticTool: {\n minHeight: 64,\n '@media (min-width: 600px)': {\n }\n },\n secondaryBarText: {\n '@media (max-width: 800px)': {\n fontSize: 22\n },\n '@media (max-width: 600px)': {\n fontSize: 18\n }\n },\n secondaryBarText2: {\n '@media (max-width: 800px)': {\n fontSize: 18\n },\n '@media (max-width: 600px)': {\n fontSize: 14\n }\n },\n secondaryBarFiller: {\n minHeight: 128,\n '@media (max-width: 800px)': {\n minHeight: 106\n }\n },\n textBox: {\n width:600\n }\n });\ntype State = {\n questions: Question[];\n votedQuestions: Question[];\n forms: Form[];\n formId: string;\n formTab: any;\n expanded: boolean;\n hasError: boolean;\n hasLoaded: boolean;\n badPath: boolean;\n expired: boolean;\n readOnly: boolean;\n snackVisible: boolean;\n buttonLoader: boolean;\n questionField: string;\n snackText: string;\n formName: string;\n captcha: string;\n captchaValue: string;\n captchaElement: any;\n currentVoteId: number;\n expirationDate: Date;\n};\nconst StyledBadge = withStyles((theme: Theme) => ({\n badge: {\n top: 0,\n right: 3,\n backgroundColor: grey[900],\n color: grey[100],\n // The border color match the background color.\n border: `1px solid ${\n theme.palette.type === 'light' ? theme.palette.grey[200] : theme.palette.grey[900]\n }`,\n },\n}))(Badge);\nclass App extends React.Component<{\n location: any;\n} & WithStyles, State> {\n\n constructor(props: any) {\n super(props);\n this.updator = this.updator.bind(this);\n let votedQuestions: Question[] = [];\n let votedQuestionsString: any = localStorage.getItem(\"votedQuestions\");\n if (votedQuestionsString) votedQuestions = JSON.parse(votedQuestionsString);\n this.state = {\n formTab: 0,\n formId: \"1\",\n votedQuestions: votedQuestions,\n questions: [],\n forms: [],\n captchaValue: \"\",\n captchaElement: recaptchaRefInvis,\n expanded: false,\n hasError: false,\n expired: false,\n readOnly: false,\n hasLoaded: false,\n badPath: false,\n buttonLoader: false,\n currentVoteId: 0,\n snackVisible: false,\n questionField: \"\",\n snackText: \"\",\n formName: \"\",\n captcha: \"\",\n expirationDate: new Date()\n };\n }\n private updator = (state: any, fc?: Function): void => {\n if (fc) this.setState(state, () => { fc() });\n else this.setState(state);\n }\n private _submitQuestion = async () => {\n const { formName, questions, formTab, votedQuestions, expanded, questionField, hasError, hasLoaded, formId, badPath, snackVisible, snackText, buttonLoader, captcha } = this.state;\n\n if (questionField === \"\") {\n this.setState({ hasError: true });\n }\n else {\n this.setState({ buttonLoader: true });\n let question = { QuestionText: questionField, CurrentVote: 1, Form: formName, FormId: formId };\n let newArray = [question, ...votedQuestions];\n localStorage.setItem(\"votedQuestions\", JSON.stringify(newArray));\n let addedQuestions = await RealService.AddQuestion(question, questions, captcha);\n if (addedQuestions.success)\n this.setState({ captcha: \"\", hasError: false, expanded: !expanded, questions: addedQuestions.questions, questionField: \"\", votedQuestions: newArray, buttonLoader: false, snackVisible: true, snackText: \"Your question has been added\" }, recaptchaRef.current.reset());\n else {\n this.setState({ captcha: \"\", hasError: false, expanded: !expanded, questions: addedQuestions.questions, questionField: \"\", votedQuestions: newArray, buttonLoader: false, snackVisible: true, snackText: \"Your request was rejected by captcha\" }, recaptchaRef.current.reset());\n }\n }\n }\n\n async componentWillMount() {\n let formId = this.props.location.pathname.replace(\"/\", \"\")\n let questions = await RealService.GetQuestions(formId);\n let forms = await RealService.GetForms();\n let foundForm: Form = forms.filter((form) => { return form.FormGuid === formId }).length === 1 ? forms.filter((form) => { return form.FormGuid === formId })[0] : { FormName: \"This form may have been deleted...\", FormGuid: \"\", ExpirationDate: new Date(), Author: \"\", id: \"\" };\n var guidTest = new RegExp(\"^(\\{{0,1}([0-9a-fA-F]){8}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){12}\\}{0,1})$\");\n\n let testResult: Boolean = guidTest.test(formId);\n let badPath = !testResult;\n let expired = moment().isAfter(moment(foundForm.ExpirationDate).add(2, \"months\"));\n let readOnly = moment().isAfter(moment(foundForm.ExpirationDate));\n this.setState({ expired: expired, readOnly: readOnly, questions: questions, forms: forms, hasLoaded: true, formId: formId, badPath: badPath, formName: foundForm.FormName, expirationDate: foundForm.ExpirationDate });\n }\n render() {\n const { classes, location } = this.props;\n const { currentVoteId, captchaElement, captchaValue, captcha, readOnly, expired, formName, expirationDate, questions, formTab, votedQuestions, expanded, questionField, hasError, hasLoaded, formId, badPath, snackVisible, snackText, buttonLoader } = this.state;\n \n let snackClass = snackText.indexOf(\"removed\") >= 0 ? classes.info : snackText.indexOf(\"captcha\") >= 0 ? classes.noaction : classes.success;\n snackClass = snackText.indexOf(\"Chrome\") >= 0 ?classes.noaction:snackClass;\n return (\n \n \n \n \n Q&A\n \n \n {!hasLoaded &&\n \n
\n \n \n \n  Loading...\n \n \n \n }\n {!readOnly &&\n {\n this.setState({ snackText: \"Your captcha check failed\", snackVisible: true });\n }}\n\n onExpired={() => {\n this.setState({ captchaValue: \"\" })\n }\n }\n onChange={(val) => {\n this.setState({ captchaValue: val ? val : \"\" });\n }}\n ref={captchaElement}\n size=\"invisible\"\n sitekey=\"6Leso7IUAAAAAMAZ_SmrEsK6ujTExa6NMBqOqbBY\"\n />\n }\n {!expired && !badPath && hasLoaded &&\n \n
\n \n \n \n
\n \n
\n {formName}\n {!readOnly && This Q&A closes {expirationDate.toString()} on {expirationDate.toString()}}\n {readOnly && This Q&A closed {expirationDate.toString()} on {expirationDate.toString()}}\n
\n
\n
\n
\n
\n
\n {!readOnly &&\n \n \n 500}\n rowsMax=\"4\"\n rows=\"4\"\n variant=\"outlined\"\n onChange={(event: React.ChangeEvent) => {\n this.setState({ questionField: event.target.value, hasError: event.target.value === \"\" ? true : false });\n }}\n />\n \n \n { this.setState({ captcha: \"\" }) }}\n ref={recaptchaRef}\n sitekey=\"6LeinbIUAAAAAI4AmbRtAnlzFBsGKPZPlx_gYTSX\"\n onChange={(val: any) => { this.setState({ captcha: val ? val : \"\" }) }}\n />\n \n \n \n
\n \n {buttonLoader && }\n
\n
\n
\n }\n \n \n {questions\n .filter((question) => { return question.FormId === formId })\n .sort((x, y) => {\n if (x.CurrentVote > y.CurrentVote) return -1;\n else if (x.CurrentVote < y.CurrentVote) return 1;\n else return 0;\n }).map((question, key) => {\n\n return (\n \n )\n })}\n \n
\n
\n {questions.filter((question) => { return question.FormId === formId }).length === 0 && Looks like there aren't any questions yet for this Q&A}\n\n \n }\n {!expired && badPath &&\n \n
\n Sorry, I couldn't find a Q&A with that ID\n \n }\n {expired &&\n \n
\n This Q&A is at least two months old and has expired\n \n }\n { this.setState({ snackVisible: false }) }}>\n {snackText}} />\n \n \n );\n }\n}\nexport default withRouter(withRoot(withStyles(styles)(App)));\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\ntype Config = {\n onSuccess?: (registration: ServiceWorkerRegistration) => void;\n onUpdate?: (registration: ServiceWorkerRegistration) => void;\n};\n\nexport function register(config?: Config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(\n (process as { env: { [key: string]: string } }).env.PUBLIC_URL,\n window.location.href\n );\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl: string, config?: Config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl: string, config?: Config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl)\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister();\n });\n }\n}\n","import 'react-app-polyfill/ie11';\n\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport App from './App';\nimport * as serviceWorker from './serviceWorker';\nimport { BrowserRouter as Router } from 'react-router-dom';\nimport { SnackbarProvider, VariantType, useSnackbar } from 'notistack';\nReactDOM.render(, document.getElementById('root'));\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.unregister();\n"],"sourceRoot":""}