{"version":3,"file":"2818.js","mappings":"kKAesB,EAaC,E,yvCA3BvB,iiGAAAA,EAAA,yBAAAA,EAAA,sBAAAA,GAAA,iBAAAA,EAAA,+rDAAAA,EAAA,yBAAAA,GAAA,IAAAA,EAAA,uBAAAA,EAAA,ybAAAA,EAAA,yBAAAA,GAAA,IAAAA,EAAA,uBAAAA,EAAA,0hBAAAA,EAAA,yBAAAA,GAAA,IAAAA,EAAA,uBAAAA,EAAA,sGAAAA,EAAA,yBAAAA,GAAA,IAAAA,EAAA,uBAAAA,EAAA,wjBAMA,IAAMC,EAAoBC,EAAAA,CAAM,CAACC,KAAK,CAACF,iBAAiB,CAClDG,EAAuBF,EAAAA,CAAM,CAACC,KAAK,CAACC,oBAAoB,CAGxDC,EAAmB,kDAAH,OAAqDJ,EAAiB,uBACtFK,EAAoB,GAAH,OAAMD,EAAgB,yBAHV,GAAH,OAAMD,EAAoB,8BAG8B,yBAClFG,EAAmB,GAAH,OAAMF,EAAgB,yBAHV,GAAH,OAAMD,EAAoB,6BAG6B,yBAEhFI,GAAgB,aAAG,4GAEEC,IAAAA,GAAS,CAAC,yBAAyB,QAA5C,GACU,MAApBC,CADEA,EAAW,EAAH,MACDC,MAAM,EAAQ,CACrBD,EAASE,IAAI,CAACC,QAAQ,CADD,gBACC,yBACjBH,EAASE,IAAI,+DAIlB,MAAU,8BAA8B,wDAEjD,WAXqB,iCAahBE,GAAiB,aAAG,sGAECL,IAAAA,MAAY,CAAC,4BAA6B,CAC/DM,QAAS,CACP,cAAeC,CAAAA,EAAAA,EAAAA,CAAAA,EAAU,YAC3B,CACF,EAAE,QAJY,SAKVN,EALU,KAKDC,MAAM,CAAQ,yCAClB,GAAI,iFAGN,GAAK,wDAEf,WAbsB,iCAeVM,EAAgB,WAC3B,IAA4C,IAAZC,CAAAA,EAAAA,EAAAA,QAAAA,EAAS,IAAG,GAArCC,EAAQ,KAAEC,EAAW,KAU5B,MARAC,CAAAA,EAAAA,EAAAA,SAAAA,EAAU,WACR,GAAI,CACFD,EAAYE,KAAKC,cAAc,GAAGC,eAAe,GAAGC,QAAQ,CAC9D,CAAE,MAAOC,EAAO,CACdC,QAAQD,KAAK,CAACA,EAChB,CACF,EAAG,EAAE,EAGH,qBACEE,UAAU,mFACVC,KAAI,UAAKvB,EAAiB,kBAAUa,EAAW,EAE/C,uBAAKS,UAAU,2CAA2C,EACxD,gBAAC,GAAW,EAACA,UAAU,UAAU,GACjC,uBAAKA,UAAU,mCAAmC,cAI1D,EAEaE,EAAiB,WAC5B,IAA6D,IAAvBZ,CAAAA,EAAAA,EAAAA,QAAAA,EAAS,CAAEa,MAAO,EAAG,GAAE,GAAtDC,EAAW,KAAEC,EAAc,WAElCZ,CAAAA,EAAAA,EAAAA,SAAAA,EAAU,WACRb,IAAmB0B,IAAI,CAAC,SAACC,CAAI,EACvBA,GAAQA,EAAKtB,QAAQ,EACvBoB,EAAe,CAAEF,MAAOI,EAAKtB,QAAQ,EAEzC,EACF,EAAG,EAAE,EAWH,gBAAC,EAAAuB,QAAQ,MACP,gBAAC,GAAS,EACRR,UAAU,kCACVS,MAAM,wBACNC,GAAG,cACHC,KAAK,eACLC,KAAK,OACLC,YAAY,eACZC,KAAM,CAAEX,MAAOC,EAAYD,KAAK,EAChCY,SAAU,EAAM,GAElB,uBAAKf,UAAU,eAAe,EAC3B,EAAaG,KAAK,CASjB,gBAAC,GAAa,EACZH,UAAU,qEACVgB,QAhCkB,WAC1B9B,IAAoBoB,IAAI,CAAC,SAACW,CAAO,EAC3BA,GACFZ,EAAe,CAAEF,MAAO,EAAG,EAE/B,EACF,EA2BUe,KAAM,EAAK,oBAXb,gBAAC,GAAa,EACZlB,UAAU,qEACVC,KAAMtB,EACNuC,KAAM,EAAK,wBAgBvB,C,sCCrGA,KAhBA,SAAqB,CAAD,EAAe,IAAZlB,EAAS,EAATA,SAAS,CAC9B,OACE,uBACEmB,MAAM,6BACNC,KAAK,OACLC,QAAQ,YACRrB,UAAWA,CAAU,EAErB,wBACEoB,KAAK,OACLE,EAAE,2tCAA2tC,GAIruC,C,yGCHaC,EAAoB,CAC/BpB,MAAO,GACPqB,WAAY,EAAE,EAGVC,EAAiB,SAAH,GAA0B,IAApBC,EAAa,EAAbA,aAAa,CACrC,MAAO,CAAAA,MAAAA,EAAa,OAAbA,EAAeC,MAAM,EAAG,EAC3B,yGACA,sEACN,EAEMC,EAAiB,SAAH,GAAqB,IAAfb,EAAQ,EAARA,QAAQ,CAC1Bc,EAAa,kCACnB,OAAOd,EAAW,GAAH,OAAMc,EAAU,gCAA0BA,EAC3D,EAEe,SAASC,EAAUvD,CAAK,EACrC,IADuC,EACjCwD,EAAmB,SAACC,CAAK,EAC7BA,EAAMC,OAAO,GACb,IAAM9B,EAAQ6B,EAAME,MAAM,CAAC/B,KAAK,CAC5B5B,EAAM4D,OAAO,EACf5D,EAAM4D,OAAO,CAAC,CACZhC,MAAOA,EACPqB,WAAYY,EAAmBjC,EACjC,EAEJ,EAEMiC,EAAqB,SAACjC,CAAK,EAC/B,IAAMqB,EAAa,EAAE,CA6BrB,OA3BIjD,EAAM8D,UAAU,EAClBb,EAAWc,IAAI,CAACC,CAAAA,EAAAA,EAAAA,EAAAA,EAASpC,IAEvB5B,EAAMiE,SAAS,EACjBhB,EAAWc,IAAI,CAACE,CAAAA,EAAAA,EAAAA,EAAAA,EAAUrC,EAAO5B,EAAMiE,SAAS,GAE9CjE,EAAMkE,SAAS,EACjBjB,EAAWc,IAAI,CAACG,CAAAA,EAAAA,EAAAA,EAAAA,EAAUtC,EAAO5B,EAAMkE,SAAS,GAE9ClE,EAAMmE,WAAW,EACnBlB,EAAWc,IAAI,CAACI,CAAAA,EAAAA,EAAAA,EAAAA,EAAYvC,EAAO5B,EAAMkE,SAAS,GAEhDlE,EAAMoE,WAAW,EACnBnB,EAAWc,IAAI,CAACK,CAAAA,EAAAA,EAAAA,EAAAA,EAAYxC,IAE1B5B,EAAMqE,GAAG,EACXpB,EAAWc,IAAI,CAACO,CAAAA,EAAAA,EAAAA,EAAAA,EAAO1C,EAAO5B,EAAMqE,GAAG,GAErCrE,EAAMuE,GAAG,EACXtB,EAAWc,IAAI,CAACS,CAAAA,EAAAA,EAAAA,EAAAA,EAAO5C,EAAO5B,EAAMuE,GAAG,GAErCvE,EAAMyE,iBAAiB,EACzBxB,EAAWc,IAAI,CAACU,CAAAA,EAAAA,EAAAA,EAAAA,EAAkB7C,IAEhC5B,EAAM0E,YAAY,EACpBzB,EAAWc,IAAI,CAACW,CAAAA,EAAAA,EAAAA,EAAAA,EAAa9C,IAExBqB,CACT,EAEME,EAAgBwB,CAAAA,EAAAA,EAAAA,EAAAA,EAAqB3E,EAAMuC,IAAI,CAACU,UAAU,EAC1D2B,EAAc1B,EAAe,CAAEC,cAAAA,CAAc,GAC7C0B,EAAcxB,EAAe,CAAEb,SAAUxC,EAAMwC,QAAQ,GAE7D,OACE,2BAAKf,UAAU,kCAAkC,EAC9C,CAAAzB,MAAAA,EAAK,OAALA,EAAOkC,KAAK,GAAI,6BAAOT,UAAS,UAAKoD,EAAc,EAAE7E,MAAAA,EAAK,OAALA,EAAOkC,KAAK,EAClE,2BAAKT,UAAU,8CAA8C,EAC1D,CAAAzB,MAAAA,EAAK,OAALA,EAAO8E,IAAI,GACV,2BAAKrD,UAAU,kCAAkC,MAAGzB,EAAM8E,IAAI,MAEhE,2BAAKrD,UAAU,MAAM,EACnB,6BACEA,UAAS,gVAKLmD,EAAW,YAAI5E,MAAAA,EAAK,OAALA,EAAOyB,SAAS,iBAEnCsD,MAAO/E,MAAAA,EAAK,OAALA,EAAO+E,KAAM,CACpB5C,GAAInC,MAAAA,EAAK,OAALA,EAAOmC,EAAG,CACdE,KAAMrC,MAAAA,EAAK,OAALA,EAAOqC,IAAK,CAClBC,YAAatC,MAAAA,EAAK,OAALA,EAAOsC,WAAY,CAChC0C,aAAchF,MAAAA,EAAK,OAALA,EAAOmC,EAAG,CACxBP,MAAO5B,MAAAA,EAAK,iBAALA,EAAOuC,IAAI,qBAAX,EAAaX,KAAM,CAC1BqD,SAAU,SAACxB,CAAK,SAAKD,EAAiBC,EAAM,EAC5CrB,KAAMpC,MAAAA,EAAK,OAALA,EAAOoC,IAAK,CAClB8C,OAAQlF,MAAAA,EAAK,OAALA,EAAOkF,MAAO,CACtB1C,SAAUxC,MAAAA,EAAK,OAALA,EAAOwC,QAAS,CAC1B6B,IAAKrE,MAAAA,EAAK,OAALA,EAAOqE,GAAG,IAGlB,CAAAlB,MAAAA,EAAa,OAAbA,EAAeC,MAAM,EAAG,GACvB,2BAAK3B,UAAU,+DAA+D,EAC3E0B,MAAAA,EAAa,OAAbA,EAAegC,GAAG,CAAC,SAACC,CAAO,CAAEC,CAAK,EACjC,OAAO,2BAAKC,IAAKD,CAAM,cAAOD,GAChC,KAMZ,C,uCClHMG,EAAY1E,CAAAA,EAAAA,E,OAAAA,CAAAA,EAAU,YAO5B,KALkB,WACd,OACI,yBAAOwB,KAAK,SAASD,KAAK,sBAAsBR,MAAO2D,GAAa,EAAG,EAE/E,C,iCCSA,IAhBkB,SAACnD,CAAI,EACnB,IAAIoD,EAAc,KAClB,GAAIC,SAASC,MAAM,EAAID,KAAAA,SAASC,MAAM,CAElC,IAAK,IADCC,EAAUF,SAASC,MAAM,CAACE,KAAK,CAAC,KAC7B/F,EAAI,EAAGA,EAAI8F,EAAQvC,MAAM,CAAEvD,IAAK,CACrC,IAAM6F,EAASC,CAAO,CAAC9F,EAAE,CAACgG,IAAI,GAE9B,GAAIH,EAAOI,SAAS,CAAC,EAAG1D,EAAKgB,MAAM,CAAG,KAAQhB,EAAO,IAAM,CACvDoD,EAAcO,mBAAmBL,EAAOI,SAAS,CAAC1D,EAAKgB,MAAM,CAAG,IAChE,KACJ,CACJ,CAEJ,OAAOoC,CACX,C","sources":["webpack://new_ui/./src/components/DiscordButton.js","webpack://new_ui/./src/components/Icons/DiscordIcon.js","webpack://new_ui/./src/components/Inputs/TextInput.js","webpack://new_ui/./src/utils/CsrfToken.js","webpack://new_ui/./src/utils/getCookie.js"],"sourcesContent":["import React, { Fragment, useEffect, useState } from 'react';\nimport axios from 'axios';\nimport DiscordIcon from './Icons/DiscordIcon';\nimport TextInput from './Inputs/TextInput';\nimport ButtonPrimary from './Buttons/ButtonPrimary';\nimport getCookie from '../utils/getCookie';\n\nconst DISCORD_CLIENT_ID = global.props.DISCORD_CLIENT_ID;\nconst DISCORD_REDIRECT_URI = global.props.DISCORD_REDIRECT_URI;\nconst DISCORD_LOGIN_REDIRECT_URI = `${DISCORD_REDIRECT_URI}/accounts/discord/redirect`;\nconst DISCORD_LINK_REDIRECT_URL = `${DISCORD_REDIRECT_URI}/accounts/discord/connect`;\nconst DISCORD_BASE_URL = `https://discord.com/oauth2/authorize?client_id=${DISCORD_CLIENT_ID}&response_type=code`;\nconst DISCORD_URL_LOGIN = `${DISCORD_BASE_URL}&redirect_uri=${DISCORD_LOGIN_REDIRECT_URI}&scope=identify+email`;\nconst DISCORD_URL_LINK = `${DISCORD_BASE_URL}&redirect_uri=${DISCORD_LINK_REDIRECT_URL}&scope=identify+email`;\n\nconst fetchDiscordUser = async () => {\n try {\n const response = await axios.get('/accounts/discord/user');\n if (response.status === 200) {\n if (response.data.username) {\n return response.data;\n }\n }\n } catch (error) {\n throw new Error('Error fetching discord user');\n }\n};\n\nconst removeDiscordUser = async () => {\n try {\n const response = await axios.delete('/accounts/discord/connect', {\n headers: {\n 'X-CSRFToken': getCookie('csrftoken')\n }\n });\n if (response.status === 200) {\n return true;\n }\n } catch (error) {\n return false;\n }\n};\n\nexport const DiscordButton = () => {\n const [timezone, setTimezone] = useState(\"\");\n\n useEffect(() => {\n try {\n setTimezone(Intl.DateTimeFormat().resolvedOptions().timeZone);\n } catch (error) {\n console.error(error);\n }\n }, [])\n\n return (\n \n
\n \n
Discord
\n
\n \n );\n};\n\nexport const DiscordConnect = () => {\n const [discordUser, setDiscordUser] = useState({ value: '' });\n\n useEffect(() => {\n fetchDiscordUser().then((user) => {\n if (user && user.username) {\n setDiscordUser({ value: user.username });\n }\n });\n }, []);\n\n const handleRemoveDiscord = () => {\n removeDiscordUser().then((success) => {\n if (success) {\n setDiscordUser({ value: '' });\n }\n });\n };\n\n return (\n \n \n
\n {!discordUser.value ? (\n \n Link with discord\n \n ) : (\n \n Remove discord\n \n )}\n
\n
\n );\n};\n","import React from \"react\";\r\n\r\nfunction DiscordIcon({ className}) {\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default DiscordIcon;\r\n","import {\n required,\n minLength,\n maxLength,\n notBadWords,\n onlyNumbers,\n minVal,\n maxVal,\n isEthereumAddress,\n isUrlAddress,\n} from \"../../utils/validators\";\nimport { buildStringFromArray } from \"../../utils/strings\";\n\nexport const InitialInputState = {\n value: \"\",\n validators: [],\n};\n\nconst getErrorStyles = ({ errorMessages }) => {\n return errorMessages?.length > 0\n ? \"border-brand-red-1 text-brand-red-1 focus:border-brand-red-1 focus:ring-brand-red-1 input-error-shadow\"\n : \"text-white focus:border-brand-light-blue focus:ring-brand-light-blue\";\n};\n\nconst getLabelStyles = ({ disabled }) => {\n const baseStyles = \"label-text mb-[5px] font-normal\";\n return disabled ? `${baseStyles} text-brand-gray-2` : `${baseStyles}`;\n};\n\nexport default function TextInput(props) {\n const handleTextChange = (event) => {\n event.persist();\n const value = event.target.value;\n if (props.setText) {\n props.setText({\n value: value,\n validators: getInputValidators(value),\n });\n }\n };\n\n const getInputValidators = (value) => {\n const validators = [];\n\n if (props.isRequired) {\n validators.push(required(value));\n }\n if (props.minLength) {\n validators.push(minLength(value, props.minLength));\n }\n if (props.maxLength) {\n validators.push(maxLength(value, props.maxLength));\n }\n if (props.notBadWords) {\n validators.push(notBadWords(value, props.maxLength));\n }\n if (props.onlyNumbers) {\n validators.push(onlyNumbers(value));\n }\n if (props.min) {\n validators.push(minVal(value, props.min));\n }\n if (props.max) {\n validators.push(maxVal(value, props.max));\n }\n if (props.isEthereumAddress) {\n validators.push(isEthereumAddress(value));\n }\n if (props.isUrlAddress){\n validators.push(isUrlAddress(value));\n }\n return validators;\n };\n\n const errorMessages = buildStringFromArray(props.text.validators);\n const errorStyles = getErrorStyles({ errorMessages });\n const labelStyles = getLabelStyles({ disabled: props.disabled });\n\n return (\n
\n {props?.label && }\n
\n {props?.icon && (\n
{props.icon}
\n )}\n
\n handleTextChange(event)}\n name={props?.name}\n onBlur={props?.onBlur}\n disabled={props?.disabled}\n min={props?.min}\n />\n
\n {errorMessages?.length > 0 && (\n
\n {errorMessages?.map((message, index) => {\n return
{`• ${message}`}
;\n })}\n
\n )}\n
\n
\n );\n}\n","import React from 'react';\r\nimport getCookie from './getCookie';\r\n\r\nconst csrftoken = getCookie('csrftoken');\r\n\r\nconst CSRFToken = () => {\r\n return (\r\n \r\n );\r\n};\r\nexport default CSRFToken;\r\n","import React from 'react';\r\n\r\nconst getCookie = (name) => {\r\n let cookieValue = null;\r\n if (document.cookie && document.cookie !== '') {\r\n const cookies = document.cookie.split(';');\r\n for (let i = 0; i < cookies.length; i++) {\r\n const cookie = cookies[i].trim();\r\n // Does this cookie string begin with the name we want?\r\n if (cookie.substring(0, name.length + 1) === (name + '=')) {\r\n cookieValue = decodeURIComponent(cookie.substring(name.length + 1));\r\n break;\r\n }\r\n }\r\n }\r\n return cookieValue;\r\n}\r\n\r\nexport default getCookie;\r\n"],"names":["i","DISCORD_CLIENT_ID","global","props","DISCORD_REDIRECT_URI","DISCORD_BASE_URL","DISCORD_URL_LOGIN","DISCORD_URL_LINK","fetchDiscordUser","axios","response","status","data","username","removeDiscordUser","headers","getCookie","DiscordButton","useState","timezone","setTimezone","useEffect","Intl","DateTimeFormat","resolvedOptions","timeZone","error","console","className","href","DiscordConnect","value","discordUser","setDiscordUser","then","user","Fragment","label","id","name","type","placeholder","text","disabled","onClick","success","gray","xmlns","fill","viewBox","d","InitialInputState","validators","getErrorStyles","errorMessages","length","getLabelStyles","baseStyles","TextInput","handleTextChange","event","persist","target","setText","getInputValidators","isRequired","push","required","minLength","maxLength","notBadWords","onlyNumbers","min","minVal","max","maxVal","isEthereumAddress","isUrlAddress","buildStringFromArray","errorStyles","labelStyles","icon","style","autoComplete","onChange","onBlur","map","message","index","key","csrftoken","cookieValue","document","cookie","cookies","split","trim","substring","decodeURIComponent"],"sourceRoot":""}