Sindbad~EG File Manager
{"version":3,"file":"static/js/850.9a28a667.chunk.js","mappings":"0UAiBA,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,gBACfC,GAAI,EAAEN,UAENC,EAAAA,EAAAA,KAACM,EAAAA,EAAU,CAACC,QAAQ,KAAKC,GAAI,CAAEH,GAAI,GAAIN,SAAC,0BAK1CC,EAAAA,EAAAA,KAACS,EAAAA,EAAI,CAACD,GAAI,CAAEE,EAAG,GAAIX,UACjBF,EAAAA,EAAAA,MAACI,EAAAA,EAAK,CAACC,UAAU,SAASS,IAAK,GAAIN,GAAI,EAAEN,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,QACLT,QAAQ,YACRU,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,EAAMC,KAAK,GAADC,OAC5BC,EAAAA,GAAO,qBACV,CAAEC,MAAe,OAAR9C,QAAQ,IAARA,OAAQ,EAARA,EAAU8C,MAAOC,KAAc,OAAR/C,QAAQ,IAARA,OAAQ,EAARA,EAAU+C,KAAMC,eAAgBX,GAChEE,GAEF3C,GAAW,GACP6C,IACFN,EAAAA,GAAMc,QAAQ,wBACdnD,GAAU,GAEd,CAAE,MAAOoC,GACPtC,GAAW,GACXuC,EAAAA,GAAMc,SAAa,OAALf,QAAK,IAALA,OAAK,EAALA,EAAOE,UAAW,wBAChCc,QAAQC,IAAI,UAAWjB,EACzB,CACF,GAiCUvC,QAASA,EACTyD,WAAWzC,EAAAA,EAAAA,KAAC0C,EAAAA,EAAO,CAACC,KAAK,kBAAmB5C,SAC7C,mBA/BFC,EAAAA,EAAAA,KAAC4C,EAAAA,EAAQ,CAACrC,QAAQ,cAAcsC,MAAO,OAAQC,OAAQ,KAqClD,EAIhB,EAjGyBC,KAErB/C,EAAAA,EAAAA,KAACgD,EAAAA,SAAQ,CAACvD,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 axios from \"axios\";\r\nimport { baseURL } from \"src/constants/baseURL\";\r\nimport { toast } from \"react-toastify\";\r\nimport {\r\n Elements,\r\n useStripe,\r\n useElements,\r\n CardElement,\r\n} from \"@stripe/react-stripe-js\";\r\nimport { loadStripe } from \"@stripe/stripe-js\";\r\nimport Iconify from \"src/components/iconify\";\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 axios.post(\r\n `${baseURL}/payment/add-card`,\r\n { email: userInfo?.email, name: userInfo?.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: 5 }}>\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={5}>\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","mb","Typography","variant","sx","Card","p","gap","CardElement","style","display","LoadingButton","size","onClick","async","event","preventDefault","result","createPaymentMethod","error","toast","message","id","paymentMethod","config","headers","data","axios","post","concat","baseURL","email","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