{"version":3,"sources":["Store/GlobalStore.ts","Store/CertificateReportStore.ts","Store/StoreProvider.tsx","Reports/Components/FrontNav.tsx","App.tsx","index.tsx"],"names":["GlobalStore","axios","initialised","userInfo","error","loggingIn","handleError","runInAction","initialiseAsync","a","loadUserInfo","get","user","data","setUser","id","studentId","username","firstName","lastName","catch","window","location","href","this","Axios","create","withCredentials","makeObservable","observable","CertificateReportStore","globalStore","model","storesContext","createContext","undefined","useStores","stores","useContext","Error","LoginBlock","observer","children","Container","Row","Col","sm","Card","className","CardHeader","CardBody","Spinner","color","StoreProvider","certificateReportStore","Provider","value","FrontNav","useState","isOpen","setIsOpen","Navbar","light","expand","NavbarBrand","NavbarToggler","onClick","Collapse","navbar","Nav","NavItem","to","App","useEffect","Font","register","family","fonts","src","fontWeight","registerHyphenationCallback","word","CertificateReport","Render","lazy","NavRouter","withRouter","fallback","showDialog","path","exact","init","dsn","release","process","SENTRYUIRELEASE","environment","hostname","integrations","BrowserTracing","Replay","maskAllText","blockAllMedia","HttpClient","tracesSampleRate","replaysSessionSampleRate","replaysOnErrorSampleRate","ReactDOM","render","document","getElementById"],"mappings":"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","file":"static/js/main.57f24913.chunk.js","sourcesContent":["import { setUser } from '@sentry/react';\nimport Axios, { AxiosInstance } from 'axios';\nimport { makeObservable, observable, runInAction } from 'mobx';\nimport UserInfo from '../Models/UserInfo';\n\nexport default class GlobalStore {\n constructor() {\n this.axios = Axios.create({\n withCredentials: true\n });\n\n makeObservable(this, {\n initialised: observable,\n userInfo: observable,\n loggingIn: observable\n });\n }\n\n readonly axios: AxiosInstance;\n\n initialised = false;\n\n userInfo?: UserInfo;\n\n error?: Error;\n\n loggingIn = false;\n\n handleError = (error: Error) => runInAction(() => {\n this.error = error;\n });\n\n initialiseAsync = async () => {\n if (this.initialised) {\n return;\n }\n runInAction(() => {\n this.initialised = true;\n });\n runInAction(() => {\n this.loadUserInfo();\n });\n };\n\n loadUserInfo = () => {\n (async () => {\n // eslint-disable-next-line no-debugger\n const user = await this.axios.get('/api/auth/user');\n runInAction(() => {\n this.userInfo = user.data;\n });\n setUser({\n id: user.data.studentId,\n username: `${user.data.firstName} ${user.data.lastName}`\n });\n })().catch(() => {\n window.location.href = `/api/auth/login?returnUrl=${window.location.href}`;\n runInAction(() => {\n this.loggingIn = true;\n });\n });\n };\n}\n","import { AxiosInstance } from 'axios';\nimport { makeObservable, observable, runInAction } from 'mobx';\nimport GlobalStore from './GlobalStore';\nimport CertificateModel from '../Models/CertificateReportModel';\n\nexport default class CertificateReportStore {\n constructor(globalStore: GlobalStore) {\n this.axios = globalStore.axios;\n\n makeObservable(this, {\n model: observable,\n initialised: observable\n });\n }\n\n axios: AxiosInstance;\n\n model?: CertificateModel;\n\n initialised = false;\n\n initialiseAsync = async () => {\n if (this.initialised) {\n return;\n }\n runInAction(() => {\n this.initialised = true;\n });\n const model = await this.axios.get('/api/certificate');\n runInAction(() => {\n this.model = model.data;\n });\n };\n}\n","import { observer } from 'mobx-react-lite';\nimport React, { createContext, PropsWithChildren, useContext } from 'react';\nimport { Card, CardBody, CardHeader, Col, Container, Row, Spinner } from 'reactstrap';\nimport GlobalStore from './GlobalStore';\nimport CertificateReportStore from './CertificateReportStore';\n\nexport interface Stores {\n globalStore: GlobalStore\n certificateReportStore: CertificateReportStore\n}\n\nexport const storesContext = createContext(undefined);\n\n/** A React Hook to use the app stores inside a provider */\nexport const useStores = () => {\n const stores = useContext(storesContext);\n if (!stores) {\n throw new Error('useStores must be used within a StoreProvider.');\n }\n return stores;\n};\n\nconst LoginBlock = observer(({ children }: PropsWithChildren) => {\n const { globalStore } = useStores();\n\n globalStore.initialiseAsync();\n\n if (globalStore.error) {\n throw globalStore.error;\n }\n\n if (globalStore.userInfo === undefined || globalStore.loggingIn) {\n return \n \n \n \n \n \n {globalStore.loggingIn ? 'Redirecting to login...' : 'Checking if you\\'re logged in...'}\n \n \n \n \n \n \n \n \n ;\n }\n\n return <>{children};\n});\n\nconst StoreProvider = ({ children }: PropsWithChildren) => {\n const globalStore = new GlobalStore();\n const stores = {\n globalStore,\n certificateReportStore: new CertificateReportStore(globalStore)\n };\n return (<>\n \n \n {children}\n \n \n );\n};\n\nexport default StoreProvider;\n","import React, { useState } from 'react';\nimport { Link } from 'react-router-dom';\nimport {\n Navbar,\n NavbarBrand,\n Nav,\n NavItem,\n Collapse,\n NavbarToggler\n} from 'reactstrap';\nimport '../../App.scss';\n\nconst FrontNav = () => {\n const [isOpen, setIsOpen] = useState(false);\n const toggle = () => setIsOpen(!isOpen);\n return (\n
\n \n Uwa Reporting Tool\n \n \n \n \n \n
\n );\n};\n\nexport default FrontNav;\n","import React, { lazy, Suspense, useEffect } from 'react';\nimport * as Sentry from '@sentry/react';\nimport { Spinner } from 'reactstrap';\nimport { BrowserRouter as Router, Redirect, Route, Switch, withRouter } from 'react-router-dom';\nimport { Font } from '@react-pdf/renderer';\nimport StoreProvider from './Store/StoreProvider';\nimport FrontNav from './Reports/Components/FrontNav';\nimport './App.scss';\n\nconst registerFont = () => {\n Font.register({ family: 'Gothic',\n fonts: [\n { src: 'https://uwa-reporting-assets.s3.ap-southeast-2.amazonaws.com/Century+Gothic.ttf', fontWeight: 'normal' },\n { src: 'https://uwa-reporting-assets.s3.ap-southeast-2.amazonaws.com/gothicb.ttf', fontWeight: 'bold' }\n ] });\n Font.register({ family: 'Palatino',\n fonts: [\n { src: 'https://uwa-reporting-assets.s3.ap-southeast-2.amazonaws.com/pala.ttf', fontWeight: 'normal' }\n ] });\n Font.registerHyphenationCallback(word => [word]);\n};\n\nconst App = () => {\n useEffect(() => {\n registerFont();\n }, []);\n\n const CertificateReport = {\n Render: lazy(() => import('./Reports/Certificate/Pages/Render'))\n };\n const NavRouter = withRouter(() => );\n return An error has occured} showDialog>\n \n \n \n Downloading Experiences\n }\n >\n \n \n \n \n \n \n \n \n \n ;\n};\n\nexport default App;\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { HttpClient } from '@sentry/integrations';\nimport '@careerhub/chubby/scss/main.scss';\nimport { BrowserTracing, Replay, init } from '@sentry/react';\nimport App from './App';\nimport './index.scss';\n\ninit({\n dsn: 'https://7fd36ffbf440812a5623d64179572738@errors.careerhub.support//46',\n release: process.env.SENTRYUIRELEASE,\n environment: (() => {\n const hostname = window.location.hostname;\n if (hostname === 'staging.reports.uwa.careerhub.com.au') {\n return 'Staging';\n }\n if (hostname === 'reports.uwa.careerhub.com.au') {\n return 'Production';\n }\n return 'Development';\n })(),\n integrations: [\n new BrowserTracing(),\n new Replay({\n maskAllText: true,\n blockAllMedia: true\n }),\n new HttpClient()\n ],\n tracesSampleRate: 0.1, // track 10% of transactions\n // only record sessions if an error has occured\n replaysSessionSampleRate: 0,\n replaysOnErrorSampleRate: 1.0\n});\n\nReactDOM.render(\n ,\n document.getElementById('root')\n);\n"],"sourceRoot":""}