{"version":3,"file":"ConnectMiddleware-vWC5Herm.js","sources":["../../src/plugins/auth/RouteRedirectors/ConnectMiddleware.tsx"],"sourcesContent":["import { Center } from '@mantine/core'\nimport React, { useEffect, useRef } from 'react'\nimport { useLocation, useNavigate } from 'react-router-dom'\n\nimport Loading from '@/components/Loading'\nimport useLocalStorage from '@/hooks/useLocalStorage'\nimport { useAuth } from '@/plugins/auth'\n\nexport interface ChildrenProps {\n children: React.ReactNode\n}\n\nconst LoginRedirector: React.FC = ({ children }) => {\n const navigate = useNavigate()\n const { address, userIdentity } = useAuth()\n const [firstLogin, setFirstLogin] = useLocalStorage(`firstLogin-${address}`, true)\n const { pathname } = useLocation()\n // Open Hub on tab that prompt user to connect\n useEffect(() => {\n if (pathname.includes('/sign')) {\n const searchParams = new URLSearchParams(window.location.search)\n const fullPath = `${pathname}?${searchParams.toString()}`\n window.sessionStorage.setItem('oldRoute', fullPath)\n } else if (firstLogin && !userIdentity?.username) {\n navigate(`/freeusername`, {\n state: {\n pathname: '/profile',\n },\n })\n } else {\n setFirstLogin(false)\n }\n // Prevent navigation to /profile to avoid an infinite redirect loop to /profile/address\n if (!firstLogin && !pathname.includes('/profile')) {\n const oldRoute = window.sessionStorage.getItem('oldRoute')\n if (oldRoute) {\n navigate(oldRoute)\n }\n }\n }, [firstLogin, userIdentity, pathname, navigate, setFirstLogin])\n\n return firstLogin ? (\n
\n \n
\n ) : (\n children\n )\n}\n\n// Component used to redirect user to the correct page after connected\nconst ConnectMiddleware: React.FC = ({ children }) => {\n const { status, connect } = useAuth()\n const { pathname } = useLocation()\n const firstLoad = useRef(false)\n\n useEffect(() => {\n if (pathname.includes('sign') && connect && !firstLoad.current) {\n firstLoad.current = true\n connect?.()\n }\n }, [pathname, connect])\n\n return status !== 'connected' ? <>{children} : {children}\n}\n\nexport default ConnectMiddleware\n"],"names":["LoginRedirector","children","navigate","useNavigate","address","userIdentity","useAuth","firstLogin","setFirstLogin","useLocalStorage","pathname","useLocation","useEffect","searchParams","fullPath","oldRoute","jsx","Center","Loading","ConnectMiddleware","status","connect","firstLoad","useRef","Fragment"],"mappings":"oZAYA,MAAMA,EAA2C,CAAC,CAAE,SAAAC,KAAe,CACjE,MAAMC,EAAWC,IACX,CAAE,QAAAC,EAAS,aAAAC,CAAa,EAAIC,EAAQ,EACpC,CAACC,EAAYC,CAAa,EAAIC,EAAyB,cAAcL,CAAO,GAAI,EAAI,EACpF,CAAE,SAAAM,GAAaC,IAErBC,OAAAA,EAAAA,UAAU,IAAM,CACV,GAAAF,EAAS,SAAS,OAAO,EAAG,CAC9B,MAAMG,EAAe,IAAI,gBAAgB,OAAO,SAAS,MAAM,EACzDC,EAAW,GAAGJ,CAAQ,IAAIG,EAAa,SAAU,CAAA,GAChD,OAAA,eAAe,QAAQ,WAAYC,CAAQ,CACzC,MAAAP,GAAc,EAACF,GAAA,MAAAA,EAAc,UACtCH,EAAS,gBAAiB,CACxB,MAAO,CACL,SAAU,UACZ,CAAA,CACD,EAEDM,EAAc,EAAK,EAGrB,GAAI,CAACD,GAAc,CAACG,EAAS,SAAS,UAAU,EAAG,CACjD,MAAMK,EAAW,OAAO,eAAe,QAAQ,UAAU,EACrDA,GACFb,EAASa,CAAQ,CAErB,CAAA,EACC,CAACR,EAAYF,EAAcK,EAAUR,EAAUM,CAAa,CAAC,EAEzDD,EACLS,EAAAA,IAACC,EAAO,CAAA,MAAO,CAAE,OAAQ,QAAS,MAAO,OAAQ,EAC/C,SAACD,MAAAE,EAAA,CAAA,CAAQ,EACX,EAEAjB,CAEJ,EAGMkB,EAA6C,CAAC,CAAE,SAAAlB,KAAe,CACnE,KAAM,CAAE,OAAAmB,EAAQ,QAAAC,CAAQ,EAAIf,EAAQ,EAC9B,CAAE,SAAAI,GAAaC,IACfW,EAAYC,SAAgB,EAAK,EAEvCX,OAAAA,EAAAA,UAAU,IAAM,CACVF,EAAS,SAAS,MAAM,GAAKW,GAAW,CAACC,EAAU,UACrDA,EAAU,QAAU,GACVD,GAAA,MAAAA,IACZ,EACC,CAACX,EAAUW,CAAO,CAAC,EAEfD,IAAW,YAAcJ,EAAA,IAAAQ,EAAA,SAAA,CAAG,SAAAvB,EAAS,EAAMe,MAAChB,GAAiB,SAAAC,CAAS,CAAA,CAC/E"}