{"version":3,"sources":["components/Genres/Genres.module.scss","components/GraphLoader/GraphLoader.tsx","App.theme.ts","components/ScrollingText/ScrollingText.tsx","components/Texts/CardTitle/CardTitle.tsx","components/Genres/Genres.tsx","actions/chat.ts","actions/app.ts","actions/index.ts","components/Texts/CardTitle/CardTitle.module.scss","actions/actionTypes.ts","mySocket.ts","components/Buttons/ThemeToggle/ThemeToggle.tsx","components/NavBar/NavBar.tsx","views/Books/Books.tsx","App.tsx","serviceWorker.ts","index.tsx","views/Books/Books.module.scss","config.ts","components/PageLoader/PageLoader.module.scss","store/reducers/appReducer.ts","store/reducers/chatReducer.ts","store/reducers/index.ts","sagas/app.ts","sagas/chat.ts","sagas/index.ts","store/storeManager.ts","constants/colors.ts","components/NavBar/NavBar.module.scss","api/axiosAdapters.ts","api/baseCall.ts","api/calls/index.ts","api/calls/getBasicData.ts","api/calls/getMarkdown.ts","api/calls/getList.ts","api/calls/getChats.ts","api/calls/sendMessage.ts","api/calls/getMessages.ts","api/calls/initConnection.ts","api/calls/getJSON.ts","constants/variables.ts","components/Buttons/ThemeToggle/ThemeToggle.module.scss","components/PageLoader/PageLoader.theme.ts","components/PageLoader/PageLoader.tsx","util/index.ts","App.module.scss"],"names":["module","exports","GraphLoader","props","loadingComp","_jsx","PageLoader","message","loadingMsg","errorComp","children","noDataComp","loading","error","console","hideOnError","data","React","cloneElement","GlobalStyleCSS","dark","colors","backgroundColor","color","textColor","light","GlobalStyle","createGlobalStyle","_templateObject","_taggedTemplateLiteral","storeManager","getCurrentTheme","ThemeManager","constructor","currentTheme","this","ScrollingText","parent","useRef","text","shouldScroll","scroll","useState","useEffect","current","parentWidth","offsetWidth","scrollWidth","textComponent","ref","className","Marquee","gradient","play","pauseOnHover","CardTitle","release","concat","title","classes","Title","join","Genres","genres","map","genre","style","Genre","name","id","storeSingleMsg","type","CHAT","STORE","payload","storeMultipleMsgs","STORE_MULTIPLE","sendMsgRequesting","SEND_REQUESTING","sendMsgRequested","SEND_REQUESTED","sendMsgSuccess","SEND_SUCCESS","toggleTheme","APP","TOGGLE_THEME","loadAppStart","LOAD_APP_START","loadAppDone","LOAD_APP_DONE","requestBasicData","GET_BASIC_DATE_REQUEST","responseBasicData","GET_BASIC_DATE_SUCCESS","actions","chat","app","defaultTypes","createRequestTypes","base","res","arguments","length","undefined","forEach","socket","events","NEW_MESSAGE","e","EventEmitter","handleError","err","log","init","socketIOClient","config","backEndBaseUrl","reconnection","reconnectionAttempts","reconnectionDelay","on","emit","dispatch","Promise","connected","getSocket","connect","state","appState","appReducer","actionTypes","currentBtnClass","appTheme","dawn","dusk","ThemeToggle","onClick","_jsxs","width","height","viewBox","cx","cy","r","d","currentResetter","timeout","totalClicked","connectionId","localStorage","getItem","variables","avatarClass","changeAvatarClass","history","useHistory","mySocket","addListener","NoSocket","Connected","setTimeout","clearTimeout","bind","useLongPress","then","NavBar","Button","handleShowVersion","alert","getAppVersion","process","Avatar","cursor","push","paddingTop","GET_MOVIES","gql","Books","window","scrollTo","useQuery","Card","review","Rating","precision","value","book","myRating","readOnly","size","fontSize","Book","isReading","ReadingBadge","Cover","src","cover","alt","Details","Author","BorderColorOutlined","AuthorIcon","author","Root","books","Error404","lazy","Home","Chat","List","Markdown","Gallery","Movies","Music","Travels","Router","Container","maxWidth","ThemeProvider","theme","mode","App","Content","Suspense","fallback","Switch","Route","exact","path","component","Boolean","location","hostname","match","client","ApolloClient","uri","cache","InMemoryCache","ReactDOM","render","ApolloProvider","Provider","store","StrictMode","document","getElementById","navigator","serviceWorker","ready","registration","unregister","catch","_connectionId","setItem","initialState","isAppLoaded","basicData","action","messages","sendingMsg","chatReducer","rootReducer","combineReducers","put","handleLoadAppStart","call","apiCalls","getBasicData","msgs","getMessages","appSaga","takeEvery","chatSaga","types","handleIncomingMsg","wait","response","sendMessage","handleSendMsg","rootSaga","all","configure","sagaMiddleware","createSagaMiddleware","createStore","applyMiddleware","logger","__REDUX_DEVTOOLS_EXTENSION__","run","getState","common","primaryGreenishColor","backendAxios","axios","create","baseURL","headers","clientId","interceptors","use","reject","axiosAdapters","BaseCall","method","description","_baseCall","url","body","additionalHeaders","includes","toLowerCase","Error","request","requestId","httpCode","errors","flag","getMarkdown","getList","getChat","content","_this","page","initConnection","getJSON","GlobalStyleCss","Loader","Triangle","points","x","y","TextDiv","Typist","show","numOfSec","packageJson","version"],"mappings":"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","file":"static/js/main.9180bab1.chunk.js","sourcesContent":["// extracted by mini-css-extract-plugin\nmodule.exports = {\"clearfix\":\"Genres_clearfix__3cl7L\",\"Genres\":\"Genres_Genres__3cgTB\",\"Genre\":\"Genres_Genre__l8tBS\"};","import React from 'react';\nimport { ApolloError } from '@apollo/client';\n\nimport PageLoader from '../PageLoader/PageLoader';\n\nexport default function GraphLoader(props: { loading: boolean; loadingMsg?: string; error?: ApolloError; data: any; children: JSX.Element; hideOnError?: boolean }) {\n const loadingComp = ;\n const errorComp =

Error Happened

;\n const noDataComp =

No Data Found

;\n\n if (props.loading) return loadingComp;\n if (props.error) {\n console.error(props.error);\n if (props.hideOnError) return null;\n\n return errorComp;\n }\n if (!props.data) return noDataComp;\n\n return React.cloneElement(props.children, { ...props.data });\n}\n","import { createGlobalStyle } from 'styled-components';\n\nimport colors from './constants/colors';\nimport storeManager from './store/storeManager';\n\nconst GlobalStyleCSS: any = {\n dark: {\n 'background-color': colors.dark.backgroundColor,\n color: colors.dark.textColor,\n },\n light: {\n 'background-color': colors.light.backgroundColor,\n color: colors.light.textColor,\n },\n};\n\nexport const GlobalStyle = createGlobalStyle`\nbody {\n background-color: ${() => GlobalStyleCSS[storeManager.getCurrentTheme()]['background-color']};\n color: ${() => GlobalStyleCSS[storeManager.getCurrentTheme()]['color']};\n}\n`;\n\nexport class ThemeManager {\n currentTheme: 'light' | 'dark';\n\n constructor() {\n this.currentTheme = storeManager.getCurrentTheme();\n }\n}\n","import React, { useState, useRef, useEffect } from 'react';\nimport Marquee from 'react-fast-marquee';\n\nimport './ScrollingText.scss';\n\nexport default function ScrollingText(props: { text: string; className?: string }) {\n const parent = useRef(null);\n const text = useRef(null);\n const [shouldScroll, scroll] = useState(false);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => {\n if (parent.current && text.current) {\n const parentWidth = (parent.current as any).offsetWidth;\n const textWidth = (text.current as any).scrollWidth;\n\n if (textWidth > parentWidth) {\n scroll(true);\n }\n }\n });\n\n const textComponent = (\n

\n {props.text}\n

\n );\n\n return (\n
\n \n {textComponent}\n \n
\n );\n}\n","import React from 'react';\nimport ScrollingText from 'src/components/ScrollingText/ScrollingText';\n\nimport classes from './CardTitle.module.scss';\n\nfunction CardTitle(props: { title: string; release?: string; className?: string }) {\n const text = props.release ? `${props.title} (${props.release})` : props.title;\n return (\n
\n \n
\n );\n}\n\nexport default CardTitle;\n","import React from 'react';\n\nimport classes from './Genres.module.scss';\n\nfunction Genres(props: {\n className?: string;\n genres: {\n id: string;\n name: string;\n color: string;\n }[];\n}) {\n return (\n
\n {props.genres.map(genre => (\n \n {genre.name}\n \n ))}\n
\n );\n}\n\nexport default Genres;\n","import { IApiResponses } from 'src/interfaces/apiResponse';\nimport { CHAT } from './actionTypes';\n\nexport const storeSingleMsg = (data: IApiResponses.ISendMessage) => ({\n type: CHAT.STORE,\n payload: data,\n});\n\nexport const storeMultipleMsgs = (data: IApiResponses.ISendMessage[]) => ({\n type: CHAT.STORE_MULTIPLE,\n payload: data,\n});\n\nexport const sendMsgRequesting = (text: string) => ({\n type: CHAT.SEND_REQUESTING,\n payload: text,\n});\n\nexport const sendMsgRequested = () => ({\n type: CHAT.SEND_REQUESTED,\n});\n\nexport const sendMsgSuccess = () => ({\n type: CHAT.SEND_SUCCESS,\n});\n","import { APP } from './actionTypes';\n\nexport const toggleTheme = () => ({\n type: APP.TOGGLE_THEME,\n});\n\nexport const loadAppStart = () => ({\n type: APP.LOAD_APP_START,\n});\n\nexport const loadAppDone = () => ({\n type: APP.LOAD_APP_DONE,\n});\n\nexport const requestBasicData = () => ({\n type: APP.GET_BASIC_DATE_REQUEST,\n});\n\nexport const responseBasicData = (payload: any) => ({\n type: APP.GET_BASIC_DATE_SUCCESS,\n payload,\n});\n","import * as chat from './chat';\nimport * as app from './app';\nexport * as actionTypes from './actionTypes';\n\nconst actions = {\n chat,\n app,\n};\n\nexport default actions;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Title\":\"CardTitle_Title__3fxsf\"};","const REQUEST = 'REQUEST';\nconst SUCCESS = 'SUCCESS';\nconst FAILURE = 'FAILURE';\nconst defaultTypes = [REQUEST, SUCCESS, FAILURE] as const;\ntype DefaultTypes = typeof defaultTypes[number];\n\n/**\n * PROFILE -> { REQUEST: 'PROFILE_REQUEST', SUCCESS: 'PROFILE_SUCCESS', FAILURE: 'PROFILE_FAILURE' }\n * \"PROFILE\", [\"FOO\", \"BAR\"] -> { FOO: 'PROFILE_FOO', BAR: 'PROFILE_BAR' }\n */\nfunction createRequestTypes(base: string, types = defaultTypes as any): Record {\n const res: Record = {};\n types.forEach((type: string) => (res[type] = `${base}_${type}`));\n return res;\n}\n\nexport const CHAT = createRequestTypes<'STORE' | 'STORE_MULTIPLE' | 'SEND' | 'SEND_REQUESTING' | 'SEND_REQUESTED' | 'SEND_SUCCESS'>('CHAT', [\n 'STORE',\n 'STORE_MULTIPLE',\n 'SEND',\n 'SEND_REQUESTING',\n 'SEND_REQUESTED',\n 'SEND_SUCCESS',\n]);\n\nexport const APP = createRequestTypes<'TOGGLE_THEME' | 'GET_BASIC_DATE_REQUEST' | 'GET_BASIC_DATE_SUCCESS' | 'LOAD_APP_START' | 'LOAD_APP_DONE'>('APP', [\n 'TOGGLE_THEME',\n 'GET_BASIC_DATE_REQUEST',\n 'GET_BASIC_DATE_SUCCESS',\n 'LOAD_APP_START',\n 'LOAD_APP_DONE',\n]);\n","// @ts-nocheck\nimport socketIOClient, { Socket } from 'socket.io-client';\nimport EventEmitter from 'events';\n\nimport config from './config';\nimport actions from './actions';\nimport { IApiResponses } from 'src/interfaces/apiResponse';\nimport storeManager from 'src/store/storeManager';\n\nclass MySocket {\n private socket!: Socket;\n public events = {\n NEW_MESSAGE: 'NEW_MESSAGE',\n };\n\n e = new EventEmitter();\n\n async init(): Promise {\n this.socket = socketIOClient(config.backEndBaseUrl, {\n reconnection: false,\n reconnectionAttempts: 5,\n reconnectionDelay: 10000,\n });\n\n const socket = this.socket;\n\n socket.on('connect', () => {\n this.e.emit('connect');\n console.log(`socket connection established: ${this.socket.id}`);\n });\n socket.on('disconnect', () => {\n console.log(`socket disconnected`);\n this.e.emit('disconnect');\n });\n socket.on('connect_error', error => {\n this.handleError(error);\n });\n socket.on('reconnect_error', error => {\n this.handleError(error);\n });\n socket.on('error', error => {\n this.handleError(error);\n });\n\n socket.on(this.events.NEW_MESSAGE, (data: IApiResponses.ISendMessage) => {\n storeManager.dispatch(actions.chat.storeSingleMsg(data));\n });\n\n return new Promise(res => {\n if (this.socket.connected) res(this.socket);\n else socket.on('SOCKET_CONNECTED', () => res(this.socket));\n });\n }\n\n getSocket() {\n return this.socket;\n }\n\n handleError = (err: Error) => {\n console.log(`socket err`, err.message);\n };\n}\n\nexport default new MySocket();\n","import React from 'react';\nimport { connect } from 'react-redux';\n\nimport { actionTypes } from 'src/actions';\nimport classes from './ThemeToggle.module.scss';\n\nconst ThemeToggle = (props: any) => {\n const { appState, toggleTheme } = props;\n\n const currentBtnClass = appState.appTheme === 'dark' ? classes.dawn : classes.dusk;\n\n return (\n \n );\n};\n\nconst mapStateToProps = (state: any) => ({ appState: state.appReducer });\nconst mapDispatchToProps = (dispatch: any) => ({\n toggleTheme: () => dispatch({ type: actionTypes.APP.TOGGLE_THEME }),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(ThemeToggle);\n","import React, { useState, useEffect } from 'react';\nimport { Avatar } from '@material-ui/core';\nimport { connect } from 'react-redux';\nimport { useHistory } from 'react-router-dom';\nimport { useLongPress } from 'use-long-press';\n\nimport classes from './NavBar.module.scss';\nimport variables from 'src/constants/variables';\nimport mySocket from 'src/mySocket';\nimport config from 'src/config';\nimport { getAppVersion } from 'src/util';\nimport ThemeToggle from 'src/components/Buttons/ThemeToggle/ThemeToggle';\n\nlet totalClicked = 0;\nlet currentResetter: NodeJS.Timeout;\nlet timeout: NodeJS.Timeout;\n\nconst resetClick = () => {\n if (currentResetter) clearTimeout(currentResetter);\n currentResetter = setTimeout(() => {\n totalClicked = 0;\n }, 500);\n};\n\nconst NavBar = (props: any) => {\n const { appState } = props;\n const connectionId = localStorage.getItem(variables.connectionId);\n const [avatarClass, changeAvatarClass] = useState('');\n\n const history = useHistory();\n\n useEffect(() => {\n mySocket.e.addListener('disconnect', () => {\n changeAvatarClass(classes.NoSocket);\n console.log('disconnect from navbar');\n });\n\n mySocket.e.addListener('connect', () => {\n changeAvatarClass(classes.Connected);\n timeout = setTimeout(() => {\n changeAvatarClass('');\n }, 5000);\n\n console.log('conect from navbar');\n });\n\n return () => {\n if (timeout) clearTimeout(timeout);\n };\n }, []);\n\n const handleShowVersion = () => {\n ++totalClicked;\n resetClick();\n\n const socket = mySocket.getSocket();\n\n if (totalClicked >= 7)\n alert(`\nWow. You've discovered it!\n--------------------------\nVersion: ${getAppVersion()}\nEnvironment: ${process.env.NODE_ENV}\nAPI Server: ${config.backEndBaseUrl}\nSocket ID: ${socket.id}\nConnection ID: ${connectionId}\n`);\n };\n\n const bind = useLongPress(() => {\n const socket = mySocket.getSocket();\n if (!socket.id) {\n mySocket.init().then(() => {\n console.log('socket reconnected');\n });\n } else console.log('socket already connected');\n });\n\n return (\n \n );\n};\n\nconst mapStateToProps = (state: any) => ({ appState: state.appReducer });\n\nexport default connect(mapStateToProps, null)(NavBar);\n","import React from 'react';\nimport { useQuery, gql } from '@apollo/client';\nimport Rating from '@material-ui/lab/Rating';\nimport { BorderColorOutlined } from '@material-ui/icons';\n\nimport GraphLoader from 'src/components/GraphLoader/GraphLoader';\nimport classes from './Books.module.scss';\nimport CardTitle from 'src/components/Texts/CardTitle/CardTitle';\nimport Genres from 'src/components/Genres/Genres';\nimport { useEffect } from 'react';\n\nconst GET_MOVIES = gql`\n query {\n books {\n id\n title\n author\n myRating\n genres {\n id\n name\n color\n }\n cover\n isReading\n }\n }\n`;\n\ninterface Book {\n id: string;\n title: string;\n author: string;\n myRating: number;\n genres: {\n id: string;\n name: string;\n color: string;\n }[];\n cover: string;\n isReading: boolean;\n}\n\nfunction Books() {\n useEffect(() => {\n window.scrollTo(0, 0);\n }, []);\n const { loading, error, data } = useQuery<{ books: Book[] }>(GET_MOVIES);\n\n const Card = (props: { book: Book }) => {\n const review = (\n
\n \n
\n );\n\n return (\n
  • \n {props.book.isReading &&
    Reading
    }\n
    \n \"book-cover\"\n
    \n
    \n \n
    \n \n {props.book.author}\n
    \n {!props.book.isReading && review}\n \n
    \n
  • \n );\n };\n\n return (\n
    \n \n
    \n

    Books I've read so far

    \n
    \n
      \n {data?.books.map((book: Book) => (\n \n ))}\n
    \n
    \n
    \n
    \n );\n}\n\nexport default Books;\n","import React, { useEffect, lazy, Suspense } from 'react';\nimport { ThemeProvider } from 'styled-components';\nimport { connect } from 'react-redux';\nimport { Container } from '@material-ui/core';\nimport { BrowserRouter as Router, Route, Switch } from 'react-router-dom';\n// import Particles from 'react-particles-js';\n\nimport './App.scss';\nimport './assets/sass/main.scss';\nimport classes from './App.module.scss';\nimport { GlobalStyle } from './App.theme';\n\n// import UnderDevelopment from './views/UnderDevelopment/UnderDevelopment';\n// import perticlesConfig from './perticles';\n// import SocketLayer from './components/SocketLayer/SocketLayer';\n\nimport { IReducers } from 'src/interfaces/reducers';\n// import actions from './actions';\n// import config from './config';\n// import storeManager from 'src/store/storeManager';\n// import apiCalls from 'src/api/calls';\n\nimport NavBar from 'src/components/NavBar/NavBar';\nimport PageLoader from 'src/components/PageLoader/PageLoader';\nimport mySocket from 'src/mySocket';\nimport Books from './views/Books/Books';\n\nconst Error404 = lazy(() => import('src/views/Error404/Error404'));\nconst Home = lazy(() => import('src/views/Home/Home'));\nconst Chat = lazy(() => import('src/views/Chat/Chat'));\nconst List = lazy(() => import('src/views/List/List'));\nconst Markdown = lazy(() => import('src/views/Markdown/Markdown'));\nconst Gallery = lazy(() => import('src/views/Gallery/Gallery'));\nconst Movies = lazy(() => import('src/views/Movies/Movies'));\nconst Music = lazy(() => import('src/views/Music/Music'));\nconst Travels = lazy(() => import('src/views/Travels/Travels'));\n\nfunction App(props: any) {\n const appState: IReducers.IAppReducer = props.appState;\n // const { basicData, isAppLoaded } = appState;\n\n // useEffect(() => {\n // apiCalls.initConnection.call(config.connectionId).then(({ data: connectionData }) => {\n // if (connectionData.isNewConnection) {\n // config.connectionId = connectionData.connection._id;\n // window.location.reload();\n // }\n // if (!isAppLoaded) storeManager.dispatch(actions.app.loadAppStart());\n // });\n\n // // eslint-disable-next-line react-hooks/exhaustive-deps\n // }, []);\n\n useEffect(() => {\n mySocket.init().then(() => {\n console.log('success socket');\n });\n }, []);\n\n return (\n \n {/* */}\n \n \n \n
    \n \n
    \n }>\n \n } />\n } />\n } />\n } />\n } />\n } />\n } />\n } />\n } />\n } />\n \n \n
    \n
    \n
    \n
    \n
    \n );\n}\n\nconst mapStateToProps = (state: any) => ({ appState: state.appReducer });\n\nexport default connect(mapStateToProps, null)(App);\n","/* eslint-disable */\n\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.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\nexport function register(config: any) {\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('This web app is being served cache-first by a service ' + 'worker. To learn more, visit https://bit.ly/CRA-PWA');\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl: any, config: any) {\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('New content is available and will be used when all ' + 'tabs for this page are closed. See https://bit.ly/CRA-PWA.');\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: any, config: any) {\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 { ApolloClient, InMemoryCache, ApolloProvider } from '@apollo/client';\n\nimport App from './App';\nimport storeManager from 'src/store/storeManager';\nimport * as serviceWorker from './serviceWorker';\nimport config from 'src/config';\n\nconst client = new ApolloClient({\n uri: `${config.backEndBaseUrl}/graph`,\n cache: new InMemoryCache(),\n});\n\nReactDOM.render(\n \n \n \n \n \n \n ,\n document.getElementById('InshaAllah-one-day-I-will-work-at-google'),\n);\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","// extracted by mini-css-extract-plugin\nmodule.exports = {\"clearfix\":\"Books_clearfix__2ziiy\",\"Cover\":\"Books_Cover__2yZPF\",\"Root\":\"Books_Root__2J764\",\"Books\":\"Books_Books__3D-dj\",\"Book\":\"Books_Book__2qDCL\",\"ReadingBadge\":\"Books_ReadingBadge__1-37M\",\"Details\":\"Books_Details__Ep3li\",\"Title\":\"Books_Title__UXKyy\",\"Author\":\"Books_Author__3DTGY\",\"AuthorIcon\":\"Books_AuthorIcon__1a4J_\",\"Rating\":\"Books_Rating__K_-rt\",\"Genres\":\"Books_Genres__2iRVc\"};","import variables from 'src/constants/variables';\n\nclass Config {\n public backEndBaseUrl = process.env.REACT_APP_API_SERVER || 'http://localhost:3001';\n private _connectionId: string | null = localStorage.getItem(variables.connectionId);\n\n public get connectionId() {\n return this._connectionId as string;\n }\n\n public set connectionId(value: string) {\n localStorage.setItem(variables.connectionId, value);\n this._connectionId = value;\n }\n}\n\nexport default new Config();\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"PageLoader\":\"PageLoader_PageLoader__3SxS9\",\"TextDiv\":\"PageLoader_TextDiv__3hIMb\",\"Loader\":\"PageLoader_Loader__WLlL6\",\"dotRect\":\"PageLoader_dotRect__1Q3b2\",\"pathTriangle\":\"PageLoader_pathTriangle__3g7g-\",\"pathRect\":\"PageLoader_pathRect__p7H0Y\",\"pathCircle\":\"PageLoader_pathCircle__FUUqT\",\"Triangle\":\"PageLoader_Triangle__1Z_TR\",\"dotTriangle\":\"PageLoader_dotTriangle__2OYsD\"};","import { actionTypes } from 'src/actions';\nimport { IReducers } from 'src/interfaces/reducers';\n\nconst initialState: IReducers.IAppReducer = {\n appTheme: 'dark',\n isAppLoaded: false,\n basicData: null,\n};\n\nconst appReducer = (state = initialState, action: any): typeof initialState => {\n if (action.type === actionTypes.APP.TOGGLE_THEME) return { ...state, appTheme: state.appTheme === 'dark' ? 'light' : 'dark' };\n\n if (action.type === actionTypes.APP.GET_BASIC_DATE_SUCCESS) return { ...state, basicData: action.payload };\n\n if (action.type === actionTypes.APP.LOAD_APP_DONE) return { ...state, isAppLoaded: true };\n\n return state;\n};\n\nexport default appReducer;\n","import { actionTypes } from 'src/actions';\nimport { IReducers } from 'src/interfaces/reducers';\n\nconst initialState: IReducers.IChatReducer = {\n messages: [],\n sendingMsg: false,\n};\n\nconst chatReducer = (state = initialState, action: any) => {\n if (action.type === actionTypes.CHAT.STORE) return { ...state, messages: state.messages.concat(action.payload) };\n\n if (action.type === actionTypes.CHAT.STORE_MULTIPLE) return { ...state, messages: state.messages.concat(action.payload) };\n\n if (action.type === actionTypes.CHAT.SEND_REQUESTED) return { ...state, sendingMsg: true };\n\n if (action.type === actionTypes.CHAT.SEND_SUCCESS) return { ...state, sendingMsg: false };\n\n return state;\n};\n\nexport default chatReducer;\n","import { combineReducers } from 'redux';\n\nimport appReducer from './appReducer';\nimport chatReducer from './chatReducer';\n\nconst rootReducer = combineReducers({\n appReducer,\n chatReducer,\n});\n\nexport default rootReducer;\n","import { call, put, takeEvery } from 'redux-saga/effects';\n\nimport actions, { actionTypes } from 'src/actions';\nimport apiCalls from 'src/api/calls';\n\nconst toggleTheme = () => {\n put(actions.app.toggleTheme());\n};\n\nfunction* handleLoadAppStart(): {} {\n try {\n const { data: basicData } = yield call(apiCalls.getBasicData.call);\n yield put(actions.app.responseBasicData(basicData));\n const { data: msgs } = yield call(apiCalls.getMessages.call);\n yield put(actions.chat.storeMultipleMsgs(msgs));\n yield put(actions.app.loadAppDone());\n } catch (error) {\n console.log((error as any).message);\n // config.connectionId = '';\n // window.location.reload();\n }\n}\n\nconst appSaga = function* root() {\n yield takeEvery(actionTypes.APP.TOGGLE_THEME, toggleTheme);\n yield takeEvery(actionTypes.APP.LOAD_APP_START, handleLoadAppStart);\n};\n\nexport default appSaga;\n","import { put, takeEvery, call } from 'redux-saga/effects';\n\nimport actions from 'src/actions';\nimport * as types from 'src/actions/actionTypes';\nimport apiCalls from 'src/api/calls';\nimport { wait } from 'src/util';\n\nconst handleIncomingMsg = (data: ReturnType) => {\n put(actions.chat.storeSingleMsg(data.payload));\n};\n\nfunction* handleSendMsg(data: ReturnType): {} {\n try {\n yield put(actions.chat.sendMsgRequested());\n yield call(wait, 1);\n yield put(actions.chat.sendMsgSuccess());\n const response = yield call(apiCalls.sendMessage.call, data.payload);\n yield put(actions.chat.storeSingleMsg(response.data));\n } catch (error) {}\n}\n\nconst chatSaga = function* root() {\n yield takeEvery(types.CHAT.STORE, (data: any) => handleIncomingMsg(data));\n yield takeEvery(types.CHAT.SEND_REQUESTING, (text: any) => handleSendMsg(text));\n};\n\nexport default chatSaga;\n","import { all } from 'redux-saga/effects';\n\nimport appSaga from './app';\nimport chatSaga from './chat';\n\nconst rootSaga = function* root() {\n yield all([chatSaga(), appSaga()]);\n};\n\nexport default rootSaga;\n","import { applyMiddleware, createStore } from 'redux';\nimport createSagaMiddleware from 'redux-saga';\nimport { logger } from 'redux-logger';\n\nimport rootReducer from './reducers';\nimport rootSaga from '../sagas';\n\nclass StoreManager {\n private configure = () => {\n const sagaMiddleware = createSagaMiddleware();\n const store = createStore(rootReducer, applyMiddleware(sagaMiddleware, logger));\n (window as any).__REDUX_DEVTOOLS_EXTENSION__ && (window as any).__REDUX_DEVTOOLS_EXTENSION__();\n\n sagaMiddleware.run(rootSaga);\n return store;\n };\n\n public store = this.configure();\n\n public getCurrentTheme = () => this.store.getState().appReducer.appTheme;\n\n public dispatch = (action: { type: string; payload?: any }) => {\n this.store.dispatch(action);\n };\n}\n\nconst storeManager = new StoreManager();\n\nexport default storeManager;\n","const colors = {\n common: {\n primaryGreenishColor: '#19a974',\n },\n dark: {\n backgroundColor: '#111',\n textColor: '#eee',\n },\n light: {\n backgroundColor: '#fff',\n textColor: '#404040',\n },\n};\n\nexport default colors;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"clearfix\":\"NavBar_clearfix__XZzFC\",\"NavBar\":\"NavBar_NavBar__Cqnef\",\"Button\":\"NavBar_Button__3Smnu\",\"Avatar\":\"NavBar_Avatar__2jRy4\",\"NoSocket\":\"NavBar_NoSocket__1_nX0\",\"Connected\":\"NavBar_Connected__2HNkV\"};","import axios from 'axios';\n\nimport config from 'src/config';\n\nconst backendAxios = axios.create({\n baseURL: config.backEndBaseUrl,\n headers: {\n clientId: 'client1',\n },\n});\n\nbackendAxios.interceptors.response.use(\n res => res,\n function (error) {\n return Promise.reject(error);\n },\n);\n\nconst axiosAdapters = {\n backendAxios,\n};\n\nexport default axiosAdapters;\n","import { AxiosInstance, Method } from 'axios';\n\nimport config from 'src/config';\n\nexport abstract class BaseCall {\n constructor(private axios: AxiosInstance) {}\n\n abstract method: string;\n abstract name: string;\n abstract description: string;\n\n async _baseCall(url: string, body?: Record, additionalHeaders?: Record) {\n if (!['get', 'post', 'put', 'delete'].includes(this.method.toLowerCase())) throw new Error(`method (${this.method}) not supported for api: ${this.name}`);\n\n const response = await this.axios.request({\n method: this.method.toLowerCase() as Method,\n url,\n data: { ...body },\n headers: {\n ...additionalHeaders,\n 'connection-id': config.connectionId,\n },\n });\n\n const { requestId, httpCode, data, errors, message, flag } = response.data as any;\n\n const dataToReturn: {\n httpCode: number;\n requestId: string;\n errors: string[];\n data: ResponseType;\n message: string;\n flag?: string;\n } = {\n httpCode,\n requestId,\n data,\n errors,\n message,\n flag,\n };\n\n return dataToReturn;\n }\n}\n","import axiosAdapters from 'src/api/axiosAdapters';\nimport { GetBasicData } from './getBasicData';\nimport { GetList } from './getList';\nimport { GetMarkdown } from './getMarkdown';\nimport { GetChats } from './getChats';\nimport { SendMessage } from './sendMessage';\nimport { GetMessages } from './getMessages';\nimport { InitConnection } from './initConnection';\nimport { GetJSON } from './getJSON';\n\nconst apiCalls = {\n getBasicData: new GetBasicData(axiosAdapters.backendAxios),\n getMarkdown: new GetMarkdown(axiosAdapters.backendAxios),\n getList: new GetList(axiosAdapters.backendAxios),\n getChat: new GetChats(axiosAdapters.backendAxios),\n sendMessage: new SendMessage(axiosAdapters.backendAxios),\n getMessages: new GetMessages(axiosAdapters.backendAxios),\n initConnection: new InitConnection(axiosAdapters.backendAxios),\n getJSON: new GetJSON(axiosAdapters.backendAxios),\n};\n\nexport default apiCalls;\n","import { BaseCall } from 'src/api/baseCall';\nimport { IApiResponses } from 'src/interfaces/apiResponse';\n\nexport class GetBasicData extends BaseCall {\n public method = 'GET';\n public name = 'Get basic data api api';\n public description = 'Get basic data';\n\n call = () => {\n return this._baseCall(`/visitor/basic-data`);\n };\n}\n","import { BaseCall } from 'src/api/baseCall';\nimport { IApiResponses } from 'src/interfaces/apiResponse';\n\nexport class GetMarkdown extends BaseCall {\n public method = 'GET';\n public name = 'Get markdown api';\n public description = 'Get markdown by mongodb object id';\n\n call = (id: string) => {\n return this._baseCall(`/visitor/md/${id}`);\n };\n}\n","import { BaseCall } from 'src/api/baseCall';\nimport { IApiResponses } from 'src/interfaces/apiResponse';\n\nexport class GetList extends BaseCall {\n public method = 'GET';\n public name = 'Get list api';\n public description = 'Get list of some type of items';\n\n call = (type: string) => {\n return this._baseCall(`/visitor/list/${type}`);\n };\n}\n","import { BaseCall } from 'src/api/baseCall';\nimport { IApiResponses } from 'src/interfaces/apiResponse';\n\nexport class GetChats extends BaseCall {\n public method = 'GET';\n public name = 'Get chats api';\n public description = 'get all chats api. all tho visitor api supposed to get only one chat (with admin)';\n\n call = () => {\n return this._baseCall(`/visitor/chats`);\n };\n}\n","import { BaseCall } from 'src/api/baseCall';\nimport { IApiResponses } from 'src/interfaces/apiResponse';\n\nexport class SendMessage extends BaseCall {\n public method = 'POST';\n public name = 'Send a message';\n public description = 'Send a message';\n\n call = (content: string) => {\n return this._baseCall(`/visitor/messages`, { content });\n };\n}\n","import { BaseCall } from 'src/api/baseCall';\nimport { IApiResponses } from 'src/interfaces/apiResponse';\n\nexport class GetMessages extends BaseCall {\n public method = 'GET';\n public name = 'get messages';\n public description = 'get message';\n\n call = (page = 1) => {\n return this._baseCall(`/visitor/messages?page=${page}`, {});\n };\n}\n","import { BaseCall } from 'src/api/baseCall';\nimport { IApiResponses } from 'src/interfaces/apiResponse';\n\nexport class InitConnection extends BaseCall {\n public method = 'POST';\n public name = 'Initialize the connection';\n public description = 'get connection details';\n\n call = (connectionId: string) => {\n return this._baseCall(`/visitor/connection`, {\n connectionId,\n });\n };\n}\n","import { BaseCall } from 'src/api/baseCall';\nimport { IApiResponses } from 'src/interfaces/apiResponse';\n\nexport class GetJSON extends BaseCall {\n public method = 'GET';\n public name = 'Get JSON data';\n public description = 'get JSON data by key from redis';\n\n call = (id: string) => {\n return this._baseCall(`/visitor/json/${id}`);\n };\n}\n","const variables = {\n connectionId: 'connection-id',\n};\n\nexport default variables;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"ThemeToggle\":\"ThemeToggle_ThemeToggle__3fbu_\",\"dawn\":\"ThemeToggle_dawn__2t92X\",\"toggle-glyph\":\"ThemeToggle_toggle-glyph__3OhLd\",\"dusk\":\"ThemeToggle_dusk__2bNKq\"};","import { createGlobalStyle } from 'styled-components';\nimport colors from '../../constants/colors';\nimport classes from './PageLoader.module.scss';\n\nconst GlobalStyleCss: any = {\n dark: {\n 'loader-path': '#fff',\n },\n light: {\n 'loader-path': '#2f3545',\n },\n};\n\nexport const GlobalStyle = createGlobalStyle`\n .${classes.Loader} {\n --dot: ${colors.common.primaryGreenishColor};\n --path: ${(props: any) => GlobalStyleCss[props.theme.mode]['loader-path']};;\n }\n`;\n","import React from 'react';\nimport Typist from 'react-typist';\n\nimport classes from './PageLoader.module.scss';\nimport { GlobalStyle } from './PageLoader.theme';\n\nconst PageLoader = (props: { message?: string }) => {\n return (\n
    \n \n\n
    \n
    \n \n \n \n
    \n
    \n \n \n \n
    \n
    \n \n \n \n
    \n
    \n\n {props.message && (\n
    \n \n

    {props.message}

    \n
    \n
    \n )}\n
    \n );\n};\n\nexport default PageLoader;\n","import packageJson from '../../package.json';\n\nexport const wait = (numOfSec: number): Promise => {\n return new Promise(res => {\n setTimeout(() => {\n res();\n }, numOfSec * 1000);\n });\n};\n\nexport const getAppVersion = () => {\n return packageJson.version;\n};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"App\":\"App_App__15LM-\",\"Container\":\"App_Container__3mTNK\",\"Content\":\"App_Content__LFMSe\",\"Particle\":\"App_Particle__IXmJo\"};"],"sourceRoot":""}