Sindbad~EG File Manager
{"version":3,"file":"static/js/850.96a5c1be.chunk.js","mappings":"0UAYA,MAAMA,GAAgBC,EAAAA,EAAAA,GAAWC,+GAU3BC,EAAoBA,KACxB,MAAOC,EAASC,IAAcC,EAAAA,EAAAA,WAAS,GACjCC,GAAWC,EAAAA,EAAAA,OACX,SAAEC,IAAaC,EAAAA,EAAAA,KAAaC,GAAUA,EAAMC,OAC5CC,GAASC,EAAAA,EAAAA,aACTC,GAAWC,EAAAA,EAAAA,eA0CjB,OAAKH,GAKHI,EAAAA,EAAAA,MAACC,EAAAA,EAAS,CAAAC,SAAA,EACRC,EAAAA,EAAAA,KAACC,EAAAA,EAAK,CACJC,UAAU,MACVC,WAAW,SACXC,eAAe,gBACfL,UAEAC,EAAAA,EAAAA,KAACK,EAAAA,EAAU,CAACC,QAAQ,KAAKC,GAAI,CAAEC,GAAI,GAAIT,SAAC,0BAK1CC,EAAAA,EAAAA,KAACS,EAAAA,EAAI,CAACF,GAAI,CAAEG,EAAG,GAAIX,UACjBF,EAAAA,EAAAA,MAACI,EAAAA,EAAK,CAACC,UAAU,SAASS,IAAK,GAAIH,GAAI,EAAET,SAAA,EACvCC,EAAAA,EAAAA,KAACY,EAAAA,YAAW,KACZZ,EAAAA,EAAAA,KAAA,OACEa,MAAO,CACLC,QAAS,OACTV,eAAgB,UAChBL,UAEFC,EAAAA,EAAAA,KAACe,EAAAA,EAAa,CACZC,KAAK,QACLV,QAAQ,YACRW,QArESC,UAEnB,GADAC,EAAMC,kBACD3B,IAAWE,EACd,OAEFV,GAAW,GAEX,MAAMoC,QAAe5B,EAAO6B,oBAAoB,CAC9C3B,aAGF,GAAI0B,EAAOE,MACTtC,GAAW,GACXuC,EAAAA,GAAMD,MAAMF,EAAOE,MAAME,aACpB,CACL,MAAM,GAAEC,GAAOL,EAAOM,cACtB,IACE,MAAMC,EAAS,CACbC,QAAS,CACP,eAAgB,sBAGd,KAAEC,SAAeC,EAAAA,EAAIC,KAAK,GAADC,OAC1BC,EAAAA,GAAO,qBACV,CAAEC,MAAe,OAAR9C,QAAQ,IAARA,OAAQ,EAARA,EAAU+C,eAAgBC,KAAc,OAARhD,QAAQ,IAARA,OAAQ,EAARA,EAAUiD,cAAeC,eAAgBb,GAClFE,GAEF3C,GAAW,GACP6C,IACFN,EAAAA,GAAMgB,QAAQ,wBACdrD,GAAU,GAEd,CAAE,MAAOoC,GACPtC,GAAW,GACXuC,EAAAA,GAAMgB,SAAa,OAALjB,QAAK,IAALA,OAAK,EAALA,EAAOE,UAAW,wBAChCgB,QAAQC,IAAI,UAAWnB,EACzB,CACF,GAiCUvC,QAASA,EACT2D,WAAW3C,EAAAA,EAAAA,KAAC4C,EAAAA,EAAO,CAACC,KAAK,kBAAmB9C,SAC7C,mBA/BFC,EAAAA,EAAAA,KAAC8C,EAAAA,EAAQ,CAACxC,QAAQ,cAAcyC,MAAO,OAAQC,OAAQ,KAqClD,EAIhB,EAjGyBC,KAErBjD,EAAAA,EAAAA,KAACkD,EAAAA,SAAQ,CAACzD,OAAQb,EAAcmB,UAC9BC,EAAAA,EAAAA,KAACjB,EAAiB,K","sources":["pages/Payment/AddPaymentMethod.js"],"sourcesContent":["import React, { useState } from 'react';\r\nimport { Card, Stack, Container, Typography, Skeleton } from '@mui/material';\r\nimport { LoadingButton } from '@mui/lab';\r\nimport { useNavigate } from 'react-router-dom';\r\nimport { useSelector } from 'react-redux';\r\nimport { baseURL } from 'src/constants/baseURL';\r\nimport { toast } from 'react-toastify';\r\nimport { Elements, useStripe, useElements, CardElement } from '@stripe/react-stripe-js';\r\nimport { loadStripe } from '@stripe/stripe-js';\r\nimport Iconify from 'src/components/iconify';\r\nimport api from 'src/features/auth/Api';\r\n\r\nconst stripePromise = loadStripe(process.env.REACT_APP_STRIPE_PUBLIC_KEY);\r\n\r\nconst AddPaymentMethod = () => {\r\n return (\r\n <Elements stripe={stripePromise}>\r\n <PaymentMethodFrom />\r\n </Elements>\r\n );\r\n};\r\n\r\nconst PaymentMethodFrom = () => {\r\n const [loading, setLoading] = useState(false);\r\n const navigate = useNavigate();\r\n const { userInfo } = useSelector((state) => state.auth);\r\n const stripe = useStripe();\r\n const elements = useElements();\r\n\r\n const handleSubmit = async (event) => {\r\n event.preventDefault();\r\n if (!stripe || !elements) {\r\n return;\r\n }\r\n setLoading(true);\r\n\r\n const result = await stripe.createPaymentMethod({\r\n elements\r\n });\r\n\r\n if (result.error) {\r\n setLoading(false);\r\n toast.error(result.error.message);\r\n } else {\r\n const { id } = result.paymentMethod;\r\n try {\r\n const config = {\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n }\r\n };\r\n const { data } = await api.post(\r\n `${baseURL}/payment/add-card`,\r\n { email: userInfo?.business_email, name: userInfo?.business_name, pamentMethodId: id },\r\n config\r\n );\r\n setLoading(false);\r\n if (data) {\r\n toast.success('Payment Method Added');\r\n navigate(-1);\r\n }\r\n } catch (error) {\r\n setLoading(false);\r\n toast.success(error?.message || 'Something went wrong');\r\n console.log('[Error]', error);\r\n }\r\n }\r\n };\r\n\r\n if (!stripe) {\r\n return <Skeleton variant=\"rectangular\" width={'100%'} height={300} />;\r\n }\r\n\r\n return (\r\n <Container>\r\n <Stack\r\n direction=\"row\"\r\n alignItems=\"center\"\r\n justifyContent=\"space-between\"\r\n // mb={5}\r\n >\r\n <Typography variant=\"h4\" sx={{ mb: 3 }}>\r\n Add Payment Method\r\n </Typography>\r\n </Stack>\r\n\r\n <Card sx={{ p: 4 }}>\r\n <Stack direction=\"column\" gap={10} mb={2}>\r\n <CardElement />\r\n <div\r\n style={{\r\n display: 'flex',\r\n justifyContent: 'center'\r\n }}\r\n >\r\n <LoadingButton\r\n size=\"large\"\r\n variant=\"contained\"\r\n onClick={handleSubmit}\r\n loading={loading}\r\n startIcon={<Iconify icon=\"eva:plus-fill\" />}\r\n >\r\n Add\r\n </LoadingButton>\r\n </div>\r\n </Stack>\r\n </Card>\r\n </Container>\r\n );\r\n};\r\n\r\nexport default AddPaymentMethod;\r\n"],"names":["stripePromise","loadStripe","process","PaymentMethodFrom","loading","setLoading","useState","navigate","useNavigate","userInfo","useSelector","state","auth","stripe","useStripe","elements","useElements","_jsxs","Container","children","_jsx","Stack","direction","alignItems","justifyContent","Typography","variant","sx","mb","Card","p","gap","CardElement","style","display","LoadingButton","size","onClick","async","event","preventDefault","result","createPaymentMethod","error","toast","message","id","paymentMethod","config","headers","data","api","post","concat","baseURL","email","business_email","name","business_name","pamentMethodId","success","console","log","startIcon","Iconify","icon","Skeleton","width","height","AddPaymentMethod","Elements"],"sourceRoot":""}
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists