{"version":3,"sources":["Assets/buttonPlus.svg","Assets/buttonMinus.svg","Assets/buttonReset.svg","Assets/createdBY.svg","Assets/imagesCourtesy.svg","Pages/Layout.tsx","Shoothill.Core/Utils/App/GoogleAnalyticsUtils.ts","Shoothill.Core/Utils/App/WithGATracker.tsx","Errors/HttpError.ts","Errors/RequestError.ts","Shoothill.Core/Utils/Utils.ts","Shoothill.Core/Utils/React/ElementId.ts","Shoothill.Core/Utils/Hooks/UseReactRouter.ts","Shoothill.Core/Utils/Hooks/UseDataApi.ts","Pages/User.tsx","Components/OpenSeadragonReact.tsx","Pages/Home.tsx","AppRoutes.tsx","App.tsx","serviceWorker.ts","index.tsx"],"names":["module","exports","__webpack_require__","p","Layout","props","react_default","a","createElement","Fragment","Box","style","backgroundColor","children","GoogleAnalytics","initialize","trackingId","set","anonymizeIp","sendEvent","args","event","withTracker","WrappedComponent","options","arguments","length","undefined","trackPage","page","fieldsObject","trackerNames","path","Object","objectSpread","pageview","HOC","_Component","classCallCheck","this","possibleConstructorReturn","getPrototypeOf","apply","inherits","createClass","key","value","location","pathname","nextProps","currentPage","nextPage","Component","category","action","wrapNativeSuper","Error","throttled","delay","fn","lastCall","now","Date","getTime","React","RequestType","dataFetchReducer","state","type","isLoading","hasLoaded","isError","data","payload","User","initialUrl","requestType","GET","initialPostData","_useState","useState","_useState2","slicedToArray","url","setUrl","_useState3","_useState4","postData","setPostData","_useReducer","useReducer","_useReducer2","dispatch","useEffect","didCancel","_ref","asyncToGenerator","regenerator_default","mark","_callee","headers","jwt","result","wrap","_context","prev","next","localStorage","getItem","Authorization","concat","POST","axios","post","sent","t0","stop","fetchData","doRequest","preventDefault","useDataApi","className","border","overflow","height","width","display","allowFullScreen","src","OpenSeaDragonReact","_React$Component","_this","call","el","elements","viewer","GetViewer","repositionElements","es","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","Symbol","iterator","done","e","repositionElement","err","return","newRect","viewport","viewportToViewerElementRectangle","imageToViewportRectangle","rect","point","getFlip","flipPoint","x","y","getRotation","world","getItemAt","viewportToImageCoordinates","getCenter","pos","viewportToViewerElementCoordinates","imageToViewportCoordinates","element","left","top","fontSize","getZoom","getHomeZoom","angle","center","rotatedPoint","rotatePoint","Math","PI","subtractPoints","sin","cos","addPoints","p1","p2","addElement","wrapperDiv","document","position","appendChild","canvas","push","OpenSeadragon","Rect","getElementById","id","find","removeElementById","removeChild","splice","indexOf","removeElementsById","ids","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","withSlowOSDAnimation","f","factor","oldValues","centerSpringXAnimationTime","centerSpringX","animationTime","centerSpringYAnimationTime","centerSpringY","zoomSpringAnimationTime","zoomSpring","loadImage","Promise","resolve","reject","img","addEventListener","initSeaDragon","self","assertThisInitialized","_this$props","image","Viewer","prefixUrl","tileSources","alwaysBlend","immediateRender","visibilityRatio","zoomInButton","zoomOutButton","homeButton","showNavigator","navigatorAutoFade","navigatorPosition","blendTime","preload","pixelsPerWheelLine","zoomPerScroll","gestureSettingsMouse","clickToZoom","dblClickToZoom","_i","_arr","h","addHandler","target","onOpen","quick","viewportPoint","pointFromPixel","zoomHandler","Utils","onZoom","eventSource","mouseMoveHandler","onMouseMove","MouseTracker","moveHandler","setTracking","navigator","_this2","ref","node","nextState","defaultProps","makeStyles","theme","root","flexGrow","button","margin","spacing","input","paper","padding","textAlign","color","palette","text","secondary","styled","Paper","_templateObject","_templateObject2","_templateObject3","Grid","_templateObject4","apollo11","ButtonGroup","_templateObject5","ImgButton","_templateObject6","OneSmallStep","_templateObject7","OneSmallStepBold","span","_templateObject8","LogoBox","_templateObject9","Attribution","_templateObject10","NetworkShares","_templateObject11","FBShare","memo","shareUrl","title","FacebookShareButton","quote","onShareWindowClose","FacebookIcon","size","round","TwitterShareButton","TwitterIcon","WhatsappShareButton","separator","WhatsappIcon","LinkedinShareButton","windowWidth","windowHeight","LinkedinIcon","HomeContainer","WithTracker","openSeaDragonRef","useRef","getViewer","current","mouseEvent","abrupt","get","vp","logicalRect","w","console","log","fileName","cell","_x","maxWidth","paddingLeft","paddingTop","float","ZoomIn","ZoomOut","Reset","Typography","align","Logo","onClick","window","open","Nasa","iniFrame","OpenSeadragonReact_OpenSeaDragonReact","xy","fitBounds","setTimeout","goHome","zoomLevel","_oldZoom","opacity","AppRoutes","react_router","exact","component","defaultTheme","createMuiTheme","typography","fontFamily","h5","fontWeight","h6","subtitle1","lineHeight","letterSpacing","subtitle2","primary","main","contrastText","overrides","MuiLink","textDecoration","MuiTabs","indicator","MuiTab","marginLeft","textTransform","borderRadius","&:hover","@media (min-width: 960px)","minWidth","MuiButton","MuiListItemIcon","MuiOutlinedInput","notchedOutline","MuiInputLabel","outlined","App","StylesProvider","injectFirst","ThemeProvider","styled_components_browser_esm","CssBaseline","react_router_dom","Layout_Layout","AppRoutes_AppRoutes","Boolean","hostname","match","baseUrl","baseElements","getElementsByTagName","retVal","getAttribute","History","basename","isDev","process","Init","src_App","ReactDOM","render","src_Init","serviceWorker","ready","then","registration","unregister"],"mappings":"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","file":"static/js/main.11a467aa.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/buttonPlus.b1cec805.svg\";","module.exports = __webpack_public_path__ + \"static/media/buttonMinus.76b21b41.svg\";","module.exports = __webpack_public_path__ + \"static/media/buttonReset.21462def.svg\";","module.exports = __webpack_public_path__ + \"static/media/createdBY.d0998141.svg\";","module.exports = __webpack_public_path__ + \"static/media/imagesCourtesy.04d857c1.svg\";","import React from \"react\";\r\nimport { Header } from \"../Shoothill.Components/General\";\r\nimport { Container, Box } from \"@material-ui/core\";\r\n\r\n//EN: use empty generic type to get default react props\r\nexport const Layout: React.FC<{}> = props => {\r\n\treturn (\r\n\t\t\r\n\t\t\t{/* \r\n\t\t\t */}\r\n\t\t\t{props.children}\r\n\t\t\r\n\t);\r\n};\r\n","import GoogleAnalytics, { EventArgs, FieldsObject, TrackerNames } from \"react-ga\";\r\n\r\n//export { EventArgs, FieldsObject, TrackerNames };\r\n\r\nGoogleAnalytics.initialize([\r\n\t{\r\n\t\ttrackingId: \"UA-1542809-15\" //UA-1852243-67\r\n\t\t// gaOptions: {\r\n\t\t// \tname: \"Apollo11\"\r\n\t\t// }\r\n\t}\r\n]);\r\n\r\nGoogleAnalytics.set({ anonymizeIp: true });\r\n\r\n///\r\n/// sendEvent\r\n///\r\n///https://developers.google.com/analytics/devguides/collection/analyticsjs/events\r\nexport const sendEvent = (args: EventArgs) => {\r\n\t//let eventArgs: EventArgs = {\r\n\t// category: category,\r\n\t// action: action,\r\n\t// label: label,\r\n\t// nonInteraction: nonInteraction,\r\n\t// transport: transport,\r\n\t// value: value\r\n\t//};\r\n\t//if (args != undefined && args.transport == undefined) {\r\n\t// `args.transport` must be either one of these values: `beacon`, `xhr` or `image`\r\n\t// args.transport = window.location.pathname;\r\n\t//}\r\n\r\n\tGoogleAnalytics.event(args);\r\n};\r\n\r\n///\r\n/// set\r\n///\r\nexport const set = (fieldsObject: FieldsObject, trackerNames?: TrackerNames) => {\r\n\tGoogleAnalytics.set({\r\n\t\tfieldsObject,\r\n\t\ttrackerNames\r\n\t});\r\n};\r\n\r\n///\r\n/// pageview\r\n///\r\nexport const pageview = (path: string, trackerNames?: TrackerNames, title?: string): void => {\r\n\tGoogleAnalytics.pageview(path);\r\n};\r\n","import React, { Component } from \"react\";\r\nimport * as GoogleAnalytics from \"./GoogleAnalyticsUtils\";\r\n\r\nexport const withTracker = (WrappedComponent: React.ComponentType, options = {}) => {\r\n\tconst trackPage = (page: string) => {\r\n\t\tGoogleAnalytics.set({\r\n\t\t\tpage,\r\n\t\t\t...options\r\n\t\t});\r\n\t\tGoogleAnalytics.pageview(page);\r\n\t};\r\n\r\n\tconst HOC = class extends Component {\r\n\t\tpublic componentDidMount() {\r\n\t\t\tconst page = this.props.location.pathname;\r\n\t\t\ttrackPage(page);\r\n\t\t}\r\n\r\n\t\tpublic componentWillReceiveProps(nextProps: any) {\r\n\t\t\tconst currentPage = this.props.location.pathname;\r\n\t\t\tconst nextPage = nextProps.location.pathname;\r\n\r\n\t\t\tif (currentPage !== nextPage) {\r\n\t\t\t\ttrackPage(nextPage);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tpublic render() {\r\n\t\t\treturn ;\r\n\t\t}\r\n\t};\r\n\r\n\tGoogleAnalytics.sendEvent({ category: \"Startup\", action: \"App Started\" });\r\n\treturn HOC;\r\n};\r\n\r\nexport default withTracker;\r\n","// AJ: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status\r\nexport class HttpError extends Error {\r\n\tpublic readonly httpStatusCode: number;\r\n\r\n\tpublic constructor(httpStatusCode: number, message: string) {\r\n\t\t// AJ: https://stackoverflow.com/questions/47941324/inherited-exceptions-and-instanceof\r\n\t\tconst targetPrototype = new.target.prototype;\r\n\t\tsuper(message);\r\n\t\tObject.setPrototypeOf(this, targetPrototype);\r\n\r\n\t\tthis.httpStatusCode = httpStatusCode;\r\n\t}\r\n}\r\n","export class RequestError extends Error {\r\n public readonly errorMessages: string[];\r\n\r\n constructor(errorMessages: string[]) {\r\n //AJ: https://stackoverflow.com/questions/47941324/inherited-exceptions-and-instanceof\r\n const targetPrototype = new.target.prototype;\r\n super(\"The request had errors.\");\r\n Object.setPrototypeOf(this, targetPrototype);\r\n\r\n this.errorMessages = errorMessages;\r\n }\r\n}","function _isNil(value: any) {\r\n\treturn value == null;\r\n}\r\n\r\nexport const throttled = (delay: number, fn: any) => {\r\n\tlet lastCall = 0;\r\n\treturn function(...args: any) {\r\n\t\tconst now = new Date().getTime();\r\n\t\tif (now - lastCall < delay) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tlastCall = now;\r\n\t\treturn fn(...args);\r\n\t};\r\n};\r\n\r\nexport const generateID = function() {\r\n\t// Math.random should be unique because of its seeding algorithm.\r\n\t// Convert it to base 36 (numbers + letters), and grab the first 9 characters\r\n\t// after the decimal.\r\n\treturn (\r\n\t\t\"_\" +\r\n\t\tMath.random()\r\n\t\t\t.toString(36)\r\n\t\t\t.substr(2, 9)\r\n\t);\r\n};\r\n\r\nexport const sortByString = (a: string | undefined, b: string | undefined, options?: Intl.CollatorOptions) => {\r\n\tif (a === undefined && b === undefined) {\r\n\t\treturn 0;\r\n\t}\r\n\tif (a === undefined) {\r\n\t\treturn -1;\r\n\t}\r\n\tif (b === undefined) {\r\n\t\treturn 1;\r\n\t}\r\n\r\n\treturn a.localeCompare(b, undefined, options);\r\n};\r\n\r\nexport const coalesce = (...args: (TArg | undefined)[]) => {\r\n\tfor (const arg of args) {\r\n\t\tif (_isNil(arg) === false) {\r\n\t\t\treturn arg;\r\n\t\t}\r\n\t}\r\n\r\n\treturn null;\r\n};\r\nexport const getApiUrl = (): string => (window as any).apiurl;\r\n\r\nexport const getImageUrl = (imageUrl: string): string => {\r\n\treturn getApiUrl() + imageUrl;\r\n};\r\n\r\nexport const getBaseUrl = (): string | undefined => {\r\n\tconst baseElements = document.getElementsByTagName(\"base\");\r\n\r\n\tif (baseElements.length === 0) {\r\n\t\tthrow new Error(\"Base element not found\");\r\n\t}\r\n\r\n\tif (baseElements.length > 1) {\r\n\t\tthrow new Error(\"Multiple base elements found\");\r\n\t}\r\n\r\n\tconst baseElement = baseElements[0];\r\n\tconst baseUrl = baseElement.getAttribute(\"href\");\r\n\r\n\tif (baseUrl === undefined) {\r\n\t\tthrow new Error(\"Base element 'href' attribute not found.\");\r\n\t}\r\n\r\n\tlet retVal: string | undefined;\r\n\tif (baseUrl !== null) {\r\n\t\tretVal = baseUrl;\r\n\t}\r\n\treturn retVal;\r\n};\r\n\r\nexport const parseJwt = (token: string) => {\r\n\tconst base64Url = token.split(\".\")[1];\r\n\tconst base64 = decodeURIComponent(\r\n\t\tatob(base64Url)\r\n\t\t\t.split(\"\")\r\n\t\t\t.map(c => {\r\n\t\t\t\treturn \"%\" + (\"00\" + c.charCodeAt(0).toString(16)).slice(-2);\r\n\t\t\t})\r\n\t\t\t.join(\"\")\r\n\t);\r\n\r\n\treturn JSON.parse(base64);\r\n};\r\n","import React from \"react\";\r\n\r\nlet defaultPrefix = \"id\";\r\nlet lastId = 0;\r\n\r\nexport interface Props {\r\n defaultPrefix?: string;\r\n}\r\n\r\nexport class ResetElementIdGenerator extends React.Component {\r\n public constructor(props: Props) {\r\n super(props);\r\n\r\n lastId = 0;\r\n\r\n if (props.defaultPrefix != null) {\r\n defaultPrefix = props.defaultPrefix;\r\n }\r\n }\r\n\r\n public render() { return null; }\r\n}\r\n\r\nexport const getElementId = (prefix?: string) => `${prefix || defaultPrefix}_${++lastId}`;","import { LocationState } from \"history\";\r\nimport { Context, useContext, useEffect } from \"react\";\r\nimport { __RouterContext, RouteComponentProps, StaticContext } from \"react-router\";\r\nimport { useForceUpdate } from \"./UseForceUpdate\";\r\n\r\ntype AnyContext = Context>;\r\n\r\nconst INCORRECT_VERSION_ERROR: Error = new Error(\"use-react-router may only be used with react-router@^5.\");\r\n\r\nconst MISSING_CONTEXT_ERROR: Error = new Error(\"useReactRouter may only be called within a context.\");\r\n\r\nexport function useRouter<\r\n\tP extends { [K in keyof P]?: string } = {},\r\n\tC extends StaticContext = StaticContext,\r\n\tS = LocationState\r\n>(): RouteComponentProps
{\r\n\t// If this version of react-router does not support Context,\r\n\tif (!__RouterContext) {\r\n\t\tthrow INCORRECT_VERSION_ERROR;\r\n\t}\r\n\r\n\t// If the react-router Context is not a parent Component,\r\n\tconst context: RouteComponentProps
= useContext>(\r\n\t\t(__RouterContext as AnyContext) as Context>\r\n\t);\r\n\tif (!context) {\r\n\t\tthrow MISSING_CONTEXT_ERROR;\r\n\t}\r\n\r\n\tconst forceUpdate: VoidFunction = useForceUpdate();\r\n\tuseEffect((): VoidFunction => context.history.listen(forceUpdate), [context]);\r\n\treturn context;\r\n}\r\n","/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport { InitialState } from \"../../../Models/InitialState\";\r\nimport { useState, useEffect, useReducer } from \"react\";\r\nimport axios, { AxiosResponse } from \"axios\";\r\n// import * as Models from \"../../Models\";\r\n\r\nfunction dataFetchReducer(state: any, action: Actions) {\r\n\tswitch (action.type) {\r\n\t\tcase \"FETCH_INIT\":\r\n\t\t\treturn { ...state, isLoading: true, hasLoaded: false, isError: false };\r\n\t\tcase \"FETCH_SUCCESS\":\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tisLoading: false,\r\n\t\t\t\tisError: false,\r\n\t\t\t\thasLoaded: true,\r\n\t\t\t\tdata: action.payload\r\n\t\t\t};\r\n\t\tcase \"FETCH_FAILURE\":\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tisLoading: false,\r\n\t\t\t\thasLoaded: false,\r\n\t\t\t\tisError: true,\r\n\t\t\t\tdata: {}\r\n\t\t\t};\r\n\t\tdefault:\r\n\t\t\tthrow new Error();\r\n\t}\r\n}\r\n\r\ninterface Actions {\r\n\ttype: string;\r\n\tpayload?: InitialState;\r\n}\r\n\r\ninterface DataApi {\r\n\tisLoading: boolean;\r\n\thasLoaded: boolean;\r\n\tisError: boolean;\r\n\tdata: T;\r\n\tdoRequest(url: string, postData?: any, event?: any): void;\r\n}\r\n\r\nenum RequestType {\r\n\tGET,\r\n\tPOST\r\n}\r\n\r\n// export const useDataApi: (initialUrl: string, initialData: any) => = (initialUrl: string) {\r\n// export const useDataApi: (initialUrl: string, initialData: any) => {} = (initialUrl: string, initialData: string) => {\r\n/**\r\n * Hook to fetch data from the url specified.\r\n * @param {string} initialUrl Url to send data to. Required.\r\n * @param {RequestType} requestType Defaults to GET. Ignored if postData is not null\r\n * @param {any} initialPostData Data to be posted to the Url specified. If blank the call will be a get request. Defaults to null\r\n */\r\n\r\nexport const useDataApi = (\r\n\tinitialUrl: string = \"\",\r\n\trequestType: RequestType = RequestType.GET,\r\n\tinitialPostData: any = null\r\n): DataApi => {\r\n\tconst initialData = null;\r\n\tconst [url, setUrl] = useState(initialUrl);\r\n\tconst [postData, setPostData] = useState(initialPostData);\r\n\r\n\tconst [state, dispatch] = useReducer(dataFetchReducer, {\r\n\t\tisLoading: false,\r\n\t\thasLoaded: false,\r\n\t\tisError: false,\r\n\t\tdata: initialData\r\n\t});\r\n\r\n\tuseEffect(() => {\r\n\t\tlet didCancel = false;\r\n\r\n\t\tif (url === \"\") {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst fetchData = async () => {\r\n\t\t\tdispatch({ type: \"FETCH_INIT\" });\r\n\t\t\tlet headers = {};\r\n\t\t\tvar jwt = localStorage.getItem(\".auth\");\r\n\t\t\tif (jwt !== null || jwt !== \"\") {\r\n\t\t\t\theaders = { Authorization: `Bearer ${jwt}` };\r\n\t\t\t}\r\n\r\n\t\t\ttry {\r\n\t\t\t\tlet result: AxiosResponse = {} as any;\r\n\t\t\t\tif (postData || requestType === RequestType.POST) {\r\n\t\t\t\t\tresult = await axios.post(url, postData, { headers: headers });\r\n\t\t\t\t} else {\r\n\t\t\t\t\tresult = await axios(url, { headers: headers });\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (!didCancel) {\r\n\t\t\t\t\tdispatch({ type: \"FETCH_SUCCESS\", payload: result.data });\r\n\t\t\t\t\tsetUrl(\"\"); // Reset so that subsequent calls will show a state change\r\n\t\t\t\t}\r\n\t\t\t} catch (error) {\r\n\t\t\t\tif (!didCancel) {\r\n\t\t\t\t\tdispatch({ type: \"FETCH_FAILURE\" });\r\n\t\t\t\t\tsetUrl(\"\");\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tfetchData();\r\n\r\n\t\treturn () => {\r\n\t\t\tdidCancel = true;\r\n\t\t};\r\n\t}, [url]);\r\n\r\n\tconst doRequest = (url: string, initialPostData: any = null, event: any = null): void => {\r\n\t\tsetUrl(url);\r\n\t\tsetPostData(initialPostData);\r\n\r\n\t\tif (event) {\r\n\t\t\tevent.preventDefault();\r\n\t\t}\r\n\t};\r\n\r\n\treturn { ...state, doRequest };\r\n};\r\n","import React from \"react\";\r\nimport { Button } from \"@material-ui/core\";\r\nimport { useDataApi } from \"Shoothill.Core/Utils\";\r\nimport { ApiResult } from \"Shoothill.Components/Models\";\r\n\r\nexport const User: React.FC = () => {\r\n\tconst { doRequest } = useDataApi();\r\n\r\n\treturn (\r\n\t\t
\r\n\r\n\t\t\t\t{/* */}\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tOne small step for man, one giant leap for mankind 20th July 1969\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t {\r\n\t\t\t\t\t\tsendEvent({ action: \"clicked\", category: \"logo\" });\r\n\t\t\t\t\t\twindow.open(\"https://www.shoothill.com\", \"_blank\");\r\n\t\t\t\t\t}}\r\n\t\t\t\t/>\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{!(window as any).iniFrame && (\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t>\r\n\t);\r\n};\r\n\r\nexport const FBShare = React.memo(() => {\r\n\tconst shareUrl = \"https://apollo11.shoothill.com\";\r\n\tconst title = \"Shoothill - Apollo 11 moon landing 50th anniversary megafiche\";\r\n\tconst iconSize = 38;\r\n\treturn (\r\n\t\t\r\n\t\t\t sendEvent({ action: \"clicked\", category: \"facebook\" })}>\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t sendEvent({ action: \"clicked\", category: \"twitter\" })}>\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t sendEvent({ action: \"clicked\", category: \"whatsapp\" })}>\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t sendEvent({ action: \"clicked\", category: \"linkedin\" })}>\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t{/* sendEvent({ action: \"clicked\", category: \"pinterest\" })}>\r\n\t\t\t\t>\r\n\t\t\t\t\r\n\t\t\t */}\r\n\t\t\r\n\t);\r\n});\r\n\r\nexport const HomeContainer = WithTracker.withTracker(Home);\r\n","import React from \"react\";\r\nimport { User } from \"./Pages/User\";\r\nimport { HomeContainer } from \"./Pages/Home\";\r\n// import { LoginPage } from \"./Pages/LoginPage\";\r\n// import { RegisterPage } from \"./Pages/RegisterPage\";\r\n// import { PrivateRoute } from \"Shoothill.Core/Utils\";\r\nimport { Route } from \"react-router\";\r\n\r\nexport const AppRoutes: React.FC = () => {\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t{/* \r\n\t\t\t */}\r\n\t\t\t\r\n\t\t\t{/* {\r\n\t\t\t\t\treturn store.domain.AccountStore.IsLoggedIn && store.domain.AccountStore.isInRole(\"admin\");\r\n\t\t\t\t}}\r\n\t\t\t/> */}\r\n\t\t>\r\n\t);\r\n};\r\n","import React from \"react\";\r\nimport { hot } from \"react-hot-loader\";\r\n\r\n// import purple from \"@material-ui/core/colors/purple\";\r\nimport { BrowserRouter as Router } from \"react-router-dom\";\r\nimport CssBaseline from \"@material-ui/core/CssBaseline\";\r\n\r\nimport { StylesProvider } from \"@material-ui/styles\";\r\nimport { Layout } from \"./Pages/Layout\";\r\nimport { AppRoutes } from \"./AppRoutes\";\r\nimport { ThemeProvider as MuiThemeProvider } from \"@material-ui/styles\";\r\nimport { ThemeProvider } from \"styled-components\";\r\nimport { createMuiTheme } from \"@material-ui/core/styles\";\r\n\r\nconst defaultTheme = createMuiTheme({\r\n\ttypography: {\r\n\t\tfontFamily: `\"Roboto Condensed\", \"Helvetica\", \"Arial\", sans-serif`,\r\n\t\th5: {\r\n\t\t\tfontSize: \"18px\",\r\n\t\t\tfontWeight: \"bold\"\r\n\t\t},\r\n\t\th6: {\r\n\t\t\tfontSize: \"14px\",\r\n\t\t\tfontWeight: \"bold\"\r\n\t\t},\r\n\t\tsubtitle1: {\r\n\t\t\tfontSize: \"14px\",\r\n\t\t\tfontWeight: 300,\r\n\t\t\tlineHeight: 1.4,\r\n\t\t\tletterSpacing: \"-0.4px\"\r\n\t\t},\r\n\t\tsubtitle2: {\r\n\t\t\tfontSize: \"14px\",\r\n\t\t\tfontWeight: 300\r\n\t\t}\r\n\t},\r\n\tpalette: {\r\n\t\tprimary: {\r\n\t\t\tmain: \"#9DCB3B\",\r\n\t\t\tcontrastText: \"#FFFFFF\"\r\n\t\t},\r\n\t\tsecondary: {\r\n\t\t\tmain: \"#F2893E\",\r\n\t\t\tcontrastText: \"#FFFFFF\"\r\n\t\t}\r\n\t},\r\n\toverrides: {\r\n\t\tMuiLink: {\r\n\t\t\troot: {\r\n\t\t\t\ttextDecoration: \"none\",\r\n\t\t\t\tcolor: \"#000\"\r\n\t\t\t}\r\n\t\t},\r\n\t\tMuiTabs: {\r\n\t\t\tindicator: {\r\n\t\t\t\tdisplay: \"none\"\r\n\t\t\t}\r\n\t\t},\r\n\t\tMuiTab: {\r\n\t\t\troot: {\r\n\t\t\t\tbackgroundColor: \"#F1F1F1\",\r\n\t\t\t\tborder: \"1px solid rgba(0, 0, 0, 0.08)\",\r\n\t\t\t\tmarginLeft: \"1px\",\r\n\t\t\t\ttextTransform: \"capitalize\",\r\n\t\t\t\tfontWeight: \"bold\",\r\n\t\t\t\tborderRadius: \"2px 2px 0 0\",\r\n\t\t\t\t\"&:hover\": {\r\n\t\t\t\t\tbackgroundColor: \"rgba(0, 0, 0, .1)\",\r\n\t\t\t\t\tcolor: \"black\"\r\n\t\t\t\t},\r\n\t\t\t\t\"@media (min-width: 960px)\": {\r\n\t\t\t\t\twidth: \"57px\",\r\n\t\t\t\t\tminWidth: \"57px\"\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\tMuiButton: {\r\n\t\t\troot: {\r\n\t\t\t\tmargin: \"15px 0 15px 0\",\r\n\t\t\t\tborderRadius: \"0\",\r\n\t\t\t\ttextTransform: \"capitalize\",\r\n\t\t\t\tfontSize: \"16px\"\r\n\t\t\t}\r\n\t\t},\r\n\t\tMuiListItemIcon: {\r\n\t\t\troot: {\r\n\t\t\t\tminWidth: \"36px\"\r\n\t\t\t}\r\n\t\t},\r\n\t\tMuiOutlinedInput: {\r\n\t\t\tinput: {\r\n\t\t\t\tpadding: \"10px 6px 10px 6px\",\r\n\t\t\t\theight: \"30px\"\r\n\t\t\t},\r\n\t\t\tnotchedOutline: {\r\n\t\t\t\tborderRadius: \"0\"\r\n\t\t\t}\r\n\t\t},\r\n\t\tMuiInputLabel: {\r\n\t\t\toutlined: {\r\n\t\t\t\tfontWeight: 500,\r\n\t\t\t\tcolor: \"#191919\"\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n});\r\n\r\nconst App: React.FC = () => {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default hot(module)(App);\r\n","// 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.1/8 is 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\ntype Config = {\r\n onSuccess?: (registration: ServiceWorkerRegistration) => void;\r\n onUpdate?: (registration: ServiceWorkerRegistration) => void;\r\n};\r\n\r\nexport function register(config?: 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(\r\n (process as { env: { [key: string]: string } }).env.PUBLIC_URL,\r\n window.location.href\r\n );\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: string, config?: 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: string, config?: Config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl)\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","//EN: To support IE 11\r\n// Uncomment the two lines below\r\n// Revert MobX to 4.12.0\r\n// Delete node_modules directory and reinstall\r\nimport \"react-app-polyfill/ie11\";\r\nimport \"react-app-polyfill/stable\";\r\nimport React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport \"index.css\";\r\nimport App from \"App\";\r\nimport * as serviceWorker from \"serviceWorker\";\r\nimport * as Utils from \"./Shoothill.Core/Utils/Utils\";\r\nimport { useDataApi } from \"./Shoothill.Core/Utils\";\r\n\r\nimport * as History from \"history\";\r\nimport { AppErrorBoundary } from \"./AppErrorBoundary\";\r\nimport { InitialState } from \"Models\";\r\n\r\nconst baseUrl: string | undefined = Utils.getBaseUrl();\r\nconst history = History.createBrowserHistory({\r\n\tbasename: baseUrl\r\n});\r\n\r\nconst isDev: boolean = process.env.NODE_ENV === \"development\";\r\n(window as any).isDev = isDev;\r\n// const devTools: JSX.Element | null = isDev ? : null;\r\n\r\nfunction renderApp() {\r\n\tReactDOM.render(, document.getElementById(\"root\"));\r\n}\r\n\r\nconst Init: React.FC = () => {\r\n\t//const { data, isLoading, isError, doRequest } = useDataApi(\"/api/initialstate/getinitialstatejson\");\r\n\t// const store = useContext(StoresContext);\r\n\r\n\t// if (isLoading) {\r\n\t// \t// EN: Delayed in code behind so we can see the loading text\r\n\t// \treturn ;\r\n\t// } else if (isError) {\r\n\t// \treturn (\r\n\t// \t\t\r\n\t// \t\t\tError!!!\r\n\t// \t\t\r\n\t// \t);\r\n\t// }\r\n\r\n\t// if (data !== null) {\r\n\t// \t// const { Provider, Consumer } = React.createContext(new StoresContext(data, history));\r\n\t// \tstore.init(data, history);\r\n\t// \treturn (\r\n\t// \t\t<>\r\n\t// \t\t\t\r\n\t// \t\t\t\t\r\n\t// \t\t\t\r\n\t// \t\t>\r\n\t// \t);\r\n\t// }\r\n\t// return <>>;\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t>\r\n\t);\r\n};\r\n\r\nrenderApp();\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\r\n// if ((module as any).hot) {\r\n// (module as any).hot.accept(\"./AppRoutes\", () => renderApp());\r\n// }\r\n"],"sourceRoot":""}