{"version":3,"sources":["assets/default.jpg","../node_modules/gun sync","assets/icon.svg","assets/logo.svg","assets/success.svg","assets/chatting.svg","assets/emptyCart.svg","assets/cryptocurrency-certificate.png","assets/bitcoin.png","assets/ether.png","assets/doge.png","assets/ltc.png","assets/bnb.png","assets/iota.png","assets/cardano.png","assets/vechain.png","assets/xrp.png","assets/safemoon.png","assets/emptyBookmarks.svg","StateProvider.js","components/layout/Sidebar.js","components/wallet/Connectors.js","components/misc/Spinner.js","components/wallet/Wallet.js","hooks.js","components/layout/Header.js","components/layout/Footer.js","components/categories/Categories.js","util.js","components/products/Product.js","components/Main.js","pages/Home.js","firebase.js","components/auth/Login.js","components/auth/PasswordReset.js","pages/Auth.js","components/orders/Orders.js","pages/OrdersPage.js","components/cart/CartItem.js","components/admin/Admin.js","pages/AdminPage.js","components/products/ProductSingle.js","pages/ProductPage.js","reducer.js","components/payments/Payment.js","pages/PaymentPage.js","components/messenger/Messenger.js","pages/MessengerPage.js","components/cart/Cart.js","pages/CartPage.js","components/donations/Donation.js","pages/DonationPage.js","components/news/DropdownCoinList.js","components/news/Charts.js","components/news/CoinFilter.js","components/news/Coin.js","components/news/List.js","components/news/News.js","pages/NewsPage.js","components/bookmarks/Bookmarks.js","pages/BookmarkPage.js","components/auth/Signup.js","components/auth/Welcome.js","components/store/addProductStore.js","components/store/addInfosStore.js","components/store/Store.js","components/user/Profile.js","pages/UserPage.js","App.js","serviceWorker.js","components/misc/scrollToTop.js","index.js"],"names":["module","exports","webpackEmptyContext","req","e","Error","code","keys","resolve","id","StateContext","createContext","StateProvider","reducer","initialState","children","Provider","value","useReducer","useStateValue","useContext","iconStyle","fontsize","fill","stroke","strokeWidth","fontSize","Sidebar","history","useHistory","user","cart","bookmarks","useState","sidebarActive","setSidebarActive","toggleSidebar","className","src","amazonIcon","alt","onClick","to","exact","activeClassName","data-tip","data-for","style","length","photoURL","defaultImage","push","place","backgroundColor","effect","RPC_URLS","metamask","InjectedConnector","supportedChainIds","walletconnect","NetworkConnector","urls","1","4","defaultChainId","pollingInterval","WalletConnectConnector","rpc","bridge","qrcode","LedgerConnector","chainId","url","TrezorConnector","manifestEmail","manifestAppUrl","FortmaticConnector","apiKey","PortisConnector","dAppId","networks","Spinner","color","rest","width","height","viewBox","xmlns","fillRule","transform","strokeOpacity","cx","cy","r","d","attributeName","type","from","dur","repeatCount","Wallet","childToParent","context","useWeb3React","connector","library","account","activate","deactivate","active","error","React","activatingConnector","setActivatingConnector","useEffect","console","log","undefined","triedEager","tried","setTried","isAuthorized","then","catch","useEagerConnect","suppress","ethereum","window","on","handleChainChanged","handleAccountsChanged","accounts","handleNetworkChanged","networkId","removeListener","useInactiveListener","setBlockNumber","stale","getBlockNumber","blockNumber","updateBlockNumber","setEthBalance","getBalance","balance","logURI","uri","URI_AVAILABLE","off","connectorsByName","Metamask","WalletConnect","padding","content","top","left","right","bottom","marginRight","overflow","background","boxShadow","border","borderRadius","maxHeight","zIndex","display","alignItems","justifyContent","gridGap","gridTemplateColumns","maxWidth","lineHeight","substring","margin","textAlign","paddingTop","Object","map","name","currentConnector","activating","connected","disabled","borderColor","cursor","position","key","marginLeft","role","aria-label","flexDirection","marginTop","marginBottom","NoEthereumProviderError","UnsupportedChainIdError","UserRejectedRequestErrorInjected","UserRejectedRequestErrorWalletConnect","getErrorMessage","close","paddingBottom","Header","location","useLocation","queryRef","useRef","results","setResults","resultsOpen","setResultsOpen","fuse","setAccount","modalIsOpen","setIsOpen","anchorEl","setAnchorEl","handleClose","openModal","isOpen","onAfterOpen","onRequestClose","contentLabel","getLibrary","provider","ethers","providers","Web3Provider","pathname","goBack","title","ref","onChange","current","search","placeholder","motion","div","initial","opacity","y","animate","exit","result","item","product","imgUrl","feature","aria-controls","aria-haspopup","event","currentTarget","class","fill-rule","clip-rule","Menu","keepMounted","open","Boolean","onClose","MenuItem","footerLinks","list","Footer","link","amazonLogo","href","target","categories","Categories","dispatch","setActive","category","prevActive","document","querySelector","classList","remove","preventDefault","add","useQuery","URLSearchParams","shuffleArray","array","shuffled","i","j","Math","floor","random","pageTransition","duration","pageSlide","in","out","pageZoom","scale","errorAnim","countries","country","abbreviation","Product","variants","transition","layout","layoutId","discount","line","element","containerClassName","truncateText","text","price","originalPrice","rating","Main","products","Home","GUN","firebase","initializeApp","authDomain","databaseURL","projectId","storageBucket","messagingSenderId","appId","measurementId","auth","GoogleAuthProvider","db","analytics","Login","loadingBar","query","errorEmail","setErrorEmail","errorPassword","setErrorPassword","email","setEmail","password","setPassword","passwordVisible","setPasswordVisible","formError","setFormError","status","setStatus","success","setSuccess","get","actionCode","a","applyActionCode","res","currentUser","setTimeout","replace","err","verifyCode","signIn","signInWithEmailAndPassword","response","emailVerified","sendEmailVerification","signOut","complete","message","onSubmit","test","continuousStart","handleSubmit","p","onFocus","htmlFor","PasswordReset","sendResetLink","sendPasswordResetEmail","handleReset","newPassword","confirmPasswordReset","for","Auth","Orders","orders","setOrders","unsubscribe","onAuthStateChanged","collection","doc","uid","orderBy","docs","data","order","created","items","quantity","fontWeight","parseFloat","amount","toFixed","OrdersPage","CartItem","state","Admin","checked","setChecked","loading","setLoading","productForm","required","formData","FormData","featureArray","reset","AdminPage","ProductSingle","useParams","productDetails","setProductDetails","isBookmarked","setIsBookmarked","isAdded","setIsAdded","suggestions","setSuggestions","axios","snapshot","ownerId","bIndex","findIndex","cIndex","features","owner","slice","Cart","getCartTotal","reduce","action","itemIndex","cartItem","newCart","localStorage","setItem","JSON","stringify","splice","warn","newBookmarks","removeItem","Payment","stripe","useStripe","stripeElements","useElements","orderId","setOrderId","succeeded","setSucceeded","showSuccess","setShowSuccess","processing","setProcessing","setError","setDisabled","userDetails","setUserDetails","clientSecret","setClientSecret","cardHolder","setCardHolder","cartTotal","setCartTotal","cartTotalWithTax","setCartTotalWithTax","deliveryCharges","setDeliveryCharges","method","setMethod","changeMethod","safemoon","setSafemoonPrice","safemoonTotal","setSafemoonTotal","safemoonPrice","priceDollar","createCheckoutSession","totAmount","post","shipping","redirectToCheckout","sessionId","exists","update","totalAmount","totalAmountWithTax","calculateTotal","itemsDesc","replaceAll","amountINR","parseInt","toString","updateDb","usr","cartItems","set","Date","signedIn","metadata","payment_intent","amount_total","getElement","CardElement","confirmCardPayment","payment_method","card","billing_details","phone","address","line1","postal_code","receipt_email","paymentIntent","displayName","split","empty","options","base","fontFamily","iconColor","textShadow","invalid","successImg","createCryptoPayment","PaymentPage","Messenger","messenger","chatting","MessengerPage","total","getTotalItems","emptyCart","CartPage","Donation","crypto","bitcoin","ether","ltc","bnb","cardano","doge","xrp","vechain","iota","DonationPage","DropdownCoinList","setCoin","filteredCoins","customStyles","coin","firstUpdate","dropdownIndicator","control","label","handleChange","isSearchable","styles","theme","colors","primary25","primary","Charts","dates","priceData","chartData","setChartData","getDates","todaysDate","daysBack","sub","days","rangeFormatted","eachDayOfInterval","start","end","el","format","getPrices","targetData","values","forEach","val","historicalChart","labels","datasets","tension","params","vs_currency","prices","maintainAspectRatio","responsive","CoinFilter","coins","setCoins","toggle","setToggle","byChange","sort","b","symbol","variant","current_price","total_volume","price_change_percentage_24h","market_cap","Coin","image","volume","priceChange","marketcap","formatPercent","number","string","toLocaleString","List","News","setSearch","showCharts","setShowCharts","filter","toLowerCase","includes","NewsPage","Bookmarks","emptyBookmarks","BookmarkPage","Signup","errorName","setErrorName","setName","signUp","createUserWithEmailAndPassword","updateProfile","signInWithPopup","Welcome","checkbox","setAddress","stateName","setStateName","setCountry","zipcode","setZipcode","setPhone","walletAddress","setWalletAddress","dob","setDob","merge","nextUrl","alert","default","selected","AddProductStore","showForm","triggerParentUpdate","stock","AddInfosStore","description","setDescription","store","setStore","validateNumber","updateStore","Store","productOwned","setProductOwned","setShowForm","editItem","itemId","delete","Profile","styleButton","UserPage","promise","loadStripe","elFonts","cssSrc","App","localCart","getItem","localBookmarks","parse","Fuse","shadow","AnimatePresence","exitBeforeEnter","AnimateSharedLayout","path","ProductPage","fonts","hostname","match","ScrollToTop","scroll","behavior","ReactDOM","render","getElementById","navigator","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.2202900a.chunk.js","sourcesContent":["module.exports = \"data:image/jpeg;base64,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\"","function webpackEmptyContext(req) {\n\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\te.code = 'MODULE_NOT_FOUND';\n\tthrow e;\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nmodule.exports = webpackEmptyContext;\nwebpackEmptyContext.id = 285;","module.exports = __webpack_public_path__ + \"static/media/icon.d15612de.svg\";","module.exports = __webpack_public_path__ + \"static/media/logo.9f9f041e.svg\";","module.exports = __webpack_public_path__ + \"static/media/success.b9dcccae.svg\";","module.exports = __webpack_public_path__ + \"static/media/chatting.a22b01df.svg\";","module.exports = __webpack_public_path__ + \"static/media/emptyCart.6047fa47.svg\";","module.exports = __webpack_public_path__ + \"static/media/cryptocurrency-certificate.aedb832f.png\";","module.exports = __webpack_public_path__ + \"static/media/bitcoin.ef5e901a.png\";","module.exports = __webpack_public_path__ + \"static/media/ether.0cf2daa9.png\";","module.exports = __webpack_public_path__ + \"static/media/doge.5ffe3d3d.png\";","module.exports = __webpack_public_path__ + \"static/media/ltc.55bce700.png\";","module.exports = __webpack_public_path__ + \"static/media/bnb.dc5b3cbd.png\";","module.exports = __webpack_public_path__ + \"static/media/iota.fb5aeba9.png\";","module.exports = __webpack_public_path__ + \"static/media/cardano.4313bfa1.png\";","module.exports = __webpack_public_path__ + \"static/media/vechain.48bb9cc3.png\";","module.exports = __webpack_public_path__ + \"static/media/xrp.38971e4d.png\";","module.exports = __webpack_public_path__ + \"static/media/safemoon.e81943c9.png\";","module.exports = __webpack_public_path__ + \"static/media/emptyBookmarks.9f7a9a37.svg\";","import React, {createContext, useContext, useReducer} from \"react\";\n\nexport const StateContext = createContext();\n\nexport const StateProvider = ({ reducer, initialState, children }) => (\n \n {children}\n \n);\n\nexport const useStateValue = () => useContext(StateContext);\n","import React, {useState} from \"react\";\nimport \"./Sidebar.css\";\nimport amazonIcon from \"../../assets/icon.svg\";\nimport HomeRoundedIcon from \"@material-ui/icons/HomeRounded\";\nimport ShoppingCartRoundedIcon from \"@material-ui/icons/ShoppingCartRounded\";\nimport BookmarksRoundedIcon from \"@material-ui/icons/BookmarksRounded\";\nimport WatchLaterRoundedIcon from \"@material-ui/icons/WatchLaterRounded\";\nimport AccountCircleRoundedIcon from \"@material-ui/icons/AccountCircleRounded\";\nimport ChatBubbleOutlineRoundedIcon from '@material-ui/icons/ChatBubbleOutlineRounded';\nimport {NavLink, useHistory} from \"react-router-dom\";\nimport defaultImage from \"../../assets/default.jpg\";\nimport ReactTooltip from \"react-tooltip\";\nimport {useStateValue} from \"../../StateProvider\";\n\nconst iconStyle = (fontsize) => {\n return {\n fill: \"transparent\",\n stroke: \"#57609c\",\n strokeWidth: 1,\n fontSize: fontsize,\n };\n};\n\nfunction Sidebar() {\n const history = useHistory();\n const [{ user, cart, bookmarks }] = useStateValue();\n const [sidebarActive, setSidebarActive] = useState(false);\n const toggleSidebar = () =>\n setSidebarActive((sidebarActive) => !sidebarActive);\n\n return (\n
\n \"moonmarket\n \n {user ? (\n {\n history.push(\"/profile\");\n toggleSidebar();\n }}\n data-tip=\"My Account\"\n data-for=\"sidebarTooltip\"\n className=\"sidebar__avatar\"\n />\n ) : (\n \n \n \n )}\n \n
\n );\n}\nexport default Sidebar;\n","import { InjectedConnector } from '@web3-react/injected-connector';\nimport { NetworkConnector } from '@web3-react/network-connector';\nimport { WalletConnectConnector } from '@web3-react/walletconnect-connector';\nimport { LedgerConnector } from '@web3-react/ledger-connector';\nimport { TrezorConnector } from '@web3-react/trezor-connector';\nimport { FortmaticConnector } from '@web3-react/fortmatic-connector';\nimport { PortisConnector } from '@web3-react/portis-connector';\n\nconst POLLING_INTERVAL = 12000;\n\nconst RPC_URLS = {\n 1: 'https://mainnet.infura.io/v3/84842078b09946638c03157f83405213',\n 4: 'https://rinkeby.infura.io/v3/84842078b09946638c03157f83405213',\n};\n\nexport const metamask = new InjectedConnector({\n supportedChainIds: [1, 3, 4, 5, 42, 56, 0x38]\n});\n\nexport const network = new NetworkConnector({\n urls: { 1: RPC_URLS[1], 4: RPC_URLS[4] },\n defaultChainId: 1,\n pollingInterval: POLLING_INTERVAL,\n});\n\nexport const walletconnect = new WalletConnectConnector({\n rpc: { 1: RPC_URLS[1] },\n bridge: 'https://bridge.walletconnect.org',\n qrcode: true,\n pollingInterval: POLLING_INTERVAL,\n});\n\nexport const ledger = new LedgerConnector({\n chainId: 1,\n url: RPC_URLS[1],\n pollingInterval: POLLING_INTERVAL,\n});\n\nexport const trezor = new TrezorConnector({\n chainId: 1,\n url: RPC_URLS[1],\n pollingInterval: POLLING_INTERVAL,\n manifestEmail: 'dummy@abc.xyz',\n manifestAppUrl: 'https://8rg3h.csb.app/',\n});\n\nexport const fortmatic = new FortmaticConnector({\n apiKey: 'pk_live_F95FEECB1BE324B5',\n chainId: 1,\n});\n\nexport const portis = new PortisConnector({\n dAppId: '211b48db-e8cc-4b68-82ad-bf781727ea9e',\n networks: [1, 100],\n});","import * as React from \"react\";\n\n// \nexport function Spinner({ color, ...rest }) {\n return (\n \n \n \n \n \n \n \n \n \n \n );\n}\n","import React, {useRef, useState} from \"react\";\nimport {Link} from \"react-router-dom\";\nimport {useStateValue} from \"../../StateProvider\";\nimport {ethers} from 'ethers'\nimport {UnsupportedChainIdError, useWeb3React, Web3ReactProvider} from \"@web3-react/core\";\nimport {\n NoEthereumProviderError,\n UserRejectedRequestError as UserRejectedRequestErrorInjected\n} from \"@web3-react/injected-connector\";\nimport {\n URI_AVAILABLE,\n UserRejectedRequestError as UserRejectedRequestErrorWalletConnect\n} from \"@web3-react/walletconnect-connector\";\n\nimport {metamask, walletconnect} from \"../wallet/Connectors\";\nimport {useEagerConnect, useInactiveListener} from \"../../hooks\";\nimport {Spinner} from \"../misc/Spinner\";\n\nfunction Wallet({childToParent}) {\n const context = useWeb3React();\n const {\n connector,\n library,\n chainId,\n account,\n activate,\n deactivate,\n active,\n error\n } = context;\n\n const customStyles = {\n content: {\n top: '50%',\n left: '50%',\n right: 'auto',\n bottom: 'auto',\n marginRight: '-50%',\n transform: 'translate(-50%, -50%)',\n overflow: 'hidden',\n background: 'rgb(39, 38, 44)',\n boxShadow: 'rgb(14 14 44 / 10%) 0px 20px 36px -8px, rgb(0 0 0 / 5%) 0px 1px 1px',\n border: '1px solid rgb(56, 50, 65)',\n borderRadius: '10px',\n maxHeight: '100vh',\n zIndex: '100',\n },\n };\n\n function getErrorMessage(error) {\n if (error instanceof NoEthereumProviderError) {\n return \"No Ethereum browser extension detected, install MetaMask on desktop or visit from a dApp browser on mobile.\";\n } else if (error instanceof UnsupportedChainIdError) {\n console.log(error instanceof UnsupportedChainIdError);\n return \"You're connected to an unsupported network.\";\n } else if (\n error instanceof UserRejectedRequestErrorInjected ||\n error instanceof UserRejectedRequestErrorWalletConnect\n ) {\n return \"Please authorize this website to access your Ethereum account.\";\n } else {\n console.error(error);\n return \"An unknown error occurred. Check the console for more details.\";\n }\n }\n\n // handle logic to recognize the connector currently being activated\n const [activatingConnector, setActivatingConnector] = React.useState();\n React.useEffect(() => {\n console.log('running')\n if (activatingConnector && activatingConnector === connector) {\n setActivatingConnector(undefined);\n }\n }, [activatingConnector, connector]);\n\n // handle logic to eagerly connect to the injected ethereum provider, if it exists and has granted access already\n const triedEager = useEagerConnect();\n\n // handle logic to connect in reaction to certain events on the injected ethereum provider, if it exists\n useInactiveListener(!triedEager || !!activatingConnector);\n\n // set up block listener\n const [blockNumber, setBlockNumber] = React.useState();\n React.useEffect(() => {\n console.log('running')\n if (library) {\n let stale = false;\n\n console.log('fetching block number!!')\n library\n .getBlockNumber()\n .then(blockNumber => {\n if (!stale) {\n setBlockNumber(blockNumber);\n }\n })\n .catch(() => {\n if (!stale) {\n setBlockNumber(null);\n }\n });\n\n const updateBlockNumber = blockNumber => {\n setBlockNumber(blockNumber);\n };\n library.on(\"block\", updateBlockNumber);\n\n return () => {\n library.removeListener(\"block\", updateBlockNumber);\n stale = true;\n setBlockNumber(undefined);\n };\n }\n }, [library, chainId]);\n\n // fetch eth balance of the connected account\n const [ethBalance, setEthBalance] = React.useState();\n React.useEffect(() => {\n if (library && account) {\n let stale = false;\n childToParent(account);\n library\n .getBalance(account)\n .then(balance => {\n if (!stale) {\n setEthBalance(balance);\n }\n })\n .catch(() => {\n if (!stale) {\n setEthBalance(null);\n }\n });\n\n return () => {\n stale = true;\n setEthBalance(undefined);\n };\n }\n console.log(account)\n }, [library, account, chainId]);\n\n // log the walletconnect URI\n React.useEffect(() => {\n console.log('running')\n const logURI = uri => {\n console.log(\"WalletConnect URI\", uri);\n };\n walletconnect.on(URI_AVAILABLE, logURI);\n\n return () => {\n walletconnect.off(URI_AVAILABLE, logURI);\n };\n }, []);\n\n const connectorsByName = {\n Metamask: metamask,\n WalletConnect: walletconnect\n };\n\n return (\n
\n
\n

Connect Wallet

\n
\n
\n \n Account\n \n {account === undefined\n ? \"...\"\n : account === null\n ? \"None\"\n : `${account.substring(0, 6)}...${account.substring(\n account.length - 4\n )}`}\n \n \n \n {active ? \"🟢\" : error ? \"🔴\" : \"🟠\"}\n \n
\n\n \n {Object.keys(connectorsByName).map(name => {\n const currentConnector = connectorsByName[name];\n const activating = currentConnector === activatingConnector;\n const connected = currentConnector === connector;\n const disabled =\n !triedEager || !!activatingConnector || connected || !!error;\n\n return (\n {\n setActivatingConnector(currentConnector);\n activate(connectorsByName[name]);\n }}\n >\n \n {activating && (\n \n )}\n {connected && (\n \n ✅\n \n )}\n
\n {name}\n \n );\n })}\n \n \n {(active || error) && (\n
\n {\n deactivate();\n }}\n >\n Deactivate\n \n
\n )}\n\n {!!error && (\n

\n {getErrorMessage(error)}\n

\n )}\n \n\n \n {connector === walletconnect && (\n {\n connector.close();\n }}\n >\n Kill WalletConnect Session\n \n )}\n \n \n
\n

Haven’t got a crypto wallet yet?

\n
\n \n Learn How to Connect\n \n
\n
\n \n );\n }\n\nexport default Wallet;\n","import {useEffect, useState} from \"react\";\nimport {useWeb3React} from \"@web3-react/core\";\n\nimport {metamask} from \"./components/wallet/Connectors\";\n\nexport function useEagerConnect() {\n const { activate, active } = useWeb3React();\n\n const [tried, setTried] = useState(false);\n\n useEffect(() => {\n metamask.isAuthorized().then(isAuthorized => {\n if (isAuthorized) {\n \n activate(metamask, undefined, true).catch(() => {\n setTried(true);\n });\n } else {\n setTried(true);\n }\n });\n }, [activate]); // intentionally only running on mount (make sure it's only mounted once :))\n\n // if the connection worked, wait until we get confirmation of that to flip the flag\n useEffect(() => {\n if (!tried && active) {\n setTried(true);\n }\n }, [tried, active]);\n\n return tried;\n}\n\nexport function useInactiveListener(suppress = false) {\n const { active, error, activate } = useWeb3React();\n\n useEffect(() => {\n const { ethereum } = window;\n if (ethereum && ethereum.on && !active && !error && !suppress) {\n const handleChainChanged = chainId => {\n console.log(\"chainChanged\", chainId);\n activate(metamask);\n };\n\n const handleAccountsChanged = accounts => {\n console.log(\"accountsChanged\", accounts);\n if (accounts.length > 0) {\n activate(metamask);\n }\n };\n\n const handleNetworkChanged = networkId => {\n console.log(\"networkChanged\", networkId);\n activate(metamask);\n };\n\n ethereum.on(\"chainChanged\", handleChainChanged);\n ethereum.on(\"accountsChanged\", handleAccountsChanged);\n ethereum.on(\"networkChanged\", handleNetworkChanged);\n\n return () => {\n if (ethereum.removeListener) {\n ethereum.removeListener(\"chainChanged\", handleChainChanged);\n ethereum.removeListener(\"accountsChanged\", handleAccountsChanged);\n ethereum.removeListener(\"networkChanged\", handleNetworkChanged);\n }\n };\n }\n\n return () => {};\n }, [active, error, suppress, activate]);\n}\n","import React, {useRef, useState} from \"react\";\nimport Menu from '@material-ui/core/Menu';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport \"./Header.css\";\nimport SearchRoundedIcon from \"@material-ui/icons/SearchRounded\";\nimport \"./SearchResults.css\";\nimport {useHistory, useLocation, Link} from \"react-router-dom\";\nimport {useStateValue} from \"../../StateProvider\";\nimport {motion} from \"framer-motion\";\nimport Wallet from \"../wallet/Wallet\";\nimport Modal from 'react-modal';\nimport {ethers} from 'ethers'\nimport {UnsupportedChainIdError, useWeb3React, Web3ReactProvider} from \"@web3-react/core\";\nimport {\n NoEthereumProviderError,\n UserRejectedRequestError as UserRejectedRequestErrorInjected\n} from \"@web3-react/injected-connector\";\nimport {\n URI_AVAILABLE,\n UserRejectedRequestError as UserRejectedRequestErrorWalletConnect\n} from \"@web3-react/walletconnect-connector\";\n\nimport {metamask, walletconnect} from \"../wallet/Connectors\";\nimport {useEagerConnect, useInactiveListener} from \"../../hooks\";\nimport {Spinner} from \"../misc/Spinner\";\n\nfunction Header() {\n const location = useLocation();\n const history = useHistory();\n const queryRef = useRef(null);\n const [results, setResults] = useState(null);\n const [resultsOpen, setResultsOpen] = useState(false);\n const [{ fuse }] = useStateValue();\n const [status, setStatus] = useState(\"\");\n const [account, setAccount] = useState('');\n const [modalIsOpen, setIsOpen] = React.useState(false);\n const [anchorEl, setAnchorEl] = React.useState(null);\n const chainId = [56];\n\n const handleClick = (event) => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleClose = () => {\n setAnchorEl(null);\n };\n\n const customStyles = {\n content: {\n top: '50%',\n left: '50%',\n right: 'auto',\n bottom: 'auto',\n marginRight: '-50%',\n transform: 'translate(-50%, -50%)',\n overflow: 'hidden',\n background: 'rgb(39, 38, 44)',\n boxShadow: 'rgb(14 14 44 / 10%) 0px 20px 36px -8px, rgb(0 0 0 / 5%) 0px 1px 1px',\n border: '1px solid rgb(56, 50, 65)',\n borderRadius: '10px',\n maxHeight: '100vh',\n zIndex: '100',\n },\n };\n\n function getLibrary(provider) {\n const library = new ethers.providers.Web3Provider(provider);\n library.pollingInterval = 12000;\n return library;\n }\n\n const childToParent = (account) => {\n setAccount(account);\n }\n\n function openModal() {\n setIsOpen(true);\n }\n\n function afterOpenModal() {\n // references are now sync'd and can be accessed.\n }\n\n function closeModal() {\n setIsOpen(false);\n }\n\n const handleChange = (e) => {\n if (queryRef.current.value.length > 0) {\n setResults(fuse.search(queryRef.current.value));\n setResultsOpen(true);\n } else {\n setResults(null);\n setResultsOpen(false);\n }\n };\n\n return (\n
\n \n \n \n \n \n \n
\n {location.pathname !== \"/\" && (\n \n )}\n
\n
\n \n \n \n
\n {resultsOpen && (\n \n {results.map((result) => (\n {\n setResultsOpen(false);\n queryRef.current.value = \"\";\n history.push(`/product/${result.item.id}`, {\n product: result.item,\n });\n }}\n className=\"result\"\n >\n
\n \n
\n \n

{result.item.name}

\n \n {result.item.feature[0]}\n \n
\n
\n ))}\n \n )}\n {account === undefined\n ? (\n
\n \n
\n )\n : account === null\n ? (\n
\n \n
\n )\n : !account.length\n ? (\n
\n \n
\n )\n : (\n
\n
\n
\n \n \n \n \n
\n

{account.substring(0, 2)}...{account.substring(account.length - 4)}

\n \n \n \n \n
\n \n
\n \n
\n Your Profile \n
\n
\n
\n \n
\n Disconnect\n \n \n \n \n
\n
\n
\n \n
\n )\n }\n\n \n
\n );\n}\nexport default Header;\n","import React from \"react\";\nimport {Link} from \"react-router-dom\";\nimport \"./Footer.css\";\nimport amazonLogo from \"../../assets/logo.svg\";\n\nconst footerLinks = [\n {\n title: \"Get to Know Us\",\n list: [\"Donation\"],\n },\n];\n\nfunction Footer() {\n return (\n
\n
\n
\n Disclaimer: This is not an official project done by some big team. It\n is a project done by a fan of Defi.\n
\n
\n {footerLinks.map((link) => (\n
\n
{link.title}
\n
    \n {link.list.map((item) => (\n
  • \n \n {item}\n \n
  • \n ))}\n
\n
\n ))}\n
\n
\n \n \n © 2021 | Developed by{\" \"}\n LaurenKumarOpens in a new window\n \n
\n
\n
\n );\n}\nexport default Footer;\n","import React from \"react\";\nimport \"./Categories.css\";\nimport {useStateValue} from \"../../StateProvider\";\n\nconst categories = [\n \"electronics\",\n \"jewellery\",\n \"wood & epoxy\",\n \"men's clothing\",\n \"women's clothing\",\n \"appliances\",\n \"toys\",\n \"movies & TV\",\n \"music\",\n \"software\",\n];\n\nfunction Categories() {\n const [{ user }, dispatch] = useStateValue();\n\n const setActive = (e, category) => {\n let prevActive = document.querySelector(\".categories__category.active\");\n if (prevActive) prevActive.classList.remove(\"active\");\n e.preventDefault();\n e.target.classList.add(\"active\");\n dispatch({\n type: \"SET_CATEGORY\",\n category: category,\n });\n };\n\n return (\n
\n setActive(e, \"all\")}\n >\n All Departments\n \n {categories.map((category) => (\n \n setActive(e, category)}\n >\n {category}\n \n \n ))}\n
\n );\n}\nexport default Categories;\n","import {useLocation} from \"react-router-dom\";\n\nconst useQuery = () => {\n return new URLSearchParams(useLocation().search);\n};\n\nconst shuffleArray = (array) => {\n let shuffled = [...array];\n for (let i = shuffled.length - 1; i > 0; i--) {\n let j = Math.floor(Math.random() * (i + 1));\n [shuffled[i], shuffled[j]] = [shuffled[j], shuffled[i]];\n }\n return shuffled;\n};\n\nconst pageTransition = {\n type: \"tween\",\n duration: 0.2,\n};\n\nconst pageSlide = {\n initial: {\n opacity: 0,\n y: \"-1rem\",\n },\n in: {\n opacity: 1,\n y: 0,\n },\n out: {\n opacity: 0,\n y: \"1rem\",\n },\n};\n\nconst pageZoom = {\n initial: {\n opacity: 0,\n scale: 0.95,\n },\n in: {\n opacity: 1,\n scale: 1,\n },\n out: {\n opacity: 0,\n scale: 0.95,\n },\n};\n\nconst errorAnim = {\n initial: {\n opacity: 0,\n scale: 0.8,\n },\n in: {\n opacity: 1,\n scale: 1,\n },\n out: {\n opacity: 0,\n scale: 0.8,\n },\n};\n\nconst countries = [\n { country: \"Afghanistan\", abbreviation: \"AF\" },\n { country: \"Albania\", abbreviation: \"AL\" },\n { country: \"Algeria\", abbreviation: \"DZ\" },\n { country: \"American Samoa\", abbreviation: \"AS\" },\n { country: \"Andorra\", abbreviation: \"AD\" },\n { country: \"Angola\", abbreviation: \"AO\" },\n { country: \"Anguilla\", abbreviation: \"AI\" },\n { country: \"Antarctica\", abbreviation: \"AQ\" },\n { country: \"Antigua and Barbuda\", abbreviation: \"AG\" },\n { country: \"Argentina\", abbreviation: \"AR\" },\n { country: \"Armenia\", abbreviation: \"AM\" },\n { country: \"Aruba\", abbreviation: \"AW\" },\n { country: \"Australia\", abbreviation: \"AU\" },\n { country: \"Austria\", abbreviation: \"AT\" },\n { country: \"Azerbaijan\", abbreviation: \"AZ\" },\n { country: \"Bahamas\", abbreviation: \"BS\" },\n { country: \"Bahrain\", abbreviation: \"BH\" },\n { country: \"Bangladesh\", abbreviation: \"BD\" },\n { country: \"Barbados\", abbreviation: \"BB\" },\n { country: \"Belarus\", abbreviation: \"BY\" },\n { country: \"Belgium\", abbreviation: \"BE\" },\n { country: \"Belize\", abbreviation: \"BZ\" },\n { country: \"Benin\", abbreviation: \"BJ\" },\n { country: \"Bermuda\", abbreviation: \"BM\" },\n { country: \"Bhutan\", abbreviation: \"BT\" },\n { country: \"Bolivia\", abbreviation: \"BO\" },\n { country: \"Bosnia and Herzegovina\", abbreviation: \"BA\" },\n { country: \"Botswana\", abbreviation: \"BW\" },\n { country: \"Bouvet Island\", abbreviation: \"BV\" },\n { country: \"Brazil\", abbreviation: \"BR\" },\n { country: \"British Indian Ocean Territory\", abbreviation: \"IO\" },\n { country: \"Brunei\", abbreviation: \"BN\" },\n { country: \"Bulgaria\", abbreviation: \"BG\" },\n { country: \"Burkina Faso\", abbreviation: \"BF\" },\n { country: \"Burundi\", abbreviation: \"BI\" },\n { country: \"Cambodia\", abbreviation: \"KH\" },\n { country: \"Cameroon\", abbreviation: \"CM\" },\n { country: \"Canada\", abbreviation: \"CA\" },\n { country: \"Cape Verde\", abbreviation: \"CV\" },\n { country: \"Cayman Islands\", abbreviation: \"KY\" },\n { country: \"Central African Republic\", abbreviation: \"CF\" },\n { country: \"Chad\", abbreviation: \"TD\" },\n { country: \"Chile\", abbreviation: \"CL\" },\n { country: \"China\", abbreviation: \"CN\" },\n { country: \"Christmas Island\", abbreviation: \"CX\" },\n { country: \"Cocos (Keeling) Islands\", abbreviation: \"CC\" },\n { country: \"Colombia\", abbreviation: \"CO\" },\n { country: \"Comoros\", abbreviation: \"KM\" },\n { country: \"Congo\", abbreviation: \"CG\" },\n { country: \"Cook Islands\", abbreviation: \"CK\" },\n { country: \"Costa Rica\", abbreviation: \"CR\" },\n { country: \"Croatia\", abbreviation: \"HR\" },\n { country: \"Cuba\", abbreviation: \"CU\" },\n { country: \"Cyprus\", abbreviation: \"CY\" },\n { country: \"Czech Republic\", abbreviation: \"CZ\" },\n { country: \"Denmark\", abbreviation: \"DK\" },\n { country: \"Djibouti\", abbreviation: \"DJ\" },\n { country: \"Dominica\", abbreviation: \"DM\" },\n { country: \"Dominican Republic\", abbreviation: \"DO\" },\n { country: \"East Timor\", abbreviation: \"TP\" },\n { country: \"Ecuador\", abbreviation: \"EC\" },\n { country: \"Egypt\", abbreviation: \"EG\" },\n { country: \"El Salvador\", abbreviation: \"SV\" },\n { country: \"Equatorial Guinea\", abbreviation: \"GQ\" },\n { country: \"Eritrea\", abbreviation: \"ER\" },\n { country: \"Estonia\", abbreviation: \"EE\" },\n { country: \"Ethiopia\", abbreviation: \"ET\" },\n { country: \"Falkland Islands\", abbreviation: \"FK\" },\n { country: \"Faroe Islands\", abbreviation: \"FO\" },\n { country: \"Fiji Islands\", abbreviation: \"FJ\" },\n { country: \"Finland\", abbreviation: \"FI\" },\n { country: \"France\", abbreviation: \"FR\" },\n { country: \"French Guiana\", abbreviation: \"GF\" },\n { country: \"French Polynesia\", abbreviation: \"PF\" },\n { country: \"French Southern territories\", abbreviation: \"TF\" },\n { country: \"Gabon\", abbreviation: \"GA\" },\n { country: \"Gambia\", abbreviation: \"GM\" },\n { country: \"Georgia\", abbreviation: \"GE\" },\n { country: \"Germany\", abbreviation: \"DE\" },\n { country: \"Ghana\", abbreviation: \"GH\" },\n { country: \"Gibraltar\", abbreviation: \"GI\" },\n { country: \"Greece\", abbreviation: \"GR\" },\n { country: \"Greenland\", abbreviation: \"GL\" },\n { country: \"Grenada\", abbreviation: \"GD\" },\n { country: \"Guadeloupe\", abbreviation: \"GP\" },\n { country: \"Guam\", abbreviation: \"GU\" },\n { country: \"Guatemala\", abbreviation: \"GT\" },\n { country: \"Guernsey\", abbreviation: \"GG\" },\n { country: \"Guinea\", abbreviation: \"GN\" },\n { country: \"Guinea-Bissau\", abbreviation: \"GW\" },\n { country: \"Guyana\", abbreviation: \"GY\" },\n { country: \"Haiti\", abbreviation: \"HT\" },\n { country: \"Heard Island and McDonald Islands\", abbreviation: \"HM\" },\n { country: \"Holy See (Vatican City State)\", abbreviation: \"VA\" },\n { country: \"Honduras\", abbreviation: \"HN\" },\n { country: \"Hong Kong\", abbreviation: \"HK\" },\n { country: \"Hungary\", abbreviation: \"HU\" },\n { country: \"Iceland\", abbreviation: \"IS\" },\n { country: \"India\", abbreviation: \"IN\" },\n { country: \"Indonesia\", abbreviation: \"ID\" },\n { country: \"Iran\", abbreviation: \"IR\" },\n { country: \"Iraq\", abbreviation: \"IQ\" },\n { country: \"Ireland\", abbreviation: \"IE\" },\n { country: \"Isle of Man\", abbreviation: \"IM\" },\n { country: \"Israel\", abbreviation: \"IL\" },\n { country: \"Italy\", abbreviation: \"IT\" },\n { country: \"Ivory Coast\", abbreviation: \"CI\" },\n { country: \"Jamaica\", abbreviation: \"JM\" },\n { country: \"Japan\", abbreviation: \"JP\" },\n { country: \"Jersey\", abbreviation: \"JE\" },\n { country: \"Jordan\", abbreviation: \"JO\" },\n { country: \"Kazakhstan\", abbreviation: \"KZ\" },\n { country: \"Kenya\", abbreviation: \"KE\" },\n { country: \"Kiribati\", abbreviation: \"KI\" },\n { country: \"Kuwait\", abbreviation: \"KW\" },\n { country: \"Kyrgyzstan\", abbreviation: \"KG\" },\n { country: \"Laos\", abbreviation: \"LA\" },\n { country: \"Latvia\", abbreviation: \"LV\" },\n { country: \"Lebanon\", abbreviation: \"LB\" },\n { country: \"Lesotho\", abbreviation: \"LS\" },\n { country: \"Liberia\", abbreviation: \"LR\" },\n { country: \"Libyan Arab Jamahiriya\", abbreviation: \"LY\" },\n { country: \"Liechtenstein\", abbreviation: \"LI\" },\n { country: \"Lithuania\", abbreviation: \"LT\" },\n { country: \"Luxembourg\", abbreviation: \"LU\" },\n { country: \"Macao\", abbreviation: \"MO\" },\n { country: \"North Macedonia\", abbreviation: \"MK\" },\n { country: \"Madagascar\", abbreviation: \"MG\" },\n { country: \"Malawi\", abbreviation: \"MW\" },\n { country: \"Malaysia\", abbreviation: \"MY\" },\n { country: \"Maldives\", abbreviation: \"MV\" },\n { country: \"Mali\", abbreviation: \"ML\" },\n { country: \"Malta\", abbreviation: \"MT\" },\n { country: \"Marshall Islands\", abbreviation: \"MH\" },\n { country: \"Martinique\", abbreviation: \"MQ\" },\n { country: \"Mauritania\", abbreviation: \"MR\" },\n { country: \"Mauritius\", abbreviation: \"MU\" },\n { country: \"Mayotte\", abbreviation: \"YT\" },\n { country: \"Mexico\", abbreviation: \"MX\" },\n { country: \"Micronesia, Federated States of\", abbreviation: \"FM\" },\n { country: \"Moldova\", abbreviation: \"MD\" },\n { country: \"Monaco\", abbreviation: \"MC\" },\n { country: \"Mongolia\", abbreviation: \"MN\" },\n { country: \"Montenegro\", abbreviation: \"ME\" },\n { country: \"Montserrat\", abbreviation: \"MS\" },\n { country: \"Morocco\", abbreviation: \"MA\" },\n { country: \"Mozambique\", abbreviation: \"MZ\" },\n { country: \"Myanmar\", abbreviation: \"MM\" },\n { country: \"Namibia\", abbreviation: \"NA\" },\n { country: \"Nauru\", abbreviation: \"NR\" },\n { country: \"Nepal\", abbreviation: \"NP\" },\n { country: \"Netherlands\", abbreviation: \"NL\" },\n { country: \"Netherlands Antilles\", abbreviation: \"AN\" },\n { country: \"New Caledonia\", abbreviation: \"NC\" },\n { country: \"New Zealand\", abbreviation: \"NZ\" },\n { country: \"Nicaragua\", abbreviation: \"NI\" },\n { country: \"Niger\", abbreviation: \"NE\" },\n { country: \"Nigeria\", abbreviation: \"NG\" },\n { country: \"Niue\", abbreviation: \"NU\" },\n { country: \"Norfolk Island\", abbreviation: \"NF\" },\n { country: \"North Korea\", abbreviation: \"KP\" },\n { country: \"Northern Ireland\", abbreviation: \"GB\" },\n { country: \"Northern Mariana Islands\", abbreviation: \"MP\" },\n { country: \"Norway\", abbreviation: \"NO\" },\n { country: \"Oman\", abbreviation: \"OM\" },\n { country: \"Pakistan\", abbreviation: \"PK\" },\n { country: \"Palau\", abbreviation: \"PW\" },\n { country: \"Palestine\", abbreviation: \"PS\" },\n { country: \"Panama\", abbreviation: \"PA\" },\n { country: \"Papua New Guinea\", abbreviation: \"PG\" },\n { country: \"Paraguay\", abbreviation: \"PY\" },\n { country: \"Peru\", abbreviation: \"PE\" },\n { country: \"Philippines\", abbreviation: \"PH\" },\n { country: \"Pitcairn\", abbreviation: \"PN\" },\n { country: \"Poland\", abbreviation: \"PL\" },\n { country: \"Portugal\", abbreviation: \"PT\" },\n { country: \"Puerto Rico\", abbreviation: \"PR\" },\n { country: \"Qatar\", abbreviation: \"QA\" },\n { country: \"Reunion\", abbreviation: \"RE\" },\n { country: \"Romania\", abbreviation: \"RO\" },\n { country: \"Russian Federation\", abbreviation: \"RU\" },\n { country: \"Rwanda\", abbreviation: \"RW\" },\n { country: \"Saint Helena\", abbreviation: \"SH\" },\n { country: \"Saint Kitts and Nevis\", abbreviation: \"KN\" },\n { country: \"Saint Lucia\", abbreviation: \"LC\" },\n { country: \"Saint Pierre and Miquelon\", abbreviation: \"PM\" },\n { country: \"Saint Vincent and the Grenadines\", abbreviation: \"VC\" },\n { country: \"Samoa\", abbreviation: \"WS\" },\n { country: \"San Marino\", abbreviation: \"SM\" },\n { country: \"Sao Tome and Principe\", abbreviation: \"ST\" },\n { country: \"Saudi Arabia\", abbreviation: \"SA\" },\n { country: \"Senegal\", abbreviation: \"SN\" },\n { country: \"Serbia\", abbreviation: \"RS\" },\n { country: \"Seychelles\", abbreviation: \"SC\" },\n { country: \"Sierra Leone\", abbreviation: \"SL\" },\n { country: \"Singapore\", abbreviation: \"SG\" },\n { country: \"Slovakia\", abbreviation: \"SK\" },\n { country: \"Slovenia\", abbreviation: \"SI\" },\n { country: \"Solomon Islands\", abbreviation: \"SB\" },\n { country: \"Somalia\", abbreviation: \"SO\" },\n { country: \"South Africa\", abbreviation: \"ZA\" },\n {\n country: \"South Georgia and the South Sandwich Islands\",\n abbreviation: \"GS\",\n },\n { country: \"South Korea\", abbreviation: \"KR\" },\n { country: \"South Sudan\", abbreviation: \"SS\" },\n { country: \"Spain\", abbreviation: \"ES\" },\n { country: \"Sri Lanka\", abbreviation: \"LK\" },\n { country: \"Sudan\", abbreviation: \"SD\" },\n { country: \"Suriname\", abbreviation: \"SR\" },\n { country: \"Svalbard and Jan Mayen\", abbreviation: \"SJ\" },\n { country: \"Swaziland\", abbreviation: \"SZ\" },\n { country: \"Sweden\", abbreviation: \"SE\" },\n { country: \"Switzerland\", abbreviation: \"CH\" },\n { country: \"Syria\", abbreviation: \"SY\" },\n { country: \"Tajikistan\", abbreviation: \"TJ\" },\n { country: \"Tanzania\", abbreviation: \"TZ\" },\n { country: \"Thailand\", abbreviation: \"TH\" },\n { country: \"The Democratic Republic of Congo\", abbreviation: \"CD\" },\n { country: \"Timor-Leste\", abbreviation: \"TL\" },\n { country: \"Togo\", abbreviation: \"TG\" },\n { country: \"Tokelau\", abbreviation: \"TK\" },\n { country: \"Tonga\", abbreviation: \"TO\" },\n { country: \"Trinidad and Tobago\", abbreviation: \"TT\" },\n { country: \"Tunisia\", abbreviation: \"TN\" },\n { country: \"Turkey\", abbreviation: \"TR\" },\n { country: \"Turkmenistan\", abbreviation: \"TM\" },\n { country: \"Turks and Caicos Islands\", abbreviation: \"TC\" },\n { country: \"Tuvalu\", abbreviation: \"TV\" },\n { country: \"Uganda\", abbreviation: \"UG\" },\n { country: \"Ukraine\", abbreviation: \"UA\" },\n { country: \"United Arab Emirates\", abbreviation: \"AE\" },\n { country: \"United Kingdom\", abbreviation: \"GB\" },\n { country: \"United States\", abbreviation: \"US\" },\n { country: \"United States Minor Outlying Islands\", abbreviation: \"UM\" },\n { country: \"Uruguay\", abbreviation: \"UY\" },\n { country: \"Uzbekistan\", abbreviation: \"UZ\" },\n { country: \"Vanuatu\", abbreviation: \"VU\" },\n { country: \"Venezuela\", abbreviation: \"VE\" },\n { country: \"Vietnam\", abbreviation: \"VN\" },\n { country: \"Virgin Islands, British\", abbreviation: \"VG\" },\n { country: \"Virgin Islands, U.S.\", abbreviation: \"VI\" },\n { country: \"Wallis and Futuna\", abbreviation: \"WF\" },\n { country: \"Western Sahara\", abbreviation: \"EH\" },\n { country: \"Yemen\", abbreviation: \"YE\" },\n { country: \"Yugoslavia\", abbreviation: \"YU\" },\n { country: \"Zambia\", abbreviation: \"ZM\" },\n { country: \"Zimbabwe\", abbreviation: \"ZW\" },\n];\n\nexport {\n useQuery,\n countries,\n errorAnim,\n pageTransition,\n pageZoom,\n pageSlide,\n shuffleArray,\n};\n","import React from \"react\";\nimport \"./Product.css\";\nimport StarRateRoundedIcon from \"@material-ui/icons/StarRateRounded\";\nimport TextTruncate from \"react-text-truncate\";\nimport defaultImage from \"../../assets/default.jpg\";\nimport {useHistory} from \"react-router-dom\";\nimport {motion} from \"framer-motion\";\nimport {pageTransition, pageZoom} from \"../../util\";\n\nfunction Product({ item, id }) {\n const history = useHistory();\n\n return (\n history.push(`/product/${id}`, { product: item })}\n className=\"product\"\n >\n \n \n {item.discount && Offer!}\n \n \n
\n {item.category}\n \n
\n

\n ${item.price}{\" \"}\n {item.discount && (\n \n ${item.originalPrice}\n \n )}\n

\n
\n \n {item.rating}\n
\n
\n
\n
\n \n );\n}\nexport default Product;\n","import React from \"react\";\nimport \"./Main.css\";\nimport Product from \"./products/Product\";\nimport {useStateValue} from \"../StateProvider\";\n\nfunction Main() {\n const [{ products, category }] = useStateValue();\n return (\n
\n
\n {products?.map((product) =>\n category === \"all\" ? (\n \n ) : category === product.category ? (\n \n ) : null\n )}\n
\n
\n );\n}\nexport default Main;\n","import React from \"react\";\nimport Categories from \"../components/categories/Categories\";\nimport Main from \"../components/Main\";\nimport {motion} from \"framer-motion\";\nimport {pageSlide, pageTransition} from \"../util\";\n\nfunction Home() {\n return (\n \n \n
\n \n );\n}\nexport default Home;\n","import GUN from \"gun\";\nimport 'gun/sea';\nimport 'gun/axe';\nimport firebase from \"firebase/app\";\nimport \"firebase/analytics\";\nimport \"firebase/firestore\";\nimport \"firebase/auth\";\n\nconst gun = GUN(['http://localhost:8765/gun', 'https://gun-manhattan.herokuapp.com/gun']);\n\nconst firebaseConfig = {\n apiKey: \"AIzaSyC5SvOQLOnOj1bPeoNii3dFBdXUGOevI6k\",\n authDomain: \"safemoon-marketplace.firebaseapp.com\",\n databaseURL: \"https://safemoon-marketplace-default-rtdb.europe-west1.firebasedatabase.app/\",\n projectId: \"safemoon-marketplace\",\n storageBucket: \"safemoon-marketplace.appspot.com\",\n messagingSenderId: \"676933090961\",\n appId: \"1:676933090961:web:b2be224a0f6c29072f8930\",\n measurementId: \"G-3KXTBP65BL\"\n};\n\nconst firebaseApp = firebase.initializeApp(firebaseConfig);\nconst provider = new firebase.auth.GoogleAuthProvider();\n//const db = firebaseApp.firestore();\nconst auth = firebase.auth();\nconst analytics = firebase.analytics();\nexport { auth, provider };\nexport {gun};\nexport const db = GUN();\nexport default db;\n","import React, {useEffect, useState} from \"react\";\nimport \"./Login.css\";\nimport {Link, useHistory} from \"react-router-dom\";\nimport VisibilityOffOutlinedIcon from \"@material-ui/icons/VisibilityOffOutlined\";\nimport VisibilityOutlinedIcon from \"@material-ui/icons/VisibilityOutlined\";\nimport {auth, provider} from \"../../firebase\";\nimport {motion} from \"framer-motion\";\nimport {errorAnim, useQuery} from \"../../util\";\nimport {useStateValue} from \"../../StateProvider\";\n\nfunction Login() {\n const [{ loadingBar }] = useStateValue();\n const query = useQuery();\n const history = useHistory();\n const [errorEmail, setErrorEmail] = useState(false);\n const [errorPassword, setErrorPassword] = useState(false);\n const [email, setEmail] = useState(\"\");\n const [password, setPassword] = useState(\"\");\n const [passwordVisible, setPasswordVisible] = useState(false);\n const [formError, setFormError] = useState(\"\");\n const [status, setStatus] = useState(false);\n const [success, setSuccess] = useState(false);\n\n useEffect(() => {\n const code = query.get(\"oobCode\");\n const verifyCode = async (actionCode) => {\n auth\n .applyActionCode(actionCode)\n .then((res) => {\n console.log(res);\n setSuccess(true);\n setFormError(\n \"Your email is verified successfully. Login again to complete the verification process.\"\n );\n if (auth.currentUser) {\n setTimeout(() => history.replace(\"/\"), 3000);\n }\n })\n .catch((err) => {\n err.code === \"auth/invalid-action-code\"\n ? setFormError(\"Link Expired. Login to resend Verification Email.\")\n : setFormError(\"Invalid link. Check again.\");\n });\n };\n if (code) {\n verifyCode(code);\n }\n }, );\n\n const validateEmail = (value) => {\n const re = /\\S+@\\S+\\.\\S+/;\n return re.test(value);\n };\n\n const signIn = async (email, password) => {\n auth\n .signInWithEmailAndPassword(email, password)\n .then((response) => {\n if (!response.user.emailVerified) {\n auth.currentUser\n .sendEmailVerification()\n .then(() => {\n auth.signOut();\n setSuccess(false);\n loadingBar.current.complete();\n setFormError(\n \"Email is not verified. We have sent the verification link again. Please check your inbox/spam.\"\n );\n })\n .catch((err) => console.log(err));\n } else {\n setSuccess(true);\n setFormError(\"Success! Redirecting...\");\n setEmail(\"\");\n setPassword(\"\");\n setTimeout(() => {\n if (!query.get(\"next\")) {\n history.replace(\"/\");\n } else {\n history.replace(`/${query.get(\"next\")}`);\n }\n }, 1000);\n }\n console.log(response);\n setStatus(false);\n })\n .then(() => loadingBar.current.complete())\n .catch((error) => {\n setFormError(error.message);\n loadingBar.current.complete();\n setStatus(false);\n });\n };\n\n const handleSubmit = (e) => {\n e.preventDefault();\n if (!email || !validateEmail(email)) {\n setErrorEmail(true);\n } else if (password.length < 8) {\n setErrorPassword(true);\n } else {\n setStatus(true);\n loadingBar.current.continuousStart();\n signIn(email, password);\n }\n };\n\n return (\n
\n
handleSubmit(e)}>\n

Log In

\n {formError && (\n \n {formError}\n \n )}\n
\n setEmail(e.target.value)}\n onFocus={() => setErrorEmail(false)}\n />\n \n {errorEmail && (\n \n Please check your email address\n \n )}\n
\n
\n setPassword(e.target.value)}\n onFocus={() => setErrorPassword(false)}\n />\n \n {errorPassword && (\n \n Password is Required{\" \"}\n \n Need Help?\n \n \n )}\n {passwordVisible ? (\n \n setPasswordVisible((passwordVisible) => !passwordVisible)\n }\n />\n ) : (\n \n setPasswordVisible((passwordVisible) => !passwordVisible)\n }\n />\n )}\n
\n
\n \n {status ? \"Logging In...\" : \"Log In\"}\n \n
\n \n Need help logging in?\n \n
\n
\n \n history.replace(\n query.get(\"next\")\n ? `/signup?next=${query.get(\"next\")}`\n : \"/signup\"\n )\n }\n className=\"button buttonSecondary signup\"\n >\n Sign Up\n \n
\n \n
\n );\n}\nexport default Login;\n","import React, {useState} from \"react\";\nimport \"./Login.css\";\nimport {Link, useHistory} from \"react-router-dom\";\nimport VisibilityOffOutlinedIcon from \"@material-ui/icons/VisibilityOffOutlined\";\nimport VisibilityOutlinedIcon from \"@material-ui/icons/VisibilityOutlined\";\nimport {auth} from \"../../firebase\";\nimport {motion} from \"framer-motion\";\nimport {errorAnim, useQuery} from \"../../util\";\nimport {useStateValue} from \"../../StateProvider\";\n\nfunction PasswordReset() {\n const [{ loadingBar }] = useStateValue();\n const query = useQuery();\n const history = useHistory();\n\n const [errorEmail, setErrorEmail] = useState(false);\n const [errorPassword, setErrorPassword] = useState(false);\n const [email, setEmail] = useState(\"\");\n const [password, setPassword] = useState(\"\");\n const [passwordVisible, setPasswordVisible] = useState(false);\n const [formError, setFormError] = useState(\"\");\n const [status, setStatus] = useState(false);\n const [success, setSuccess] = useState(false);\n\n const validateEmail = (value) => {\n const re = /\\S+@\\S+\\.\\S+/;\n return re.test(value);\n };\n\n const sendResetLink = async (email) => {\n auth\n .sendPasswordResetEmail(email)\n .then((response) => {\n console.log(response);\n setEmail(\"\");\n setPassword(\"\");\n setFormError(\"Check your mail for the password reset link.\");\n setStatus(false);\n loadingBar.current.complete();\n setSuccess(true);\n })\n .catch((error) => {\n setFormError(error.message);\n setStatus(false);\n loadingBar.current.complete();\n setSuccess(false);\n });\n };\n\n const resetPassword = (newPassword) => {\n auth\n .confirmPasswordReset(query.get(\"oobCode\"), newPassword)\n .then((response) => {\n console.log(response);\n setEmail(\"\");\n setPassword(\"\");\n setFormError(\"Success. Login to continue!\");\n setSuccess(true);\n loadingBar.current.complete();\n setStatus(false);\n if (!query.get(\"next\")) {\n setTimeout(() => history.replace(\"/login\"), 1000);\n } else {\n setTimeout(\n () => history.replace(`/login?next=${query.get(\"next\")}`),\n 1000\n );\n }\n })\n .catch((error) => {\n setFormError(error.message);\n setStatus(false);\n loadingBar.current.complete();\n setSuccess(false);\n });\n };\n\n const handleReset = (e) => {\n e.preventDefault();\n if (password.length < 8) {\n setErrorPassword(true);\n } else {\n setStatus(true);\n loadingBar.current.continuousStart();\n resetPassword(password);\n }\n };\n\n const handleSubmit = (e) => {\n e.preventDefault();\n if (!email || !validateEmail(email)) {\n setErrorEmail(true);\n } else {\n setStatus(true);\n loadingBar.current.continuousStart();\n sendResetLink(email);\n }\n };\n\n return (\n
\n {query.get(\"mode\") === \"resetPassword\" ? (\n
handleReset(e)}>\n

Enter New Password

\n {formError && (\n \n {formError}\n \n )}\n
\n setPassword(e.target.value)}\n onFocus={() => setErrorPassword(false)}\n />\n \n {errorPassword && (\n \n Password must be atleast 8 characters long\n \n )}\n {passwordVisible ? (\n \n setPasswordVisible((passwordVisible) => !passwordVisible)\n }\n />\n ) : (\n \n setPasswordVisible((passwordVisible) => !passwordVisible)\n }\n />\n )}\n
\n
\n \n {status ? \"Verifying...\" : \"Reset Password\"}\n \n
\n
\n \n
\n \n
\n \n \n ) : (\n
handleSubmit(e)}>\n

Recover your Password

\n {formError && (\n \n {formError}\n \n )}\n
\n setEmail(e.target.value)}\n onFocus={() => setErrorEmail(false)}\n />\n \n {errorEmail && (\n \n Please check your email address\n \n )}\n
\n
\n \n {status ? \"Verifying...\" : \"Reset Password\"}\n \n
\n
\n \n
\n \n
\n \n \n )}\n
\n );\n}\nexport default PasswordReset;\n","import React from \"react\";\nimport {pageSlide, pageTransition, useQuery} from \"../util\";\nimport Login from \"../components/auth/Login\";\nimport PasswordReset from \"../components/auth/PasswordReset\";\nimport {motion} from \"framer-motion\";\n\nfunction Auth() {\n const query = useQuery();\n\n return (\n \n {query.get(\"mode\") === \"verifyEmail\" && }\n {query.get(\"mode\") === \"resetPassword\" && }\n \n );\n}\n\nexport default Auth;\n","import React, {useEffect, useState} from \"react\";\nimport \"./Orders.css\";\nimport {useStateValue} from \"../../StateProvider\";\nimport {useHistory} from \"react-router-dom\";\nimport db, {auth} from \"../../firebase\";\n\nfunction Orders() {\n const [{ loadingBar }] = useStateValue();\n const [orders, setOrders] = useState();\n const history = useHistory();\n\n useEffect(() => {\n if (loadingBar) {\n loadingBar.current.continuousStart();\n }\n const unsubscribe = auth.onAuthStateChanged((user) => {\n if (user) {\n db.collection(\"users\")\n .doc(user.uid)\n .collection(\"orders\")\n .orderBy(\"created\", \"desc\")\n .get()\n .then((response) => {\n if (loadingBar) {\n loadingBar.current.complete();\n }\n setOrders(response.docs.map((doc) => doc.data()));\n });\n unsubscribe();\n } else {\n history.replace(\"/login?next=orders\");\n if (loadingBar) {\n loadingBar.current.complete();\n }\n }\n });\n }, []);\n\n return (\n
\n

Your Orders

\n
\n {orders?.map((order) => (\n
\n
Order ID: {order.created}
\n

\n Payment Method: {order.type === \"cod\" && \"COD\"}\n {order.type === \"card\" && \"Card\"}\n

\n
\n {order.items.map((item) => (\n
\n
\n \n
\n {item.name}\n x{item.quantity}\n
\n ))}\n
\n
\n Amount\n \n \n $\n {parseFloat(order.amount).toFixed(2)}\n \n \n
\n
\n ))}\n
\n
\n );\n}\n\nexport default Orders;\n","import React from \"react\";\nimport Orders from \"../components/orders/Orders\";\nimport {motion} from \"framer-motion\";\nimport {pageSlide, pageTransition} from \"../util\";\n\nfunction OrdersPage() {\n return (\n \n \n \n );\n}\nexport default OrdersPage;\n","import React from \"react\";\nimport \"./CartItem.css\";\nimport TextTruncate from \"react-text-truncate\";\nimport RemoveShoppingCartRoundedIcon from \"@material-ui/icons/RemoveShoppingCartRounded\";\nimport {Link} from \"react-router-dom\";\nimport {useStateValue} from \"../../StateProvider\";\nimport {motion} from \"framer-motion\";\nimport {errorAnim} from \"../../util\";\n\nfunction CartItem({ item }) {\n const [{ cart }, dispatch] = useStateValue();\n\n const plusQuantity = () => {\n dispatch({\n type: \"ADD_TO_CART\",\n item: {\n id: item.id,\n },\n });\n };\n\n const minusQuantity = () => {\n dispatch({\n type: \"REMOVE_FROM_CART\",\n id: item.id,\n });\n };\n\n const removeItem = () => {\n dispatch({\n type: \"REMOVE_ALL_ITEMS\",\n id: item.id,\n });\n };\n\n return (\n \n \n \n \n
\n \n \n \n
\n

\n ${(item.price * item.quantity).toFixed(2)}{\" \"}\n {item.discount && (\n \n ${(item.originalPrice * item.quantity).toFixed(2)}\n \n )}\n

\n
\n \n {item.quantity}\n \n
\n
\n \n \n \n
\n
\n
\n \n );\n}\n\nexport default CartItem;\n","import React, {useRef, useState} from \"react\";\nimport \"../cart/Cart.css\";\nimport \"./Admin.css\";\nimport CartItem from \"../cart/CartItem\";\nimport {useStateValue} from \"../../StateProvider\";\nimport {motion} from \"framer-motion\";\nimport {errorAnim} from \"../../util\";\nimport db from \"../../firebase\";\n\nfunction Admin() {\n const [checked, setChecked] = useState(false);\n const [loading, setLoading] = useState(false);\n const [{ cart }] = useStateValue();\n const productForm = useRef(null);\n const handleSubmit = (e) => {\n e.preventDefault();\n const formData = new FormData(productForm.current);\n setLoading(true);\n const featureArray = [];\n formData.get(\"feat1\") && featureArray.push(formData.get(\"feat1\"));\n formData.get(\"feat2\") && featureArray.push(formData.get(\"feat2\"));\n formData.get(\"feat3\") && featureArray.push(formData.get(\"feat3\"));\n formData.get(\"feat4\") && featureArray.push(formData.get(\"feat4\"));\n db.collection(\"products\")\n .add({\n name: formData.get(\"name\"),\n price: parseFloat(formData.get(\"price\")),\n rating: parseFloat(formData.get(\"rating\")),\n category: formData.get(\"category\"),\n discount: formData.get(\"offer\") === \"true\",\n originalPrice: parseFloat(formData.get(\"originalPrice\")),\n imgUrl: formData.get(\"url\"),\n feature: featureArray,\n })\n .then(() => {\n setLoading(false);\n productForm.current.reset();\n });\n };\n\n return (\n
\n

Hi, Admin

\n

\n This is your Dashboard. Add, Edit and Manage your products. Monitor\n Orders, Deliveries, and much more.\n

\n
\n
\n
Recent Orders
\n {cart.map((item) => (\n \n ))}\n
\n
\n
Add New Product
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n setChecked((checked) => !checked)}\n >\n In Offer\n \n
\n {checked && (\n \n \n \n \n )}\n
Features
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n handleSubmit(e)}\n >\n {loading ? \"Adding...\" : \"Add Product\"}\n \n
\n \n
\n
\n );\n}\n\nexport default Admin;\n","import React, {useEffect, useState} from \"react\";\nimport Admin from \"../components/admin/Admin\";\nimport {motion} from \"framer-motion\";\nimport {pageSlide, pageTransition} from \"../util\";\nimport {auth} from \"../firebase\";\nimport {useHistory} from \"react-router-dom\";\n\nfunction AdminPage() {\n const [loading, setLoading] = useState(true);\n const history = useHistory();\n\n useEffect(() => {\n auth.onAuthStateChanged((user) => {\n if (user) {\n setLoading(false);\n } else {\n setLoading(false);\n history.replace(\"/login?next=admin\");\n }\n });\n }, []);\n\n return (\n
\n {loading ? (\n

Checking access...

\n ) : (\n \n \n \n )}\n
\n );\n}\nexport default AdminPage;\n","import React, {useEffect, useState} from \"react\";\nimport {useLocation, useParams} from \"react-router-dom\";\nimport \"./ProductSingle.css\";\nimport TextTruncate from \"react-text-truncate\";\nimport Product from \"./Product\";\nimport AddShoppingCartRoundedIcon from \"@material-ui/icons/AddShoppingCartRounded\";\nimport ShoppingCartRoundedIcon from \"@material-ui/icons/ShoppingCartRounded\";\nimport BookmarkRoundedIcon from \"@material-ui/icons/BookmarkRounded\";\nimport ReactTooltip from \"react-tooltip\";\nimport {useStateValue} from \"../../StateProvider\";\nimport db from \"../../firebase\";\nimport {motion} from \"framer-motion\";\nimport {shuffleArray} from \"../../util\";\nimport axios from \"axios\";\n\nfunction ProductSingle() {\n const { id } = useParams();\n const location = useLocation();\n\n const [productDetails, setProductDetails] = useState(null);\n const [features, setFeatures] = useState([]);\n\n const [isBookmarked, setIsBookmarked] = useState(false);\n const [isAdded, setIsAdded] = useState(false);\n const [suggestions, setSuggestions] = useState([]);\n const [{ cart, bookmarks, products, loadingBar, user }, dispatch] = useStateValue();\n\n useEffect(() => {\n \tif(location.state && location.state.product) {\n \tsetProductDetails(location.state.product)\n \treturn;\n }\n if (loadingBar) {\n loadingBar.current.continuousStart();\n }\n\n axios.get(`/api/products?id=${id}`)\n .then((snapshot) => {\n setProductDetails(snapshot.data);\n })\n .then(() => {\n if (loadingBar) {\n loadingBar.current.complete();\n }\n });\n\n const user = db.collection(\"users\").doc(productDetails.ownerId).get();\n }, [id]);\n\n console.log(user)\n const addToCart = (item) => {\n dispatch({\n type: \"ADD_TO_CART\",\n item: {\n ...productDetails,\n id: id,\n quantity: 1,\n },\n });\n };\n\n const addToBookmarks = (item) => {\n dispatch({\n type: \"ADD_TO_BOOKMARKS\",\n item: {\n ...productDetails,\n id: id,\n },\n });\n };\n\n const sendMessage = \"\";\n\n useEffect(() => {\n \tif (products) {\n setSuggestions(shuffleArray(products));\n }\n }, [products]);\n\n useEffect(() => {\n const bIndex = bookmarks.findIndex((item) => item.id === id);\n if (bIndex >= 0) {\n setIsBookmarked(true);\n } else {\n setIsBookmarked(false);\n }\n\n const cIndex = cart.findIndex((item) => item.id === id);\n if (cIndex >= 0) {\n setIsAdded(true);\n } else {\n setIsAdded(false);\n }\n }, [bookmarks, cart, products, id]);\n\n return (\n
\n
\n \n \n \n
\n \n
    \n {productDetails?.feature?.map((features) => (\n
  • {features}
  • \n ))}\n
\n \n

\n

${productDetails?.price}

{\" \"}\n {(productDetails?.discount) && (\n \n \n $\n {productDetails?.originalPrice}\n \n \n )}\n

\n {(productDetails?.price > 25)}\n
\n {isAdded ? (\n \n ) : (\n \n )}\n \n \n \n \n
\n
\n From: {productDetails?.owner} \n
\n \n
\n
\n
\n
\n
\n
\n
\n You might also like\n
\n
\n {suggestions\n ?.slice(0, 3)\n .map((product) =>\n product.id != id ? (\n \n ) : null\n )}\n
\n
\n
\n );\n}\nexport default ProductSingle;\n","import React from \"react\";\nimport {motion} from \"framer-motion\";\nimport ProductSingle from \"../components/products/ProductSingle\";\nimport {pageTransition, pageZoom} from \"../util\";\n\nfunction Cart() {\n return (\n \n \n \n );\n}\nexport default Cart;\n","export const initialState = {\n cart: [],\n bookmarks: [],\n messenger: [],\n products: [],\n user: null,\n loadingBar: null,\n category: \"all\",\n fuse: null,\n};\n\nconst getCartTotal = (cart) =>\n cart\n ?.reduce((amount, item) => item.price * item.quantity + amount, 0)\n .toFixed(2);\n\nconst getTotalItems = (cart) =>\n cart?.reduce((total, item) => item.quantity + total, 0);\n\nconst reducer = (state, action) => {\n switch (action.type) {\n case \"ADD_TO_CART\": {\n const itemIndex = state.cart.findIndex(\n (cartItem) => cartItem.id === action.item.id\n );\n let newCart = [...state.cart];\n if (itemIndex >= 0) {\n newCart[itemIndex].quantity += 1;\n } else {\n newCart = [...state.cart, action.item];\n }\n localStorage.setItem(\"cart\", JSON.stringify(newCart));\n return {\n ...state,\n cart: newCart,\n };\n }\n\n case \"REMOVE_FROM_CART\": {\n const itemIndex = state.cart.findIndex(\n (cartItem) => cartItem.id === action.id\n );\n let newCart = [...state.cart];\n if (itemIndex >= 0) {\n if (newCart[itemIndex].quantity > 1) {\n newCart[itemIndex].quantity -= 1;\n } else {\n newCart.splice(itemIndex, 1);\n }\n } else {\n console.warn(\"Item Not Found\");\n }\n localStorage.setItem(\"cart\", JSON.stringify(newCart));\n return {\n ...state,\n cart: newCart,\n };\n }\n\n case \"REMOVE_ALL_ITEMS\": {\n const itemIndex = state.cart.findIndex(\n (cartItem) => cartItem.id === action.id\n );\n let newCart = [...state.cart];\n if (itemIndex >= 0) {\n newCart.splice(itemIndex, 1);\n } else {\n console.warn(\"Item Not Found\");\n }\n localStorage.setItem(\"cart\", JSON.stringify(newCart));\n return {\n ...state,\n cart: newCart,\n };\n }\n\n case \"ADD_TO_BOOKMARKS\": {\n const itemIndex = state.bookmarks.findIndex(\n (cartItem) => cartItem.id === action.item.id\n );\n let newBookmarks = [...state.bookmarks];\n if (itemIndex >= 0) {\n newBookmarks.splice(itemIndex, 1);\n } else {\n newBookmarks = [...state.bookmarks, action.item];\n }\n localStorage.setItem(\"bookmarks\", JSON.stringify(newBookmarks));\n return {\n ...state,\n bookmarks: newBookmarks,\n };\n }\n\n case \"SET_USER\":\n return {\n ...state,\n user: action.user,\n };\n\n case \"SET_FUSE\":\n return {\n ...state,\n fuse: action.fuse,\n };\n\n case \"SET_CATEGORY\":\n return {\n ...state,\n category: action.category,\n };\n\n case \"RESTORE_BOOKMARKS\":\n return {\n ...state,\n bookmarks: action.bookmarks,\n };\n\n case \"RESTORE_CART\":\n return {\n ...state,\n cart: action.cart,\n };\n\n case \"EMPTY_CART\":\n localStorage.removeItem(\"cart\");\n return {\n ...state,\n cart: [],\n };\n\n case \"LOADING_BAR\":\n return {\n ...state,\n loadingBar: action.loadingBar,\n };\n\n case \"SET_PRODUCTS\":\n return {\n ...state,\n products: action.products,\n };\n\n default:\n return state;\n }\n};\n\nexport default reducer;\nexport { getCartTotal, getTotalItems };\n","import React, {useEffect, useState} from \"react\";\nimport \"./Payment.css\";\nimport {useStateValue} from \"../../StateProvider\";\nimport {getCartTotal} from \"../../reducer\";\nimport {useHistory} from \"react-router-dom\";\nimport {motion} from \"framer-motion\";\nimport {errorAnim, useQuery} from \"../../util\";\nimport axios from \"axios\";\nimport {CardElement, useElements, useStripe} from \"@stripe/react-stripe-js\";\nimport db, {auth} from \"../../firebase\";\nimport successImg from \"../../assets/success.svg\";\n\nfunction Payment() {\n const stripe = useStripe();\n const stripeElements = useElements();\n const history = useHistory();\n const query = useQuery();\n\n const exchangeRateUrl =\n \"http://apilayer.net/api/live?access_key=85c2840ba2ac0097106aaf4cc489729b¤cies=USD&source=USD&format=1\";\n\n const [{ user, cart, loadingBar }, dispatch] = useStateValue();\n const [orderId, setOrderId] = useState(null);\n const [succeeded, setSucceeded] = useState(false);\n const [showSuccess, setShowSuccess] = useState(false);\n const [processing, setProcessing] = useState(false);\n const [error, setError] = useState(null);\n const [disabled, setDisabled] = useState(true);\n const [userDetails, setUserDetails] = useState(null);\n const [clientSecret, setClientSecret] = useState(\"\");\n const [cardHolder, setCardHolder] = useState(\"\");\n const [cartTotal, setCartTotal] = useState(0);\n const [totalSafemoon, settotalSafemoon] = useState(0);\n const [cartTotalWithTax, setCartTotalWithTax] = useState(0);\n const [deliveryCharges, setDeliveryCharges] = useState(false);\n const [method, setMethod] = useState(\"card\");\n\n /*const Web3 = require('web3');\n const web3 = new Web3('https://bsc-dataseed1.binance.org:443');*/\n\n const changeMethod = (e) => {\n if (e.target.checked) {\n setMethod(e.target.value);\n }\n if (e.target.checked && e.target.value === \"cod\") {\n setError(null);\n }\n };\n\n const [safemoon, setSafemoonPrice] = useState(\"\");\n const [safemoonTotal, setSafemoonTotal] = useState(\"\");\n useEffect(() => {\n const safemoonPrice = async () => {\n axios.get(\"https://api.pancakeswap.info/api/v2/tokens/0x8076c74c5e3f5852037f31ff0093eeb8c8add8d3\").then(res=>{\n const safemoonPrice = parseFloat(res.data.data.price);\n const priceDollar = parseFloat(getCartTotal(cart));\n const safemoonCart = priceDollar / safemoonPrice;\n setSafemoonTotal(safemoonCart);\n setSafemoonPrice(safemoonPrice);\n }).catch(err => console.log(err));\n }\n\n safemoonPrice();\n }, [safemoon]);\n\n function createCryptoPayment(price) {\n /*console.log(price.safemoonTotal)\n web3.eth.sendTransaction({\n from: holder,\n to: '0x0B75fbeB0BC7CC0e9F9880f78a245046eCBDBB0D',\n value: '1000000000000000000',\n gas: 5000000,\n gasPrice: 18e9,\n }, function(err, transactionHash) {\n if (err) {\n console.log(err);\n } else {\n console.log(transactionHash);\n }\n });*/\n }\n\n const createCheckoutSession = async () => {\n setProcessing(true);\n loadingBar.current.continuousStart();\n if (!stripe || !userDetails) {\n return;\n loadingBar.current.complete();\n }\n const totAmount = await parseFloat(getCartTotal(cart));\n axios\n .post(\"/api/create-new-session\", {\n cart: cart,\n userDetails: userDetails,\n shipping: totAmount < 25,\n orderId: orderId,\n uid: user.uid,\n })\n .then((response) => {\n if (response.data.error) {\n setError(response.data.error.message);\n setProcessing(false);\n loadingBar.current.complete();\n } else {\n stripe.redirectToCheckout({\n sessionId: response.data.id,\n });\n }\n })\n .catch((error) => {\n setError(error.message);\n setProcessing(false);\n loadingBar.current.complete();\n });\n };\n\n useEffect(() => {\n if (user) {\n db.collection(\"users\")\n .doc(user.uid)\n .get()\n .then((snapshot) => {\n if (snapshot.exists) {\n setUserDetails(snapshot.data());\n } else {\n history.replace(\"/welcome?next=payment\", { update: true });\n }\n });\n }\n }, [user]);\n\n useEffect(() => {\n const calculateTotal = async () => {\n const totalAmount = await parseFloat(getCartTotal(cart));\n const withTax = totalAmount + totalAmount * 0.10;\n const totalAmountWithTax = parseFloat(withTax.toFixed(2));\n if (totalAmount < 25 && totalAmount > 0) {\n setCartTotalWithTax(totalAmountWithTax + 10.5);\n setCartTotal(totalAmount + 10.0);\n setDeliveryCharges(true);\n } else {\n setCartTotalWithTax(totalAmountWithTax);\n setCartTotal(totalAmount);\n setDeliveryCharges(false);\n }\n };\n calculateTotal();\n }, [cart]);\n\n useEffect(() => {\n if (cartTotalWithTax > 1) {\n const itemsDesc = cart.map(\n (item) =>\n `${item.name.replaceAll(\" \", \"\").substring(0, 15)}_${item.quantity}`\n );\n const toINRsubunits = cartTotalWithTax * 7300;\n const amountINR = parseInt(toINRsubunits);\n axios\n .post(\n `/api/create-new-payment?total=${amountINR}&desc=${itemsDesc.toString()}`,\n { cart: cart }\n )\n .then((response) => {\n setClientSecret(response.data.clientSecret);\n setOrderId(response.data.id);\n })\n .catch((error) => {\n setError(\"Some error occurred. Try again later.\");\n setOrderId(\"Error\");\n });\n }\n }, [cartTotalWithTax]);\n\n const updateDb = (usr, id, amount, created, cartItems) => {\n db.collection(\"users\")\n .doc(usr.uid)\n .collection(\"orders\")\n .doc(id)\n .set({\n created: created | (new Date() / 1000),\n amount: amount,\n items: cartItems,\n type: \"card\",\n })\n .then(() => {\n setSucceeded(true);\n setProcessing(false);\n setError(null);\n setDisabled(false);\n setTimeout(() => {\n if (loadingBar) loadingBar.current.complete();\n setShowSuccess(true);\n dispatch({\n type: \"EMPTY_CART\",\n });\n }, 2000);\n });\n };\n\n useEffect(() => {\n const success = query.get(\"success\");\n if (success && cart.length > 0) {\n setProcessing(true);\n if (loadingBar) loadingBar.current.continuousStart();\n try {\n auth.onAuthStateChanged((signedIn) => {\n if (signedIn) {\n axios\n .get(`/api/retrieve-session?sessionId=${success}`)\n .then((data) => {\n const { metadata, payment_intent, amount_total } = data.data;\n if (metadata.uid === signedIn.uid) {\n console.log(metadata);\n setTimeout(() => {\n updateDb(\n signedIn,\n payment_intent,\n (amount_total / 7300).toFixed(2),\n parseInt(metadata.orderId),\n cart\n );\n history.replace(\"/payment\");\n }, 1000);\n }\n });\n }\n });\n } catch (e) {\n setError(e.error ? e.error.message : \"Some error occured. Try again!\");\n setProcessing(false);\n if (loadingBar) loadingBar.current.complete();\n }\n }\n }, [cart]);\n\n const handleSubmit = async (e) => {\n e.preventDefault();\n setProcessing(true);\n loadingBar.current.continuousStart();\n if (!stripe || !stripeElements || !userDetails) {\n loadingBar.current.complete();\n return;\n }\n if (method === \"card\") {\n stripeElements.getElement(CardElement).update({ disabled: true });\n const result = await stripe\n .confirmCardPayment(clientSecret, {\n payment_method: {\n card: stripeElements.getElement(CardElement),\n billing_details: {\n name: cardHolder,\n phone: userDetails.phone,\n email: userDetails.email,\n address: {\n line1: userDetails.address,\n state: userDetails.state,\n country: userDetails.country,\n postal_code: userDetails.postal_code,\n },\n },\n },\n receipt_email: userDetails.email,\n })\n .then((response) => {\n if (response.error) {\n setError(response.error.message);\n setProcessing(false);\n stripeElements.getElement(CardElement).update({ disabled: false });\n loadingBar.current.complete();\n } else if (\n response.paymentIntent &&\n response.paymentIntent.status === \"succeeded\"\n ) {\n updateDb(\n user,\n response.paymentIntent.id,\n cartTotalWithTax,\n response.paymentIntent.created,\n cart\n );\n }\n });\n } else if (method === \"cod\") {\n db.collection(\"users\")\n .doc(user.uid)\n .collection(\"orders\")\n .add({\n created: (new Date() / 1000) | 0,\n amount: cartTotalWithTax.toFixed(2),\n items: cart,\n type: \"cod\",\n })\n .then(() => {\n setSucceeded(true);\n setProcessing(false);\n setError(null);\n setDisabled(false);\n setTimeout(() => {\n loadingBar.current.complete();\n dispatch({\n type: \"EMPTY_CART\",\n });\n history.replace(\"/orders\");\n }, 2000);\n });\n }\n };\n\n const handleCardChange = (e) => {\n setDisabled(e.empty);\n setError(e.error ? e.error.message : null);\n };\n\n return (\n
\n

Complete your Order, {user?.displayName.split(\" \", 1)}!

\n
\n
\n
How'd you like to pay?
\n

\n Choose a payment method and verify your details to successfully\n place the order.\n

\n {method === \"card\" && (\n \n
\n setCardHolder(e.target.value)}\n type=\"text\"\n placeholder=\"Name (as appears in card)\"\n className=\"payment__cardName\"\n />\n \n
\n \n )}\n {error && (\n \n {error}\n \n )}\n
\n changeMethod(e)}\n />\n \n
\n
\n changeMethod(e)}\n />\n \n
\n {userDetails && (\n
\n
Shipping Details
\n

\n {userDetails.name}\n
\n {`${userDetails.address}, ${userDetails.state}, ${userDetails.country} - ${userDetails.postal_code}`}\n
\n {userDetails.phone}\n
\n {userDetails.email}\n

\n
\n )}\n
\n {!showSuccess ? (\n
\n
Order Summary
\n

Order ID: {orderId ? orderId : \"Generating...\"}

\n
\n {cart.map((item) => (\n
\n {item.name}\n x{item.quantity}\n \n $\n {(item.price * item.quantity).toFixed(2)}\n \n
\n ))}\n {deliveryCharges && (\n
\n Delivery Charges\n \n $10.00\n \n
\n )}\n
\n
\n Total\n \n $\n {cartTotal.toFixed(2)}\n \n
\n
\n
\n Safemoon Price\n \n {safemoon}\n \n
\n
\n Grand Total\n \n \n $\n {cartTotal.toFixed(2)}\n \n \n
\n
\n Safemoon Total\n \n \n {safemoonTotal}\n \n \n \n
\n
\n
\n handleSubmit(e)}\n className=\"button buttonPrimary\"\n >\n {processing\n ? \"Processing...\"\n : succeeded\n ? \"Success!\"\n : method === \"cod\"\n ? \"Confirm Order\"\n : \"Pay Now\"}\n \n \n Pay via\n \n \n \n Pay via Safemoon\n \n \n
\n
\n ) : (\n \n \n
Yay, it's done!
\n {orderId &&

Order ID: {orderId}

}\n

\n Your payment has been successfully processed and we have received\n your order. Check your email for further details.\n

\n
\n history.replace(\"/orders\")}\n className=\"buttonPrimary\"\n >\n My Orders\n \n
\n \n )}\n
\n
\n );\n}\n\nexport default Payment;\n","import React from \"react\";\nimport Payment from \"../components/payments/Payment\";\nimport {motion} from \"framer-motion\";\nimport {pageSlide, pageTransition} from \"../util\";\n\nfunction PaymentPage() {\n return (\n \n \n \n );\n}\nexport default PaymentPage;\n","import React from \"react\";\nimport \"./Messenger.css\";\nimport {useStateValue} from \"../../StateProvider\";\nimport chatting from \"../../assets/chatting.svg\";\nimport {Link} from \"react-router-dom\";\n\nfunction Messenger() {\n const [{ messenger }] = useStateValue();\n\n return (\n
\n

Messenger

\n \n
\n
\n \n
\n
\n

It's empty here.

\n

\n You have no one to talk to yet ? You should go to the store and see if something catch your eye. Contact a store owner then !\n

\n
\n \n \n \n
\n
\n
\n
\n );\n}\nexport default Messenger;\n","import React from \"react\";\nimport Messenger from \"../components/messenger/Messenger\";\nimport {motion} from \"framer-motion\";\nimport {pageTransition, pageZoom} from \"../util\";\n\nfunction MessengerPage() {\n return (\n \n \n \n );\n}\nexport default MessengerPage;\n","import React from \"react\";\nimport \"./Cart.css\";\nimport CartItem from \"./CartItem\";\nimport ReactTooltip from \"react-tooltip\";\nimport {useStateValue} from \"../../StateProvider\";\nimport {getCartTotal, getTotalItems} from \"../../reducer\";\nimport {Link} from \"react-router-dom\";\nimport emptyCart from \"../../assets/emptyCart.svg\";\n\nfunction Cart() {\n const [{ user, cart }] = useStateValue();\n\n return (\n
\n

Your Cart

\n {cart.length > 0 ? (\n
\n
\n \n {cart.map((item) => (\n \n ))}\n
\n
\n
Checkout
\n

Sub-Total: ${getCartTotal(cart)}

\n

Number of items: {getTotalItems(cart)}

\n

\n This price is exclusive of taxes. GST will be added during\n checkout.\n

\n
\n \n \n \n
\n
\n
\n ) : (\n
\n
\n \n
\n
\n

Your cart feels lonely.

\n

\n Your shopping cart lives to serve. Give it purpose - fill it with\n books, electronicts, videos, etc. and make it happy.\n

\n
\n \n \n \n
\n
\n
\n )}\n
\n );\n}\n\nexport default Cart;\n","import React from \"react\";\nimport Cart from \"../components/cart/Cart\";\nimport {motion} from \"framer-motion\";\nimport {pageTransition, pageZoom} from \"../util\";\n\nfunction CartPage() {\n return (\n \n \n \n );\n}\nexport default CartPage;\n","import React from \"react\";\nimport \"./Donation.css\";\nimport crypto from '../../assets/cryptocurrency-certificate.png';\nimport bitcoin from '../../assets/bitcoin.png';\nimport ether from '../../assets/ether.png';\nimport doge from '../../assets/doge.png';\nimport ltc from '../../assets/ltc.png';\nimport bnb from '../../assets/bnb.png';\nimport iota from '../../assets/iota.png';\nimport cardano from '../../assets/cardano.png';\nimport vechain from '../../assets/vechain.png';\nimport xrp from '../../assets/xrp.png';\nimport safemoon from '../../assets/safemoon.png';\n\nfunction Donation() {\n return (\n
\n \t
\n\t\t \t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t \t
\n\t\t\t\t \t\t

\n\t\t\t\t \t\t\tDonation Page\n\t\t\t\t \t\t

\n\t\t\t\t \t\t
\n\t\t\t\t \t\t\t

Any donations provided will go toward the following:

\n\t\t\t\t\t\t\t
\n\t\t\t\t \t
\n\t\t\t\t \t
\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t
  • Keep the platform up and running without ads
  • \n\t\t\t\t\t\t\t\t\t
  • Adding of more features
  • \n\t\t\t\t\t\t\t\t\t
  • Pay the hosting cost and any fees in relation to the platform
  • \n\t\t\t\t\t\t\t\t\t
  • Expand the team to improve the platform and add features faster
  • \n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t \t\"crypto\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t \t
Copy sending address of the currency you wish to donate\n\t\t\t\t\t\t
\n\t\t\t\t \t
    \n\n\t\t\t\t \t\t
  • \n\t\t\t\t \t\t\t
    \n\t\t\t\t\t \t\t \t\"Safemoon\n\t\t\t\t\t \t\tSafeMoon\n\t\t\t\t \t\t\t
    \n\t\t\t\t\t\t \n\t\t\t\t \t\t\t
    \n\t\t\t\t \t\t\t\n\t\t\t\t \t\t\t
    \n\t\t\t\t \t\t
  • \n\t\t\t\t \t\t\n\t\t\t\t \t\t
  • \n\t\t\t\t \t\t\t
    \n\t\t\t\t \t\t\t\"bitcoin\n\t\t\t\t \t\t\tBitcoin\n\t\t\t\t \t\t\t
    \n\t\t\t\t \t\t\t\n\t\t\t\t \t\t\t
    \n\t\t\t\t \t\t\t\n\t\t\t\t \t\t\t
    \n\t\t\t\t \t\t
  • \n\n\t\t\t\t \t\t
  • \n\t\t\t\t \t\t\t
    \n\t\t\t\t\t \t\t \t\"ether\n\t\t\t\t\t \t\tEthereum\n\t\t\t\t \t\t\t
    \n\t\t\t\t\t\t \n\t\t\t\t \t\t\t
    \n\t\t\t\t \t\t\t\n\t\t\t\t \t\t\t
    \n\t\t\t\t \t\t
  • \n\t\t\t\t \t\t\n\t\t\t\t \t\t
  • \n\t\t\t\t \t\t\t
    \n\t\t\t\t \t\t\t\"litecoin\n\t\t\t\t \t\t\tLTC\n\t\t\t\t \t\t\t
    \n\t\t\t\t \t\t\t\n\t\t\t\t \t\t\t
    \n\t\t\t\t \t\t\t\n\t\t\t\t \t\t\t
    \n\t\t\t\t \t\t
  • \n\n\t\t\t\t \t\t
  • \n\t\t\t\t \t\t\t
    \n\t\t\t\t\t \t\t \t\"bnb\n\t\t\t\t\t \t\tBNB\n\t\t\t\t \t\t\t
    \n\t\t\t\t\t\t \n\t\t\t\t \t\t\t
    \n\t\t\t\t \t\t\t\n\t\t\t\t \t\t\t
    \n\t\t\t\t \t\t
  • \n\t\t\t\t \t\t\n\t\t\t\t \t\t
  • \n\t\t\t\t \t\t\t
    \n\t\t\t\t \t\t\t\"cardano\n\t\t\t\t \t\t\tADA\n\t\t\t\t \t\t\t
    \n\t\t\t\t \t\t\t\n\t\t\t\t \t\t\t
    \n\t\t\t\t \t\t\t\n\t\t\t\t \t\t\t
    \n\t\t\t\t \t\t
  • \n\n\t\t\t\t \t\t
  • \n\t\t\t\t \t\t\t
    \n\t\t\t\t\t \t\t \t\"doge\n\t\t\t\t\t \t\tDoge\n\t\t\t\t \t\t\t
    \n\t\t\t\t\t\t \n\t\t\t\t \t\t\t
    \n\t\t\t\t \t\t\t\n\t\t\t\t \t\t\t
    \n\t\t\t\t \t\t
  • \n\t\t\t\t \t\t\n\t\t\t\t \t\t
  • \n\t\t\t\t \t\t\t
    \n\t\t\t\t \t\t\t\"xrp\n\t\t\t\t \t\t\tXRP\n\t\t\t\t \t\t\t
    \n\t\t\t\t \t\t\t\n\t\t\t\t \t\t\t
    \n\t\t\t\t \t\t\t\n\t\t\t\t \t\t\t
    \n\t\t\t\t \t\t
  • \n\n\t\t\t\t \t\t
  • \n\t\t\t\t \t\t\t
    \n\t\t\t\t \t\t\t\"vechain\n\t\t\t\t \t\t\tVechain\n\t\t\t\t \t\t\t
    \n\t\t\t\t \t\t\t\n\t\t\t\t \t\t\t
    \n\t\t\t\t \t\t\t\n\t\t\t\t \t\t\t
    \n\t\t\t\t \t\t
  • \n\t\t\t\t \t\t
  • \n\t\t\t\t \t\t\t
    \n\t\t\t\t \t\t\t\"iota\n\t\t\t\t \t\t\tIOTA\n\t\t\t\t \t\t\t
    \n\t\t\t\t \t\t\t\n\t\t\t\t \t\t\t
    \n\t\t\t\t \t\t\t\n\t\t\t\t \t\t\t
    \n\t\t\t\t \t\t
  • \n\t\t\t\t \t
\n\t\t\t\t
\n\t\t\t\t

Or via Paypal

\n\t\t\t\t
\n \t\t\t\t\n \t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t\t
\n
\n );\n}\n\nexport default Donation;\n","import React from \"react\";\nimport Donation from \"../components/donations/Donation\";\nimport {motion} from \"framer-motion\";\nimport {pageTransition, pageZoom} from \"../util\";\n\nfunction DonationPage() {\n return (\n \n \n \n );\n}\nexport default DonationPage;\n","import React from 'react';\nimport Select from 'react-select'\n\nconst DropdownCoinList = ({ setCoin, filteredCoins, coin, firstUpdate}) => {\n\n const customStyles = {\n dropdownIndicator: base => ({\n ...base,\n color: 'black'\n }),\n control: base => ({\n ...base,\n borderColor: 'black',\n // This line disable the blue borde\n })\n };\n\n const handleChange = (e) => {\n setCoin(e.value);\n console.log('./Dropdown: coin is', e.value )\n }\n\n const options = filteredCoins.map((coin) => {\n return {\n value: coin.id,\n label: coin.name\n }\n });\n\n\n\n return (\n handleChange(e)} isSearchable\n styles={customStyles}\n theme={theme => ({\n ...theme,\n borderRadius: 0,\n\n colors: {\n ...theme.colors,\n primary25: 'rgb(120, 202, 200)',\n primary: 'black',\n borderRadius: 'black'\n },\n })\n\n }>\n \n )\n}\n\nexport default DropdownCoinList\n","import React, { useState, useEffect } from 'react';\nimport {Row, Col, Container} from 'react-bootstrap'\nimport DropdownCoinList from './DropdownCoinList';\nimport { format, sub, eachDayOfInterval } from 'date-fns';\nimport axios from 'axios';\nimport { Line } from 'react-chartjs-2';\n\nconst Charts = ({ filteredCoins }) => {\n\n let priceData = [];\n let price = [];\n let dates;\n\n const [coin, setCoin] = useState();\n const [chartData, setChartData] = useState({})\n\n\n const chart = () => {\n\n axios\n .get(\n `https://api.coingecko.com/api/v3/coins/${coin}/market_chart`, {\n params: {\n vs_currency: 'usd',\n days: '100'\n }\n })\n .then(res => {\n priceData = res.data.prices.map( e => { return e})\n getDates();\n getPrices();\n historicalChart();\n })\n .catch(error => console.log(error))\n}\n\n const getDates = () => {\n\n const todaysDate = new Date();\n const daysBack = sub(todaysDate, {days: 100});\n const range = eachDayOfInterval(\n { start: daysBack, end: todaysDate })\n\n const rangeFormatted = range.map((el) => {\n const dateFormatted = format(el, 'MM/dd/yy');\n return dateFormatted\n });\n dates = rangeFormatted\n }\n\n const getPrices = () => {\n const targetData = [];\n Object.values(priceData).forEach(val => {\n targetData.push(val[1]); \n });\n price = targetData.map( e => { return e});\n }\n\n const historicalChart =() => {\n setChartData({\n labels: dates,\n datasets: [\n {\n label: 'daily closes in USD',\n data: price,\n fill: false,\n backgroundColor: 'rgb(120, 202, 200)',\n borderColor : 'green',\n tension: 0.5\n }\n ]\n })\n }\n\nuseEffect( () => {\n chart();\n // eslint-disable-next-line\n}, [coin,]);\n return (\n
\n \n \n
\n )\n}\n\nexport default Charts\n","import React, { useState } from 'react';\nimport Button from 'react-bootstrap/Button';\nimport Container from 'react-bootstrap/Container'\nimport Row from 'react-bootstrap/Row'\nimport Col from 'react-bootstrap/Col'\nimport './News.css'\n\nconst CoinFilter = ({coins, setCoins}) => {\n\n const [toggle, setToggle] = useState('');\n\n const sortByPercent = () => {\n const byChange = coins.sort((a ,b) =>\n toggle ? (setToggle(false), a.price_change_percentage_24h-b.price_change_percentage_24h)\n : (setToggle(true), b.price_change_percentage_24h -a.price_change_percentage_24h)\n );\n setCoins(byChange)\n};\n\n const sortByVolume = () => {\n const byChange = coins.sort((a,b) =>\n toggle ? (setToggle(false), a.total_volume - b.total_volume)\n : (setToggle(true), b.total_volume - a.total_volume)\n );\n setCoins(byChange)\n }\n\n const sortByPrice = () => {\n const byChange = coins.sort((a,b) =>\n toggle ? (setToggle(false), a.current_price - b.current_price)\n : (setToggle(true), b.current_price - a.current_price)\n );\n setCoins(byChange)\n }\n\n const sortByMarketcap = () => {\n const byChange = coins.sort((a,b) =>\n toggle ? (setToggle(false), a.market_cap - b.market_cap)\n : (setToggle(true), b.market_cap - a.market_cap)\n );\n setCoins(byChange)\n\n }\n\n const sortByNameDescending = () => {\n const byChange = coins.sort((a,b) => {\n if (a.symbol < b.symbol) return - 1;\n else if ( a.symbol > b.symbol ) return 1;\n return 0;\n });\n setCoins(byChange);\n setToggle(false);\n };\n\n const sortByNameAscending = () => {\n const byChange = coins.sort((a,b) => {\n if (b.symbol < a.symbol) return - 1;\n else if ( b.symbol > a.symbol ) return 1;\n return 0;\n });\n setCoins(byChange);\n setToggle(true);\n }\n\n\n return (\n
\n

Filter by:

\n \n \n \n \n \n
\n )\n}\n\nexport default CoinFilter\n","import React from 'react';\nimport {BrowserView, MobileView} from 'react-device-detect';\nimport './News.css'\n\nconst Coin = ({ name, image, symbol, price, volume, priceChange, marketcap }) => {\n\n const formatPercent = number => {\n let string = number.toFixed(2).toString();\n string += '%';\n return string;\n }\n\n return (\n <>\n \n
\n
\n
\n crypto\n

{name}

\n
\n
\n

${price}

\n

${volume.toLocaleString()}

\n {priceChange < 0 ? (\n

{formatPercent(priceChange)}

\n ) : (\n

{formatPercent(priceChange)}

\n )}\n

\n Mkt cap: ${marketcap.toLocaleString()}\n

\n
\n
\n
\n
\n \n
\n
\n
\n crypto\n

{name}

\n
\n
\n

${price}

\n
\n
\n
\n
\n \n );\n};\n\n export default Coin\n","import React from 'react';\nimport CoinFilter from './CoinFilter.js'\nimport Coin from './Coin';\n\nconst List = ({ filteredCoins, setCoins }) => {\n\n return (\n
\n \n

\n {filteredCoins.map(coin => {\n return (\n \n );\n })}\n
\n )\n}\n\nexport default List\n","import React, { useState, useEffect } from 'react';\nimport axios from 'axios';\nimport Charts from './Charts';\nimport List from './List.js';\nimport SearchRoundedIcon from \"@material-ui/icons/SearchRounded\";\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport {Button, Container, Row, Col} from 'react-bootstrap';\nimport './News.css';\n\nfunction News() {\n\n const [coins, setCoins] = useState([]);\n const [search, setSearch] = useState('');\n const [showCharts, setShowCharts] = useState(false);\n\n useEffect(() => {\n axios\n .get(\n 'https://api.coingecko.com/api/v3/coins/markets?vs_currency=usd&order=market_cap_desc&per_page=200&page=1&sparkline=false'\n )\n .then(res => {\n setCoins(res.data);\n })\n .catch(error => console.log(error))\n }, []);\n\n const handleChange = e => {\n setSearch(e.target.value);\n };\n\n const onClick = () => {\n showCharts ? (setShowCharts(false)) : (setShowCharts(true))\n };\n\n const filteredCoins = coins.filter(coin =>\n coin.name.toLowerCase().includes(search.toLowerCase())\n );\n\n\n return (\n
\n

Market overview

\n
\n
\n
\n \n \n \n
\n
\n \n
\n
\n {showCharts ? :\n }\n
\n );\n}\n\nexport default News;","import React from \"react\";\nimport News from \"../components/news/News\";\nimport \"../components/news/News.css\";\nimport {motion} from \"framer-motion\";\nimport {pageTransition, pageZoom} from \"../util\";\n\nfunction NewsPage() {\n return (\n \n \n \n );\n}\nexport default NewsPage;\n","import React from \"react\";\nimport \"./Bookmarks.css\";\nimport {useStateValue} from \"../../StateProvider\";\nimport Product from \"../products/Product\";\nimport emptyBookmarks from \"../../assets/emptyBookmarks.svg\";\nimport {Link} from \"react-router-dom\";\n\nfunction Bookmarks() {\n const [{ bookmarks }] = useStateValue();\n\n return (\n
\n

Bookmarks

\n {bookmarks.length > 0 ? (\n
\n {bookmarks.map((product) => (\n \n ))}\n
\n ) : (\n
\n
\n \n
\n
\n

It's empty here.

\n

\n Something's catching your eye? Add your favorite items to\n Bookmarks, and check them out anytime you wish.\n

\n
\n \n \n \n
\n
\n
\n )}\n
\n );\n}\nexport default Bookmarks;\n","import React from \"react\";\nimport Bookmarks from \"../components/bookmarks/Bookmarks\";\nimport {motion} from \"framer-motion\";\nimport {pageTransition, pageZoom} from \"../util\";\n\nfunction BookmarkPage() {\n return (\n \n \n \n );\n}\nexport default BookmarkPage;\n","import React, {useState} from \"react\";\nimport \"./Login.css\";\nimport {useHistory} from \"react-router-dom\";\nimport VisibilityOffOutlinedIcon from \"@material-ui/icons/VisibilityOffOutlined\";\nimport VisibilityOutlinedIcon from \"@material-ui/icons/VisibilityOutlined\";\nimport {auth, provider} from \"../../firebase\";\nimport {motion} from \"framer-motion\";\nimport {errorAnim, useQuery} from \"../../util\";\nimport {useStateValue} from \"../../StateProvider\";\n\nfunction Signup() {\n const [{ loadingBar }] = useStateValue();\n const query = useQuery();\n const history = useHistory();\n const [errorName, setErrorName] = useState(false);\n const [errorEmail, setErrorEmail] = useState(false);\n const [errorPassword, setErrorPassword] = useState(false);\n const [name, setName] = useState(\"\");\n const [email, setEmail] = useState(\"\");\n const [password, setPassword] = useState(\"\");\n const [passwordVisible, setPasswordVisible] = useState(false);\n const [formError, setFormError] = useState(\"\");\n const [status, setStatus] = useState(false);\n const [success, setSuccess] = useState(false);\n\n const googleSignIn = (e) => {\n e.preventDefault();\n setStatus(true);\n loadingBar.current.continuousStart();\n auth\n .signInWithPopup(provider)\n .then((result) => {\n setTimeout(() => {\n if (!query.get(\"next\")) {\n history.replace(\"/\");\n } else {\n history.replace(`/${query.get(\"next\")}`);\n }\n }, 1000);\n\n console.log(result);\n setSuccess(true);\n setFormError(\"You are signed in!\");\n setStatus(false);\n loadingBar.current.complete();\n })\n .catch((error) => {\n setFormError(error.message);\n setStatus(false);\n loadingBar.current.complete();\n });\n };\n\n const validateEmail = (value) => {\n const re = /\\S+@\\S+\\.\\S+/;\n return re.test(value);\n };\n\n const signUp = async (name, email, password) => {\n auth\n .createUserWithEmailAndPassword(email, password)\n .then(() => {\n auth.currentUser.sendEmailVerification().then(() => {\n auth.currentUser\n .updateProfile({\n displayName: name,\n photoURL: `https://www.gravatar.com/avatar/EMAIL_MD5?d=https%3A%2F%2Fui-avatars.com%2Fapi%2F/Lasse+Rafn/128`,\n })\n .then(() => {\n setSuccess(true);\n loadingBar.current.complete();\n setFormError(\n \"Verify your email to complete registration. Check your inbox/spam for verification email.\"\n );\n setStatus(false);\n setTimeout(() => {\n if (!query.get(\"next\")) {\n history.replace(\"/welcome\");\n } else {\n history.replace(`/welcome?next=${query.get(\"next\")}`);\n }\n }, 3000);\n })\n .catch((error) => console.log(error.message));\n });\n })\n .catch((error) => {\n setFormError(error.message);\n loadingBar.current.complete();\n setStatus(false);\n });\n };\n\n const handleSubmit = (e) => {\n e.preventDefault();\n if (!name) {\n setErrorName(true);\n } else if (!email || !validateEmail(email)) {\n setErrorEmail(true);\n } else if (password.length < 8) {\n setErrorPassword(true);\n } else {\n setStatus(true);\n loadingBar.current.continuousStart();\n signUp(name, email, password);\n }\n };\n\n return (\n
\n
handleSubmit(e)}>\n

Create your Account

\n {formError && (\n \n {formError}\n \n )}\n {success &&

Redirecting...

}\n {!success && (\n \n
\n setName(e.target.value)}\n onFocus={() => setErrorName(false)}\n />\n \n {errorName && (\n \n You don't wanna be called Anonymous\n \n )}\n
\n
\n setEmail(e.target.value)}\n onFocus={() => setErrorEmail(false)}\n />\n \n {errorEmail && (\n \n Please check your email address\n \n )}\n
\n
\n setPassword(e.target.value)}\n onFocus={() => setErrorPassword(false)}\n />\n \n {errorPassword && (\n \n Password must be atleast 8 characters long\n \n )}\n {passwordVisible ? (\n \n setPasswordVisible((passwordVisible) => !passwordVisible)\n }\n />\n ) : (\n \n setPasswordVisible((passwordVisible) => !passwordVisible)\n }\n />\n )}\n
\n
\n \n {status ? \"Creating your account...\" : \"Sign Up\"}\n \n
\n
\n Already have an account?\n
\n \n history.replace(\n query.get(\"next\")\n ? `/login?next=${query.get(\"next\")}`\n : \"/login\"\n )\n }\n disabled={status}\n className=\"button buttonSecondary signup\"\n >\n Login In, instead\n \n \n \n Sign in with Google\n \n
\n \n )}\n \n
\n );\n}\nexport default Signup;\n","import React, {useRef, useState} from \"react\";\nimport \"./Login.css\";\nimport \"./Welcome.css\";\nimport {useHistory, useLocation} from \"react-router-dom\";\nimport db from \"../../firebase\";\nimport {useStateValue} from \"../../StateProvider\";\nimport {countries, useQuery} from \"../../util\";\n\nfunction Welcome() {\n const query = useQuery();\n const history = useHistory();\n const location = useLocation();\n const checkbox = useRef(null);\n const [address, setAddress] = useState(\"\");\n const [stateName, setStateName] = useState(\"\");\n const [country, setCountry] = useState(\"\");\n const [zipcode, setZipcode] = useState(\"\");\n const [phone, setPhone] = useState(\"\");\n const [walletAddress, setWalletAddress] = useState(\"\");\n const [dob, setDob] = useState(\"\");\n const [checked, setChecked] = useState(false);\n const [status, setStatus] = useState(false);\n const [loading, setLoading] = useState(false);\n const [{ user, loadingBar }] = useStateValue();\n\n const validateNumber = (value) => {\n const re = /^(\\+\\d{1,3}[- ]?)?\\d{10}$/;\n return re.test(value);\n };\n\n const updateProfile = async () => {\n setLoading(true);\n db.collection(\"users\")\n .doc(user.uid)\n .set(\n {\n name: user.displayName,\n walletAddress: walletAddress,\n email: user.email,\n phone: phone,\n dob: dob,\n address: address,\n state: stateName,\n country: country,\n postal_code: zipcode,\n },\n { merge: true }\n )\n .then(() => {\n setLoading(false);\n loadingBar.current.complete();\n const nextUrl = query.get(\"next\");\n if (!nextUrl) {\n history.replace(\"/\");\n } else if (nextUrl === \"payment\") {\n history.replace(\"/payment?from=signup\");\n } else {\n history.replace(`/${nextUrl}`);\n }\n });\n };\n\n const handleSubmit = (e) => {\n e.preventDefault();\n if (country && validateNumber(phone) && checked) {\n setStatus(true);\n loadingBar.current.continuousStart();\n updateProfile();\n } else {\n alert(\"Please check your details again!\");\n }\n };\n\n return (\n
\n
\n \n \n

\n {location.state?.update ? <>Before you continue : <>Welcome},{\" \"}\n {user?.displayName}\n

\n

\n {location.state?.update ? (\n <>\n We need you to update some of your shipping and contact details.\n These details will be saved for future orders.\n \n ) : (\n <>\n We would like to know a\n little bit more about yourself. You may still want to confirm\n your email address to login next time.\n \n )}\n

\n
\n
\n
\n
handleSubmit(e)}>\n
\n
Delivery Address
\n
\n setAddress(e.target.value)}\n required\n />\n \n
\n
\n setStateName(e.target.value)}\n required\n />\n \n
\n
\n setCountry(e.target.value)}\n required\n >\n \n {countries.map((item) => (\n \n ))}\n \n \n
\n
\n setZipcode(e.target.value)}\n required\n />\n \n
\n
\n
\n
Personal Details
\n
\n setDob(e.target.value)}\n required\n />\n \n
\n
\n setPhone(e.target.value)}\n />\n \n
\n
\n setWalletAddress(e.target.value)}\n />\n \n
\n
\n \n setChecked((checked) => !checked)}\n for=\"terms\"\n >\n Accept Terms & Conditions\n \n
\n
\n \n {status ? \"Updating...\" : \"Update Profile\"}\n \n
\n
\n
\n
\n
\n );\n}\nexport default Welcome;\n","import React, {useEffect, useRef, useState} from \"react\";\nimport \"./Store.css\";\nimport {useStateValue} from \"../../StateProvider\";\nimport {motion} from \"framer-motion\";\nimport {errorAnim} from \"../../util\";\nimport db from \"../../firebase\";\n\nfunction AddProductStore({showForm, triggerParentUpdate}) {\n const [checked, setChecked] = useState(false);\n const [error, setError] = useState(null);\n const [{ user, loadingBar }] = useStateValue();\n const [loading, setLoading] = useState(false);\n const productForm = useRef(null);\n\n const handleSubmit = (e) => {\n e.preventDefault();\n const formData = new FormData(productForm.current);\n setLoading(true);\n const featureArray = [];\n formData.get(\"feat1\") && featureArray.push(formData.get(\"feat1\"));\n formData.get(\"feat2\") && featureArray.push(formData.get(\"feat2\"));\n formData.get(\"feat3\") && featureArray.push(formData.get(\"feat3\"));\n formData.get(\"feat4\") && featureArray.push(formData.get(\"feat4\"));\n db.collection(\"users\")\n .doc(user.uid)\n .collection(\"products\")\n .add({\n name: formData.get(\"name\"),\n owner: user.displayName,\n ownerId: user.uid,\n price: parseFloat(formData.get(\"price\")),\n stock: parseFloat(formData.get(\"stock\")),\n category: formData.get(\"category\"),\n discount: formData.get(\"offer\") === \"true\",\n originalPrice: parseFloat(formData.get(\"originalPrice\")),\n imgUrl: formData.get(\"url\"),\n feature: featureArray,\n })\n .then(() => {\n setLoading(false);\n productForm.current.reset();\n triggerParentUpdate(false);\n });\n };\n\n return (\n
\n
\n Product informations\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n setChecked((checked) => !checked)}\n >\n In Offer\n \n
\n {checked && (\n \n \n \n \n )}\n
\n
\n Description\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n handleSubmit(e)}\n >\n {loading ? \"Adding...\" : \"Add Product\"}\n \n
\n
\n
\n \n );\n}\n\nexport default AddProductStore;\n","import React, {useEffect, useRef, useState} from \"react\";\nimport \"./Store.css\";\nimport {useStateValue} from \"../../StateProvider\";\nimport {motion} from \"framer-motion\";\nimport {errorAnim} from \"../../util\";\nimport {countries, useQuery} from \"../../util\";\nimport db from \"../../firebase\";\n\nfunction AddInfosStore() {\n const [error, setError] = useState(null);\n const checkbox = useRef(null);\n const [address, setAddress] = useState(\"\");\n const [name, setName] = useState(\"\");\n const [description, setDescription] = useState(\"\");\n const [stateName, setStateName] = useState(\"\");\n const [country, setCountry] = useState(\"\");\n const [zipcode, setZipcode] = useState(\"\");\n const [phone, setPhone] = useState(\"\");\n const [walletAddress, setWalletAddress] = useState(\"\");\n const [checked, setChecked] = useState(false);\n const [status, setStatus] = useState(false);\n const [store, setStore] = useState(false);\n const [{ user, loadingBar }] = useStateValue();\n const [loading, setLoading] = useState(false);\n\n const handleSubmit = (e) => {\n e.preventDefault();\n if (country && validateNumber(phone) && checked) {\n setStatus(true);\n loadingBar.current.continuousStart();\n updateStore();\n setStatus(false);\n } else {\n alert(\"Please check your details again!\");\n }\n };\n\n const validateNumber = (value) => {\n const re = /^(\\+\\d{1,3}[- ]?)?\\d{10}$/;\n return re.test(value);\n };\n \n const storeInfos = db.collection(\"users\")\n .doc(user.uid)\n .collection(\"store\").get().then((response) => {\n setStore(response.docs.map((doc) => ({\n id: doc.id,\n ...doc.data(),\n })));\n return store;\n });\n\n const updateStore = async () => {\n if (store.length === 0) {\n setLoading(true);\n db.collection(\"users\")\n .doc(user.uid)\n .collection(\"store\")\n .doc()\n .set({\n name: name,\n owner: user.displayName,\n ownerId: user.uid,\n walletAddress: walletAddress,\n email: user.email,\n phone: phone,\n description: description,\n address: address,\n state: stateName,\n country: country,\n postal_code: zipcode,\n }, { merge: true }\n )\n .then(() => {\n setLoading(false);\n loadingBar.current.complete();\n });\n } else {\n setLoading(true);\n db.collection(\"users\")\n .doc(user.uid)\n .collection(\"store\")\n .doc(store[0].id)\n .set({\n name: name,\n owner: user.displayName,\n ownerId: user.uid,\n walletAddress: walletAddress,\n email: user.email,\n phone: phone,\n description: description,\n address: address,\n state: stateName,\n country: country,\n postal_code: zipcode,\n }, { merge: true }\n )\n .then(() => {\n setLoading(false);\n loadingBar.current.complete();\n });\n }\n \n };\n\n return (\n
handleSubmit(e)}>\n
\n

Delivery Address

\n
\n setAddress(e.target.value)}\n required\n />\n \n
\n
\n setStateName(e.target.value)}\n required\n />\n \n
\n
\n setCountry(e.target.value)}\n required\n >\n \n {countries.map((item) => (\n \n ))}\n \n \n
\n
\n setZipcode(e.target.value)}\n required\n />\n \n
\n
\n
\n

Personal Details

\n
\n setName(e.target.value)}/>\n \n
\n
\n setPhone(e.target.value)}\n />\n \n
\n
\n setWalletAddress(e.target.value)}\n />\n \n
\n
\n setDescription(e.target.value)} />\n \n
\n
\n \n setChecked((checked) => !checked)}\n for=\"terms\"\n >\n Accept Terms & Conditions\n \n
\n
\n \n {status ? \"Updating...\" : \"Update Infos\"}\n \n
\n
\n
\n \n );\n}\n\nexport default AddInfosStore;\n","import React, {useEffect, useRef, useState} from \"react\";\nimport \"../cart/Cart.css\";\nimport \"./Store.css\";\nimport CartItem from \"../cart/CartItem\";\nimport {Tab, TabList, TabPanel, Tabs} from 'react-tabs';\nimport 'react-tabs/style/react-tabs.css';\nimport { useStateValue } from \"../../StateProvider\";\nimport { motion } from \"framer-motion\";\nimport { useQuery, errorAnim } from \"../../util\";\nimport db, {auth} from \"../../firebase\";\nimport AddProductStore from \"./addProductStore\";\nimport AddInfosStore from \"./addInfosStore\";\nimport { Link, useHistory } from \"react-router-dom\";\nimport EditRoundedIcon from '@material-ui/icons/EditRounded';\nimport DeleteRoundedIcon from '@material-ui/icons/DeleteRounded';\n\nfunction Store() {\n const [checked, setChecked] = useState(false);\n const query = useQuery();\n const [processing, setProcessing] = useState(false);\n const [error, setError] = useState(null);\n const [productOwned, setProductOwned] = useState();\n const [{ user, loadingBar }] = useStateValue();\n const [loading, setLoading] = useState(false);\n const history = useHistory();\n const [{ cart }] = useStateValue();\n const productForm = useRef(null);\n const [showForm, setShowForm] = useState(false);\n\n const onClick = () => setShowForm(true);\n\n useEffect(() => {\n if (loadingBar) {\n loadingBar.current.continuousStart();\n }\n const unsubscribe = auth.onAuthStateChanged((user) => {\n if (user) {\n db.collection(\"users\")\n .doc(user.uid)\n .collection(\"products\").get().then((response) => {\n if (loadingBar) {\n loadingBar.current.complete();\n }\n setProductOwned(response.docs.map((doc) => ({\n id: doc.id,\n ...doc.data(),\n })));\n });\n unsubscribe();\n } else {\n history.replace(\"/login?next=orders\");\n if (loadingBar) {\n loadingBar.current.complete();\n }\n }\n });\n }, []);\n\n function removeItem(itemId) {\n console.log(itemId);\n db.collection(\"users\")\n .doc(user.uid)\n .collection(\"products\").doc(itemId).delete().then((response) => {\n if (loadingBar) {\n loadingBar.current.complete();\n }\n });\n }\n\n const editItem = () => {\n\n }\n\n const updatePageState = (state) => {\n setShowForm(state);\n } \n\n return (\n
\n

Hey, welcome to your store

\n

\n This is your Dashboard. Add, Edit and Manage your products. Monitor\n Orders, Deliveries, and much more.\n

\n
\n \n \n Recent Orders\n Products\n Deliveries\n Store Information\n \n\n \n
\n

Your Orders

\n {cart.map((item) => (\n \n ))}\n
\n
\n \n

Your Product(s)

\n\n {showForm ? :\n
\n
\n \n
\n {productOwned?.map((product) => (\n
\n
Product Name: {product.name}
\n
\n
\n
\n \n
\n x{product.stock}\n
\n
\n removeItem(product.id)}\n data-for=\"removeTooltip\"\n data-tip=\"Delete Product\"\n className=\"buttonRed\"\n >\n \n \n \n \n \n
\n
\n
\n Price\n \n \n {product.price} $\n \n \n
\n
\n ))}\n
\n }\n
\n \n

Your Deliveries

\n
\n \n

General informations about your store

\n \n
\n
\n
\n
\n );\n}\n\nexport default Store;\n","import React, {useEffect, useState} from \"react\";\nimport \"./Profile.css\";\nimport {useHistory} from \"react-router-dom\";\nimport db, {auth} from \"../../firebase\";\nimport {useStateValue} from \"../../StateProvider\";\n\nfunction Profile() {\n const history = useHistory();\n const [{ user, loadingBar }] = useStateValue();\n const [userDetails, setUserDetails] = useState(null);\n\n useEffect(() => {\n if (loadingBar) {\n loadingBar.current.continuousStart();\n }\n const unsubscribe = auth.onAuthStateChanged((user) => {\n if (user) {\n db.collection(\"users\")\n .doc(user.uid)\n .get()\n .then((response) => {\n if (response.exists) {\n setUserDetails(response.data());\n } else {\n history.replace(\"/welcome?next=profile\", { update: true });\n }\n if (loadingBar) {\n loadingBar.current.complete();\n }\n });\n unsubscribe();\n } else {\n history.replace(\"/login?next=profile\");\n if (loadingBar) {\n loadingBar.current.complete();\n }\n }\n });\n }, []);\n\n const editProfile = () => {\n loadingBar.current.continuousStart();\n setTimeout(() => {\n loadingBar.current.complete();\n history.replace(\"/welcome?next=profile\", { update: true });\n }, 1000);\n };\n\n const seeStore = () => {\n loadingBar.current.continuousStart();\n setTimeout(() => {\n loadingBar.current.complete();\n history.replace(\"/store\", { update: true });\n }, 1000);\n };\n\n const signOut = () => {\n loadingBar.current.continuousStart();\n auth.signOut().then(() => {\n setUserDetails(null);\n setTimeout(() => {\n loadingBar.current.complete();\n history.push(\"/\");\n }, 1000);\n });\n };\n\n const styleButton = {\n height: \"2rem\"\n }\n\n return (\n
\n
\n \"Profile\n \n

Hi, {user?.displayName}

\n

\n This is your profile page. Here, you can view and customize your\n profile details. Double check your details before check out.\n

\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n {userDetails && (\n
\n

\n Name\n {userDetails.name}\n

\n

\n Email Address\n {userDetails.email}\n

\n

\n Phone\n {userDetails.phone}\n

\n

\n Date of Birth\n {userDetails.dob}\n

\n

\n Address\n {`${userDetails.address}, ${userDetails.state}`}\n

\n

\n Country\n {userDetails.country}\n

\n

\n Zip Code\n {userDetails.postal_code}\n

\n

\n Wallet Address\n {`${userDetails.walletAddress}`}\n

\n
\n )}\n
\n );\n}\nexport default Profile;\n","import React from \"react\";\nimport Login from \"../components/auth/Login\";\nimport Signup from \"../components/auth/Signup\";\nimport Welcome from \"../components/auth/Welcome\";\nimport Store from \"../components/store/Store\";\nimport PasswordReset from \"../components/auth/PasswordReset\";\nimport Profile from \"../components/user/Profile\";\nimport {motion} from \"framer-motion\";\nimport {pageSlide, pageTransition} from \"../util\";\n\nfunction UserPage({ type }) {\n return (\n \n {type === \"login\" && }\n {type === \"signup\" && }\n {type === \"welcome\" && }\n {type === \"passwordReset\" && }\n {type === \"profile\" && }\n {type === \"store\" && }\n \n );\n}\nexport default UserPage;\n","import React, {useEffect, useRef} from \"react\";\nimport Sidebar from \"./components/layout/Sidebar\";\nimport Header from \"./components/layout/Header\";\nimport Footer from \"./components/layout/Footer\";\nimport \"./components/layout/Button.css\";\nimport Home from \"./pages/Home\";\nimport Auth from \"./pages/Auth\";\nimport OrdersPage from \"./pages/OrdersPage\";\nimport AdminPage from \"./pages/AdminPage\";\nimport ProductPage from \"./pages/ProductPage\";\nimport PaymentPage from \"./pages/PaymentPage\";\nimport MessengerPage from \"./pages/MessengerPage\";\nimport CartPage from \"./pages/CartPage\";\nimport DonationPage from \"./pages/DonationPage\";\nimport NewsPage from \"./pages/NewsPage\";\nimport BookmarkPage from \"./pages/BookmarkPage\";\nimport UserPage from \"./pages/UserPage\";\nimport {Route, Switch, useLocation} from \"react-router-dom\";\nimport {AnimatePresence, AnimateSharedLayout} from \"framer-motion\";\nimport \"./App.css\";\nimport {auth} from \"./firebase\";\nimport {useStateValue} from \"./StateProvider\";\nimport LoadingBar from \"react-top-loading-bar\";\nimport {loadStripe} from \"@stripe/stripe-js\";\nimport {Elements} from \"@stripe/react-stripe-js\";\nimport {shuffleArray} from \"./util\";\nimport Fuse from \"fuse.js\";\nimport axios from \"axios\";\n\nconst promise = loadStripe(\n \"pk_test_51HdsPRE4K4vYNE8J6n2SZ7Q68Z8mqdHJROiHxnm7U5yeTk8oBed7LF3IqSZGSlr1vso40SYgMc3NWeYCvuhKfv6H00pu5ZkJi3\"\n);\nconst elFonts = [\n {\n cssSrc:\n \"https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@800&display=swap\",\n },\n];\n\nfunction App() {\n const location = useLocation();\n const [{ user, cart }, dispatch] = useStateValue();\n const loadingBar = useRef(null);\n\n useEffect(() => {\n const localCart = localStorage.getItem(\"cart\");\n const localBookmarks = localStorage.getItem(\"bookmarks\");\n if (localCart) {\n dispatch({\n type: \"RESTORE_CART\",\n cart: JSON.parse(localCart),\n });\n }\n if (localBookmarks) {\n dispatch({\n type: \"RESTORE_BOOKMARKS\",\n bookmarks: JSON.parse(localBookmarks),\n });\n }\n }, []);\n\n useEffect(() => {\n if (loadingBar) {\n dispatch({\n type: \"LOADING_BAR\",\n loadingBar: loadingBar,\n });\n }\n }, [loadingBar]);\n\n useEffect(() => {\n loadingBar.current.continuousStart();\n auth.onAuthStateChanged((user) => {\n if (user) {\n dispatch({\n type: \"SET_USER\",\n user: user,\n });\n } else {\n dispatch({\n type: \"SET_USER\",\n user: null,\n });\n }\n });\n\n axios\n .get(\"/api/products\")\n .then((snapshot) => {\n dispatch({\n type: \"SET_PRODUCTS\",\n products: shuffleArray(snapshot.data),\n });\n const fuse = new Fuse(snapshot.data, { keys: [\"name\", \"category\"] });\n dispatch({\n type: \"SET_FUSE\",\n fuse: fuse,\n });\n })\n .then(() => {\n loadingBar.current.complete();\n });\n }, [dispatch]);\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 \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 \n \n \n \n \n
\n
\n