{"version":3,"sources":["Components/Templates/Vulpine/styles.tsx","Components/Templates/Vulpine/index.tsx","Components/Templates/Vulpine/colors.tsx","Redux/Queries/index.tsx","Redux/Slices/Vulpin.tsx","Pages/Home/styles.tsx","Pages/Home/index.tsx","App.tsx","Redux/store.ts","reportWebVitals.ts","serviceWorkerRegistration.ts","index.tsx"],"names":["Header","styled","div","Title","h1","Content","Body","Wrapper","createGlobalStyle","Template","props","children","Bold","span","Blue","Green","Cyan","Magenta","Orange","Comment","qGetLastQuote","gql","client","ApolloClient","uri","cache","InMemoryCache","Vulpin","createSlice","name","initialState","quote","author","message","reducers","setQuote","state","payload","actions","VulpinSelector","VulpinStore","P","Quote","Welcome","dispatch","useDispatch","useSelector","useEffect","a","query","result","newQuote","data","lastQuote","error","console","App","ReactGA","initialize","pageview","window","location","pathname","search","path","Home","middleware","getDefaultMiddleware","serializableCheck","store","combineReducers","WizardStore","VulpinReducer","configureStore","reducer","devTools","reportWebVitals","onPerfEntry","Function","then","getCLS","getFID","getFCP","getLCP","getTTFB","Boolean","hostname","match","ReactDOM","render","StrictMode","document","getElementById","navigator","serviceWorker","ready","registration","unregister","catch"],"mappings":"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","file":"static/js/main.ef679e53.chunk.js","sourcesContent":["import styled, { createGlobalStyle } from 'styled-components';\n\nexport const Header = styled.div``;\n\nexport const Title = styled.h1`\n text-align: left;\n margin-top: 40px;\n font-family: 'Gochi Hand', cursive;\n font-size: 44px;\n line-height: 40px;\n @media (max-width: 520px) {\n font-size: 24px;\n line-height: 22px;\n }\n color: #000;\n`;\n\nexport const Content = styled.div`\n font-family: 'Source Code Pro', monospace;\n margin: 0;\n padding: 0px;\n`;\n\nexport const Body = styled.div`\n font-family: 'Source Code Pro', monospace;\n margin: 0;\n padding: 0px;\n`;\n\nexport const Wrapper = styled.div`\n max-width: 1280px;\n margin: 0 auto;\n`;\n\nexport default createGlobalStyle`\n * {\n margin: 0;\n padding: 0;\n outline: 0;\n box-sizing: border-box;\n outline: none;\n }\n\n #root {\n margin: 0 auto;\n}\n\nhtml {\n font-family: \"Source Code Pro\", monospace;\n}\n\nimg {\n width: 100%;\n height: 100%;\n}\n\nbody{\n min-height: 450px;\n height: 100vh;\n margin: 0;\n background: #fdf6e3;\n color: #000;\n font-family: 'Open Sans', sans-serif;\n}\n\n`;\n","import React from 'react';\nimport { Header, Title, Content, Body, Wrapper } from './styles';\n\nconst Template: React.FC = (props) => {\n return (\n \n
\n \n 🦊 The Quick Brown Fox\n \n
\n \n {props.children}\n \n
\n );\n};\n\nexport default Template;\n","import styled from 'styled-components';\n\nexport const Bold = styled.span`\n color: #000;\n font-weight: 600;\n`;\n\nexport const Blue = styled.span`\n color: #268bd2;\n`;\n\nexport const Green = styled.span`\n color: #859900;\n`;\n\nexport const Cyan = styled.span`\n color: #2aa198;\n`;\n\nexport const Violet = styled.span`\n color: #6c71c4;\n`;\n\nexport const Magenta = styled.span`\n color: #d33682;\n font-weight: bold;\n`;\n\nexport const Red = styled.span`\n color: #dc322f;\n`;\n\nexport const Orange = styled.span`\n color: #cb4b16;\n`;\n\nexport const Yellow = styled.span`\n color: #b58900;\n`;\n\nexport const Comment = styled.span`\n color: #93a1a1;\n`;\n","import { gql } from '@apollo/client';\n\nexport const qGetLastQuote = gql`\n query getLastQuote {\n lastQuote {\n author\n message\n }\n }\n`;\n","import { ApolloClient, InMemoryCache } from '@apollo/client';\nimport { createSlice, PayloadAction } from '@reduxjs/toolkit';\n// import axios from 'axios';\nimport { qGetLastQuote } from '../Queries';\nimport { IVulpinState, IQuote } from '../Types';\nimport { WizardThunk } from '../store';\n\nconst client = new ApolloClient({\n uri: '/query',\n cache: new InMemoryCache(),\n});\n\nconst initialState: IVulpinState = {\n quote: {\n author: '',\n message: '',\n },\n};\n\nconst Vulpin = createSlice({\n name: 'Vulpix',\n initialState,\n reducers: {\n setQuote: (state, { payload }: PayloadAction) => {\n state.quote = payload;\n },\n },\n});\n\nexport const { setQuote } = Vulpin.actions;\nexport default Vulpin.reducer;\nexport const VulpinSelector = (state: { VulpinStore: IVulpinState }) => state.VulpinStore;\n\n// API\nexport const getQuote = (): WizardThunk => {\n return async (dispatch) => {\n const result = await client.query({ query: qGetLastQuote });\n const newQuote: IQuote = {\n author: result.data.lastQuote.author,\n message: result.data.lastQuote.message,\n };\n try {\n // const response = await axios.get(`${NodeServer}/create-customer`);\n dispatch(setQuote(newQuote));\n } catch (error) {\n console.error('SayHi ERROR:', error);\n }\n };\n};\n","import styled from 'styled-components';\n\nexport const P = styled.div`\n font-family: 'Source Code Pro', monospace;\n margin-top: 10px;\n font-size: 20px;\n line-height: 24px;\n\n @media (max-width: 520px) {\n margin-top: 10px;\n font-size: 14px;\n line-height: 16px;\n }\n`;\n\nexport const Quote = styled.div`\n padding: 40px;\n border-radius: 20px;\n\n @media (max-width: 520px) {\n margin-top: 5px;\n font-size: 14px;\n line-height: 16px;\n }\n`;\n","import React, { useEffect } from 'react';\nimport { useSelector, useDispatch } from 'react-redux';\nimport { Template } from '../../Components/Templates';\nimport { Green, Bold, Blue, Cyan, Magenta, Orange, Comment } from '../../Components/Templates/Vulpine/colors';\nimport { getQuote, VulpinSelector } from '../../Redux/Slices/Vulpin';\nimport { P, Quote } from './styles';\n\nconst Welcome: React.FC = () => {\n const dispatch = useDispatch();\n const { quote } = useSelector(VulpinSelector);\n useEffect(() => {\n dispatch(getQuote());\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n return (\n \n );\n};\nexport default Welcome;\n","import React, { useEffect } from 'react';\nimport ReactGA from 'react-ga';\nimport { BrowserRouter as Router, Switch, Route } from 'react-router-dom';\nimport GlobalStyle from './Components/Templates/Vulpine/styles';\nimport Home from './Pages/Home';\n\nconst App: React.FC = () => {\n useEffect(() => {\n ReactGA.initialize('UA-199286698-1');\n ReactGA.pageview(window.location.pathname + window.location.search);\n }, []);\n return (\n
\n \n \n \n \n \n \n \n \n
\n );\n};\n\nexport default App;\n","import { configureStore, Action, getDefaultMiddleware, combineReducers } from '@reduxjs/toolkit';\nimport { ThunkAction } from 'redux-thunk';\nimport VulpinReducer from './Slices/Vulpin';\nimport { IVulpinState } from './Types';\n\nexport type WizardThunk = ThunkAction>;\nconst middleware = [\n ...getDefaultMiddleware({\n serializableCheck: {},\n }),\n];\n\nconst rootReducer = combineReducers({\n WizardStore: VulpinReducer,\n});\n\nexport type RootState = ReturnType;\n\n// Turn redux dev tools on for development\nconst store = configureStore({\n reducer: {\n VulpinStore: VulpinReducer,\n },\n middleware: middleware,\n devTools: true,\n});\n\nexport default store;\n","import { ReportHandler } from 'web-vitals';\n\nconst reportWebVitals = (onPerfEntry?: ReportHandler) => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\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://cra.link/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.0/8 are considered localhost for IPv4.\n window.location.hostname.match(/^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/),\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(process.env.PUBLIC_URL, window.location.href);\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://cra.link/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://cra.link/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 headers: { 'Service-Worker': 'script' },\n })\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 (response.status === 404 || (contentType != null && contentType.indexOf('javascript') === -1)) {\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('No internet connection found. App is running in offline mode.');\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready\n .then((registration) => {\n registration.unregister();\n })\n .catch((error) => {\n console.error(error.message);\n });\n }\n}\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { Provider } from 'react-redux';\nimport App from './App';\nimport store from './Redux/store';\nimport reportWebVitals from './reportWebVitals';\nimport * as serviceWorkerRegistration from './serviceWorkerRegistration';\nimport 'typeface-gochi-hand';\nimport 'typeface-source-code-pro';\n\nReactDOM.render(\n \n \n \n \n ,\n document.getElementById('root'),\n);\n\nserviceWorkerRegistration.unregister();\nreportWebVitals();\n"],"sourceRoot":""}