{"version":3,"sources":["services/Reaction.service.ts","ColorModeSwitcher.tsx","constants.ts","components/Reaction/Reaction.tsx","components/Reactions/Reactions.tsx","components/Post/Post.tsx","components/Posts/Posts.tsx","utils/utils.ts","components/NewPost/NewPost.tsx","App.tsx","reportWebVitals.ts","serviceWorker.ts","index.tsx"],"names":["REACTION_ACTION","ColorModeSwitcher","props","toggleColorMode","useColorMode","text","useColorModeValue","SwitchIcon","FaMoon","FaSun","size","fontSize","variant","color","marginLeft","onClick","icon","HOST_API","REACTION_MAPPING","ReactionService","performReactionSideEffect","increment","postId","reaction","setReaction","push","count","splice","indexOf","reactionIncrementOrDecrement","includes","Reaction","useState","reactionCountState","setReactionCount","makeReactRequest","reactionAction","axios","post","post_key","action","INCREMENT","DECREMENT","catch","error","console","alert","flexGrow","justifyContent","borderRadius","cursor","css","background","ml","Reactions","reactions","margin","spacing","map","index","Post","w","border","p","pt","pb","align","fontWeight","title","as","username","mt","borderTop","content","id","Posts","posts","fetcher","url","a","fetch","res","ok","Error","json","info","status","NewPost","initialValues","onSubmit","values","setSubmitting","requestOptions","method","headers","body","JSON","stringify","then","mutate","addPost","handleChange","handleSubmit","isSubmitting","isRequired","onChange","value","placeholder","type","disabled","App","useSWR","data","theme","extendTheme","config","useSystemColorMode","initialColorMode","textAlign","minH","justifySelf","m","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","Boolean","window","location","hostname","match","ReactDOM","render","document","getElementById","navigator","serviceWorker","ready","registration","unregister","message"],"mappings":"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","file":"static/js/main.12b15855.chunk.js","sourcesContent":["import { ReactionModel } from \"../models/Post.model\";\n\nconst REACTION_MAPPING: { [key: string]: string[] } = {};\n\nexport enum REACTION_ACTION {\n INCREMENT = 'increment',\n DECREMENT = 'decrement',\n}\n\nexport class ReactionService {\n static performReactionSideEffect = (\n increment: boolean,\n postId: string,\n reaction: ReactionModel,\n setReaction: React.Dispatch>\n ): void => {\n if (increment) {\n if (!REACTION_MAPPING[postId]) {\n REACTION_MAPPING[postId] = [reaction.reaction];\n } else {\n REACTION_MAPPING[postId].push(reaction.reaction);\n }\n setReaction(++reaction.count);\n } else {\n setReaction(--reaction.count);\n REACTION_MAPPING[postId]?.splice(\n REACTION_MAPPING[postId].indexOf(reaction.reaction),\n 1\n );\n }\n };\n\n static reactionIncrementOrDecrement = (\n postId: string,\n reaction: ReactionModel\n ) => {\n if (REACTION_MAPPING[postId]?.includes(reaction.reaction)) {\n return false;\n } else {\n return true;\n }\n };\n}\n","import * as React from \"react\"\nimport {\n useColorMode,\n useColorModeValue,\n IconButton,\n IconButtonProps,\n} from \"@chakra-ui/react\"\nimport { FaMoon, FaSun } from \"react-icons/fa\"\n\ntype ColorModeSwitcherProps = Omit\n\nexport const ColorModeSwitcher: React.FC = (props) => {\n const { toggleColorMode } = useColorMode()\n const text = useColorModeValue(\"dark\", \"light\")\n const SwitchIcon = useColorModeValue(FaMoon, FaSun)\n\n return (\n }\n aria-label={`Switch to ${text} mode`}\n {...props}\n />\n )\n}\n","export const HOST_API = 'https://social-media.adityakrshnn.workers.dev/';\nexport const LOCALHOST_API = 'http://127.0.0.1:8787/';","import { Flex, Text } from \"@chakra-ui/layout\";\nimport axios from \"axios\";\nimport React, { useState } from \"react\";\nimport { ReactElement } from \"react\";\nimport { HOST_API, LOCALHOST_API } from \"../../constants\";\nimport { ReactionModel } from \"../../models/Post.model\";\nimport {\n ReactionService,\n REACTION_ACTION,\n} from \"../../services/Reaction.service\";\n\nconst Reaction = ({\n postId,\n reaction,\n}: {\n postId: string;\n reaction: ReactionModel;\n}): ReactElement => {\n const [reactionCountState, setReactionCount] = useState(reaction.count);\n const reactToPost = () => {\n const reactionAction = ReactionService.reactionIncrementOrDecrement(\n postId,\n reaction\n );\n ReactionService.performReactionSideEffect(\n reactionAction,\n postId,\n reaction,\n setReactionCount\n );\n makeReactRequest(reactionAction);\n };\n\n const makeReactRequest = (reactionAction: boolean) => {\n axios\n .post(`${HOST_API}react`, {\n post_key: postId,\n reaction: reaction.reaction,\n action: reactionAction\n ? REACTION_ACTION.INCREMENT\n : REACTION_ACTION.DECREMENT,\n })\n .catch(function (error) {\n console.error(error);\n\n /** Handling error state by rolling back the reaction */\n ReactionService.performReactionSideEffect(\n !reactionAction,\n postId,\n reaction,\n setReactionCount\n );\n\n alert(\"Some error occurred while reacting\");\n });\n };\n\n return (\n \n {reaction.reaction}\n\n \n {reactionCountState}\n \n \n );\n};\n\nexport default Reaction;\n","import { Image } from \"@chakra-ui/image\";\nimport { Flex, HStack, Text } from \"@chakra-ui/layout\";\nimport React from \"react\";\nimport { ReactElement } from \"react\";\nimport { ReactionModel } from \"../../models/Post.model\";\nimport Reaction from \"../Reaction/Reaction\";\n\nconst Reactions = ({\n postId,\n reactions,\n}: {\n postId: string,\n reactions: ReactionModel[];\n}): ReactElement => {\n return (\n \n {reactions.map((reaction, index) => (\n \n ))}\n \n );\n};\n\nexport default Reactions;\n","import { Box, Text } from \"@chakra-ui/layout\";\nimport axios from \"axios\";\nimport React, { ReactElement } from \"react\";\nimport { PostModel } from \"../../models/Post.model\";\nimport Reactions from \"../Reactions/Reactions\";\n\nconst Post = ({ post }: { post: PostModel }): ReactElement => {\n return (\n \n \n {post.title}\n \n\n By {post.username}\n\n \n {post.content}\n \n\n \n \n \n \n );\n};\n\nexport default Post;\n","import { Box, VStack } from \"@chakra-ui/layout\";\nimport React, { ReactElement } from \"react\";\nimport { PostModel } from \"../../models/Post.model\";\nimport Post from \"../Post/Post\";\n\nconst Posts = ({ posts }: { posts: PostModel[] }): ReactElement => {\n return (\n \n {posts.map((post) => (\n \n ))}\n \n );\n};\n\nexport default Posts;\n","export const fetcher = async (url: string) => {\n try {\n const res = await fetch(url);\n\n // If the status code is not in the range 200-299,\n // we still try to parse and throw it.\n if (!res.ok) {\n const error = new Error(\"An error occurred while fetching the data.\");\n // Attach extra info to the error object.\n error.info = await res.json();\n error.status = res.status;\n throw error;\n }\n return res.json();\n } catch (error) {\n throw error;\n }\n};\n","import { Button } from \"@chakra-ui/button\";\nimport { FormControl, FormLabel } from \"@chakra-ui/form-control\";\nimport { Input } from \"@chakra-ui/input\";\nimport { Box, VStack, Text } from \"@chakra-ui/layout\";\nimport { Formik } from \"formik\";\nimport React from \"react\";\nimport { ReactElement } from \"react\";\nimport { mutate } from \"swr\";\nimport { HOST_API } from \"../../constants\";\n\nconst NewPost = (): ReactElement => {\n const addPost = (values: { [key: string]: string }) => {\n const requestOptions = {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify(values),\n };\n fetch(`${HOST_API}posts`, requestOptions)\n .then(() => {\n alert(`Post added successfully, It will reflect here shortly. Refresh page if it doesn't`);\n mutate(`${HOST_API}posts`);\n });\n };\n\n return (\n \n New Post\n\n {\n addPost(values);\n setSubmitting(false);\n }}\n >\n {({ values, handleChange, handleSubmit, isSubmitting }) => (\n
\n \n \n Username\n \n \n\n \n Title\n \n \n\n \n Content\n \n \n\n \n \n
\n )}\n \n
\n );\n};\n\nexport default NewPost;\n","import * as React from \"react\";\nimport { ChakraProvider, Box, Grid, theme, Text, Flex, extendTheme } from \"@chakra-ui/react\";\nimport { ColorModeSwitcher } from \"./ColorModeSwitcher\";\nimport Posts from \"./components/Posts/Posts\";\nimport useSWR from \"swr\";\nimport { HOST_API } from \"./constants\";\nimport { fetcher } from \"./utils/utils\";\nimport { ReactElement } from \"react\";\nimport NewPost from \"./components/NewPost/NewPost\";\n\nexport const App = (): ReactElement => {\n const { data: posts, error } = useSWR(`${HOST_API}posts`, fetcher);\n \n const theme = extendTheme({\n config: {\n useSystemColorMode: true,\n initialColorMode: \"dark\"\n }\n });\n\n return (\n \n \n \n \n \n \n\n \n {posts && }\n\n {error && (\n \n Failed to fetch posts! Please try again\n {JSON.stringify(error)}\n \n )}\n \n \n \n \n \n );\n};\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(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/,\n ),\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 is 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 (\n response.status === 404 ||\n (contentType != null && contentType.indexOf(\"javascript\") === -1)\n ) {\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(\n \"No internet connection found. App is running in offline mode.\",\n )\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 { ColorModeScript } from \"@chakra-ui/react\"\nimport * as React from \"react\"\nimport ReactDOM from \"react-dom\"\nimport { App } from \"./App\"\nimport reportWebVitals from \"./reportWebVitals\"\nimport * as serviceWorker from \"./serviceWorker\"\n\nReactDOM.render(\n \n \n \n ,\n document.getElementById(\"root\"),\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://cra.link/PWA\nserviceWorker.unregister()\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals()\n"],"sourceRoot":""}