{"version":3,"sources":["component/Header/Header.js","component/Summary/Summary.js","component/Friend-list/FriendList.js","component/Friends/Friend.js","App.js","serviceWorker.js","index.js"],"names":["Header","className","href","Summary","props","console","log","summary","totalSalary","reduce","total","curnt","parseFloat","salary","map","name","src","img","alt","length","toFixed","FriendList","user","email","useState","isPaid","setIsPaid","paymentButton","onClick","addToSummary","icon","faDonate","disabled","faCheckCircle","Friend","employeeList","users","setSummary","addData","addSummary","App","Boolean","window","location","hostname","match","ReactDOM","render","document","getElementById","navigator","serviceWorker","ready","then","registration","unregister","catch","error","message"],"mappings":"ouEAkBeA,G,kBAhBA,WACX,OACI,yBAAKC,UAAU,UACX,6BACI,wBAAIA,UAAU,eAAd,yBAGJ,6BACI,uBAAGC,KAAK,SAAR,QACA,uBAAGA,KAAK,YAAR,gBACA,uBAAGA,KAAK,cAAR,yB,eCqBDC,G,YA9BC,SAACC,GACbC,QAAQC,IAAIF,GAEZ,IAAMG,EAAUH,EAAMG,QAChBC,EAAcD,EAAQE,QAAO,SAACC,EAAOC,GAAR,OAAkBD,EAAQE,WAAWD,EAAME,UAAS,GAC1EN,EAAQO,KAAI,SAACC,GAAD,OAAUA,EAAKA,QAMxC,OACI,yBAAKd,UAAU,gBACX,yBAAKA,UAAU,gBACX,kDACA,4BAEQM,EAAQO,KAAI,SAACC,GAAD,OAAU,4BAAI,yBAAKC,IAAKD,EAAKE,IAAKC,IAAI,KAA5B,IAAkC,2BAAIH,EAAKA,YAI7E,yBAAKd,UAAU,iBACX,4CACA,4CAAkBM,EAAQY,OAA1B,KACA,2CAhBQP,WAgBsBJ,GAhBNY,QAAQ,Q,sBCsBjCC,EA7BI,SAACjB,GAAW,IAAD,EACWA,EAAMkB,KAAnCP,EADkB,EAClBA,KAAMQ,EADY,EACZA,MAAOV,EADK,EACLA,OAAQI,EADH,EACGA,IADH,EAEEO,oBAAS,GAFX,mBAEnBC,EAFmB,KAEXC,EAFW,KAGtBC,EAAgB,4BAAQC,QAAS,WAAQxB,EAAMyB,aAAazB,EAAMkB,MAAOI,GAAU,IAASzB,UAAU,WAAU,kBAAC,IAAD,CAAiB6B,KAAMC,MAAvH,cAKpB,OAHIN,IACAE,EAAgB,4BAAQ1B,UAAU,OAAO+B,UAAQ,GAAC,kBAAC,IAAD,CAAiBF,KAAMG,MAAzD,UAIhB,yBAAKhC,UAAU,gBACX,yBAAKA,UAAU,aACX,yBAAKe,IAAKC,EAAKC,IAAI,MAEvB,yBAAKjB,UAAU,iBAEX,4BAAKc,GACL,2BAAG,sCAAeQ,GAClB,2BAAG,uCAAH,IAAoBV,GAGnBc,K,OCMFO,EAzBA,WAAO,IAAD,EACSV,mBAASW,GADlB,mBACVC,EADU,aAEaZ,mBAAS,KAFtB,mBAEVjB,EAFU,KAED8B,EAFC,KAGXR,EAAe,SAAAS,GACjB,IAAMC,EAAU,sBAAOhC,GAAP,CAAgB+B,IAChCD,EAAWE,IAEf,OACI,6BACI,yBAAKtC,UAAU,kBACX,yBAAKA,UAAU,oBAEPmC,EAAMtB,KAAI,SAAAQ,GAAI,OAAI,kBAAC,EAAD,CAAYO,aAAcA,EAAcP,KAAMA,QAGxE,yBAAKrB,UAAU,qBACX,kBAAC,EAAD,CAASM,QAASA,MAI1B,2BAAG,kFCXAiC,MAVf,WACE,OACE,yBAAKvC,UAAU,OACb,kBAAC,EAAD,MACA,kBAAC,EAAD,QCGcwC,QACW,cAA7BC,OAAOC,SAASC,UAEe,UAA7BF,OAAOC,SAASC,UAEhBF,OAAOC,SAASC,SAASC,MACvB,2DCZNC,IAASC,OAAO,kBAAC,EAAD,MAASC,SAASC,eAAe,SD6H3C,kBAAmBC,WACrBA,UAAUC,cAAcC,MACrBC,MAAK,SAAAC,GACJA,EAAaC,gBAEdC,OAAM,SAAAC,GACLpD,QAAQoD,MAAMA,EAAMC,c","file":"static/js/main.ea1d81fc.chunk.js","sourcesContent":["import React from 'react';\r\nimport './Header.css';\r\nconst Header = () => {\r\n return (\r\n
\r\n
\r\n

Friends Fair Society

\r\n
\r\n\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default Header;","import React from 'react';\r\nimport './Summary.css';\r\n\r\nconst Summary = (props) => {\r\n console.log(props);\r\n\r\n const summary = props.summary;\r\n const totalSalary = summary.reduce((total, curnt) => total + parseFloat(curnt.salary), 0)\r\n const name = summary.map((name) => name.name)\r\n\r\n const formatNumber = (num) => {\r\n let precision = parseFloat(num).toFixed(2);\r\n return precision;\r\n }\r\n return (\r\n
\r\n
\r\n

Paid Members List:

\r\n \r\n
\r\n
\r\n

Fund Summary

\r\n

Paid Members: {summary.length}

\r\n

Total Fund: ${formatNumber(totalSalary)}

\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default Summary;","import React, { useState } from 'react';\r\nimport './FriendList.css';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport { faCheckCircle, faDonate } from '@fortawesome/free-solid-svg-icons'\r\nconst FriendList = (props) => {\r\n const { name, email, salary, img } = props.user;\r\n const [isPaid, setIsPaid] = useState(false);\r\n let paymentButton = \r\n ;\r\n if (isPaid) {\r\n paymentButton = ;\r\n }\r\n return (\r\n\r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n\r\n

{name}

\r\n

Email: {email}

\r\n

Salary: ${salary}

\r\n\r\n\r\n {paymentButton}\r\n\r\n\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default FriendList;","import React, { useState } from 'react';\r\nimport './Friend.css';\r\nimport Summary from '../Summary/Summary';\r\nimport FriendList from '../Friend-list/FriendList';\r\nimport employeeList from '../../fakeData/users.json';\r\n\r\nconst Friend = () => {\r\n const [users, setUsers] = useState(employeeList);\r\n const [summary, setSummary] = useState([]);\r\n const addToSummary = addData => {\r\n const addSummary = [...summary, addData];\r\n setSummary(addSummary);\r\n }\r\n return (\r\n
\r\n
\r\n
\r\n {\r\n users.map(user => )\r\n }\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n

All Rights Reserved by- Friends Fair Society

\r\n
\r\n );\r\n};\r\n\r\nexport default Friend;","import React from 'react';\nimport './App.css';\nimport Header from './component/Header/Header';\nimport Friend from './component/Friends/Friend';\n\nfunction App() {\n return (\n
\n
\n \n\n
\n );\n}\n\nexport default App;\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(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport function register(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://bit.ly/CRA-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, 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://bit.ly/CRA-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, 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 React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport App from './App';\nimport * as serviceWorker from './serviceWorker';\n\nReactDOM.render(, document.getElementById('root'));\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"],"sourceRoot":""}