{"version":3,"file":"js/main-bundle-c552cf518924a31f9aef.js","mappings":"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","sources":["webpack://app/./client/bundles/layoutUtils/useWindowDimensions.js","webpack://app/./client/bundles/utils/apiHeader.js","webpack://app/./client/bundles/utils/localStorage.js","webpack://app/./client/bundles/Main/components/Author/Image.jsx","webpack://app/./client/bundles/Main/components/Author/Snippet.jsx","webpack://app/./client/bundles/Main/components/Author/index.jsx","webpack://app/./client/bundles/Main/components/Quote.jsx","webpack://app/./client/bundles/Main/services/localStorage.js","webpack://app/./client/bundles/Main/components/Quotes.jsx","webpack://app/./client/bundles/Main/services/scoreService.js","webpack://app/./client/bundles/Main/components/ProgressQueueBtn.jsx","webpack://app/./client/bundles/Main/services/quoteService.js","webpack://app/./client/bundles/Main/mutations/helpers.js","webpack://app/./client/bundles/Main/components/Game.jsx","webpack://app/./client/bundles/Main/queries/initializeQuoteQueue.js","webpack://app/./client/bundles/Main/mutations/addQuote.js","webpack://app/./client/bundles/Main/components/Main.jsx","webpack://app/./client/packs/main-bundle.js"],"sourcesContent":["import { useState, useEffect } from 'react'\r\n\r\nconst useWindowDimensions = () => {\r\n const [windowDimensions, setWindowDimensions] = useState({\r\n width: window.innerWidth,\r\n height: window.innerHeight,\r\n })\r\n\r\n useEffect(() => {\r\n const updateWindowDimensions = () => {\r\n setWindowDimensions({\r\n width: window.innerWidth,\r\n height: window.innerHeight,\r\n })\r\n }\r\n\r\n window.addEventListener('resize', updateWindowDimensions)\r\n\r\n updateWindowDimensions()\r\n\r\n return () => {\r\n window.removeEventListener('resize', updateWindowDimensions)\r\n }\r\n }, [])\r\n\r\n return windowDimensions\r\n}\r\n\r\nexport default useWindowDimensions\r\n","import { getSessionToken } from './localStorage'\r\n\r\nlet csrfTokenCache = ''\r\n\r\nconst getCsrfToken = () => {\r\n const token = document\r\n .querySelector('meta[name=\"csrf-token\"]')\r\n .getAttribute('content')\r\n // cache the token\r\n csrfTokenCache = token\r\n return token\r\n}\r\n\r\nexport const getApiHeaders = ({ tryTokenAuth = false } = {}) => {\r\n const headers = {\r\n 'Content-Type': 'application/json',\r\n 'X-CSRF-Token': csrfTokenCache ? csrfTokenCache : getCsrfToken(),\r\n }\r\n\r\n if (tryTokenAuth) {\r\n const sessionToken = getSessionToken()\r\n\r\n if (sessionToken) {\r\n headers['Authorization'] = `Bearer ${sessionToken}`\r\n }\r\n }\r\n\r\n return headers\r\n}\r\n","export const getSessionToken = () => {\r\n const sessionData = window.localStorage.getItem('quoted-session')\r\n\r\n if (sessionData) {\r\n const { token } = JSON.parse(sessionData)\r\n return token\r\n }\r\n\r\n return null\r\n}\r\n","import React from 'react'\r\nimport no_image from './no_image.svg'\r\n\r\nconst Image = ({ imageUrl }) => {\r\n const source = imageUrl ? imageUrl : no_image\r\n\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default Image\r\n","import React from 'react'\r\nimport useWindowDimensions from '../../../layoutUtils/useWindowDimensions'\r\n\r\nconst Snippet = ({ name, snippet }) => {\r\n const { width: windowWidth } = useWindowDimensions()\r\n\r\n const headerStyle = () => {\r\n const fontSize =\r\n windowWidth < 600 ? '20px' : windowWidth < 1200 ? '25px' : '30px'\r\n\r\n return {\r\n fontSize,\r\n margin: '5px 0 10px',\r\n }\r\n }\r\n\r\n return (\r\n
\r\n

{' - ' + name}

\r\n \r\n

\r\n {snippet}\r\n

\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default Snippet\r\n","import React from 'react'\r\nimport Image from './Image'\r\nimport Snippet from './Snippet'\r\nimport useWindowDimensions from '../../../layoutUtils/useWindowDimensions'\r\n\r\nconst Author = ({ name, imageUrl, snippet }) => {\r\n const { width: windowWidth } = useWindowDimensions()\r\n\r\n const style = {\r\n display: 'grid',\r\n width: '100vw',\r\n height: '100%',\r\n gridTemplateColumns: '25% 75%',\r\n paddingBottom: '1vh',\r\n overflow: 'hidden',\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n )\r\n}\r\n\r\nexport default Author\r\n","import React from 'react'\r\nimport useWindowDimensions from '../../layoutUtils/useWindowDimensions'\r\n\r\nconst Quote = ({ quote, handleClick, index, revealStyle }) => {\r\n const { width: windowWidth } = useWindowDimensions()\r\n\r\n return (\r\n handleClick(index)}\r\n >\r\n \r\n {quote}\r\n

\r\n \r\n )\r\n}\r\n\r\nexport default Quote\r\n","export const setLocalStorageQueue = (quoteQueue) => {\r\n return localStorage.setItem('quote-queue', JSON.stringify(quoteQueue))\r\n}\r\n\r\nexport const getLocalStorageQueue = () => {\r\n const queue = localStorage.getItem('quote-queue')\r\n if (queue) {\r\n return JSON.parse(queue)\r\n }\r\n}\r\n\r\nexport const progressLocalStorageQueue = (queryClient) => {\r\n const existingQueue = queryClient.getQueryData(['quote-queue'])\r\n\r\n if (existingQueue) {\r\n const [a, ...rest] = existingQueue\r\n return setLocalStorageQueue(rest)\r\n }\r\n}\r\n","import React from 'react'\r\nimport { postScore } from '../services/scoreService'\r\nimport Quote from './Quote'\r\nimport { useQueryClient } from '@tanstack/react-query'\r\nimport { setLocalStorageQueue } from './Game'\r\nimport { progressLocalStorageQueue } from '../services/localStorage'\r\n\r\nconst Quotes = ({ quote, falseQuote, guessed, setGuessed, randomizer }) => {\r\n const queryClient = useQueryClient()\r\n\r\n const isCorrect = (idx) =>\r\n (randomizer >= 0.5 && idx === 1) || (randomizer < 0.5 && idx === 0)\r\n const quotesArr =\r\n randomizer > 0.5 ? [falseQuote, `\"${quote}\"`] : [`\"${quote}\"`, falseQuote]\r\n\r\n const revealStyle = (idx) => ({\r\n borderColor: isCorrect(idx) ? 'green' : 'red',\r\n })\r\n\r\n const handleClick = async (idx) => {\r\n setGuessed(true)\r\n postScore(isCorrect(idx))\r\n progressLocalStorageQueue(queryClient)\r\n }\r\n\r\n return (\r\n \r\n {quotesArr.map((quote, idx) => (\r\n \r\n ))}\r\n \r\n )\r\n}\r\n\r\nexport default Quotes\r\n","import axios from 'axios'\r\nimport { getApiHeaders } from '../../utils/apiHeader'\r\n\r\nexport const postScore = async (isCorrect) => {\r\n const config = {\r\n headers: getApiHeaders({ tryTokenAuth: true }),\r\n }\r\n\r\n const body = JSON.stringify({\r\n score_type: isCorrect ? 'correct' : 'incorrect',\r\n })\r\n\r\n const { data } = await axios.post('/api/scores', body, config)\r\n\r\n return data\r\n}\r\n","import React from 'react'\r\n\r\nconst NextQueueBtn = ({ progressQueue }) => (\r\n \r\n next quote\r\n \r\n)\r\n\r\nexport default NextQueueBtn\r\n","import axios from 'axios'\r\nimport { getApiHeaders } from '../../utils/apiHeader'\r\n\r\nexport const getQuote = async () => {\r\n const config = {\r\n headers: getApiHeaders(),\r\n }\r\n const { data } = await axios.get('/api/new_quote', config)\r\n return data\r\n}\r\n\r\n// temp\r\nexport const getQuotes = async () => {\r\n const quotes = []\r\n\r\n for (let i = 0; i < 2; i++) {\r\n const data = await getQuote()\r\n quotes.push(data)\r\n }\r\n return quotes\r\n}\r\n","import { setLocalStorageQueue } from '../services/localStorage'\r\n\r\nexport const addQuoteToQueues = (newQuote, queryClient) => {\r\n queryClient.setQueryData(['quote-queue'], (existingQueue) => {\r\n const newQueue = existingQueue.concat(newQuote)\r\n setLocalStorageQueue(newQueue)\r\n return newQueue\r\n })\r\n}\r\n\r\nexport const monitorQueueLength = (addQuote, queryClient) => {\r\n const queueLength = queryClient.getQueryData(['quote-queue']).length\r\n\r\n if (queueLength < 4) {\r\n addQuote()\r\n }\r\n}\r\n\r\nexport const progressQueryQueue = (queryClient) => {\r\n queryClient.setQueryData(['quote-queue'], ([_, ...rest]) => rest)\r\n}\r\n","import React, { useState } from 'react'\r\nimport { useQueryClient } from '@tanstack/react-query'\r\nimport Author from './Author'\r\nimport Quotes from './Quotes'\r\nimport ProgressQueueBtn from './ProgressQueueBtn'\r\nimport useWindowDimensions from '../../layoutUtils/useWindowDimensions'\r\n\r\nimport { initializeQuoteQueue } from '../queries/initializeQuoteQueue'\r\nimport {\r\n addQuoteToQueue,\r\n progressQueuesAndAddQuote,\r\n} from '../mutations/addQuote'\r\n\r\nconst Game = () => {\r\n const queryClient = useQueryClient()\r\n const [randomizer, setRandomizer] = useState(Math.random())\r\n const [guessed, setGuessed] = useState(false)\r\n const { width: windowWidth } = useWindowDimensions()\r\n\r\n const { data: quoteQueue, status } = initializeQuoteQueue()\r\n const { mutate: addQuote } = addQuoteToQueue(queryClient)\r\n const { mutate: progressQuoteQueue } = progressQueuesAndAddQuote(\r\n addQuote,\r\n queryClient\r\n )\r\n\r\n const handleProgressQueue = () => {\r\n setRandomizer(Math.random())\r\n progressQuoteQueue()\r\n setGuessed(false)\r\n }\r\n\r\n const mainStyle = () => {\r\n const gridTemplateRows =\r\n windowWidth < 600 ? '45vh 20vh 10vh' : '35vh 44vh 5vh'\r\n return {\r\n display: 'grid',\r\n girdTemplateColumns: '30vw 70vw',\r\n gridTemplateRows,\r\n backgroundColor: 'white',\r\n }\r\n }\r\n\r\n if (status === 'loading' || status === 'error') {\r\n return
{status}
\r\n }\r\n\r\n const [{ author, image_url, snippet, quote, false_quote }] = quoteQueue\r\n\r\n return (\r\n
\r\n \r\n\r\n \r\n \r\n
\r\n )\r\n}\r\n\r\nexport default Game\r\n","import { useQuery } from '@tanstack/react-query'\r\nimport { getQuotes } from '../services/quoteService'\r\nimport { getLocalStorageQueue } from '../services/localStorage'\r\n\r\n// return local storage, if none fetches three quotes to prime the queue\r\n\r\nexport const initializeQuoteQueue = () => {\r\n return useQuery({\r\n queryKey: ['quote-queue'],\r\n queryFn: getQuotes,\r\n initialData: getLocalStorageQueue(),\r\n staleTime: Infinity,\r\n })\r\n}\r\n","import { useMutation } from '@tanstack/react-query'\r\nimport {\r\n addQuoteToQueues,\r\n monitorQueueLength,\r\n progressQueryQueue,\r\n} from './helpers'\r\nimport { getQuote } from '../services/quoteService'\r\n\r\nexport const addQuoteToQueue = (queryClient) => {\r\n return useMutation({\r\n mutationFn: getQuote,\r\n onSuccess: (newQuote) => addQuoteToQueues(newQuote, queryClient),\r\n })\r\n}\r\n\r\nexport const progressQueuesAndAddQuote = (addQuote, queryClient) => {\r\n return useMutation({\r\n mutationFn: getQuote,\r\n onMutate: () => progressQueryQueue(queryClient),\r\n onSuccess: (newQuote) => addQuoteToQueues(newQuote, queryClient),\r\n onSettled: () => monitorQueueLength(addQuote, queryClient),\r\n })\r\n}\r\n","import React from 'react'\nimport { QueryClient, QueryClientProvider } from '@tanstack/react-query'\nimport { ReactQueryDevtools } from '@tanstack/react-query-devtools'\n\nimport Game from './Game'\n\nconst queryClient = new QueryClient()\n\nconst Main = () => (\n \n \n \n)\n\nexport default Main\n","import ReactOnRails from 'react-on-rails';\n\nimport Main from '../bundles/Main/components/Main';\n\nReactOnRails.register({\n Main,\n});\n"],"names":["useWindowDimensions","windowDimensions","setWindowDimensions","useState","width","window","innerWidth","height","innerHeight","useEffect","updateWindowDimensions","addEventListener","removeEventListener","csrfTokenCache","getCsrfToken","token","document","querySelector","getAttribute","getApiHeaders","tryTokenAuth","headers","sessionToken","getSessionToken","sessionData","localStorage","getItem","JSON","parse","Image","imageUrl","source","no_image","React","style","overflow","src","objectFit","objectPosition","alt","Snippet","name","snippet","windowWidth","fontSize","margin","maxHeight","Author","display","gridTemplateColumns","paddingBottom","Quote","quote","handleClick","index","revealStyle","borderRadius","border","onClick","padding","cursor","setLocalStorageQueue","quoteQueue","setItem","stringify","getLocalStorageQueue","queue","Quotes","falseQuote","guessed","setGuessed","randomizer","queryClient","useQueryClient","isCorrect","idx","quotesArr","borderColor","async","config","body","score_type","data","axios","post","postScore","existingQueue","getQueryData","a","rest","progressLocalStorageQueue","gridRowStart","flexDirection","justifyContent","alignItems","gap","overflowX","map","key","NextQueueBtn","progressQueue","getQuote","get","getQuotes","quotes","i","push","addQuoteToQueues","newQuote","setQueryData","newQueue","concat","Game","setRandomizer","Math","random","status","useQuery","queryKey","queryFn","initialData","staleTime","Infinity","mutate","addQuote","useMutation","mutationFn","onSuccess","addQuoteToQueue","progressQuoteQueue","progressQueuesAndAddQuote","onMutate","_","progressQueryQueue","onSettled","monitorQueueLength","length","author","image_url","false_quote","girdTemplateColumns","gridTemplateRows","backgroundColor","ProgressQueueBtn","handleProgressQueue","QueryClient","Main","QueryClientProvider","client","ReactOnRails"],"sourceRoot":""}