{"version":3,"file":"UserContext-BBX4mXCq.js","sources":["../../../app/javascript/shared/context/UserContext.tsx"],"sourcesContent":["import React, { createContext, ReactNode, useContext, useState } from 'react';\nimport { UserContextType } from '../../types';\n\ntype Props = {\n currentUser?: UserContextType;\n children: ReactNode;\n};\n\nconst DEFAULT_VALUES: any = {\n id: '',\n name: '',\n email: '',\n admin: false,\n firstName: '',\n lastName: '',\n confirmedAt: false,\n initials: '',\n phoneCountryCode: '',\n phoneNumberVerifiedAt: null,\n phoneNumber: '',\n isUserLoggedIn: false,\n};\n\nexport const UserContext = createContext({\n ...DEFAULT_VALUES,\n updateUserDetails: (_user: any) => {},\n});\n\nexport const UserProvider = ({ currentUser, children }: Props) => {\n const [user, setUser] = useState(currentUser || DEFAULT_VALUES);\n\n const updateUserDetails = (newVal: UserContextType) => {\n setUser({\n ...user,\n ...newVal,\n });\n };\n\n const contextValue = {\n ...user,\n isUserLoggedIn: !!user.id,\n updateUserDetails,\n };\n\n return (\n {children}\n );\n};\n\nexport const useUserContext = () => useContext(UserContext);\n"],"names":["DEFAULT_VALUES","UserContext","createContext","_user","UserProvider","currentUser","children","user","setUser","useState","updateUserDetails","newVal","contextValue","useUserContext","useContext"],"mappings":"iFAQA,MAAMA,EAAsB,CAC1B,GAAI,GACJ,KAAM,GACN,MAAO,GACP,MAAO,GACP,UAAW,GACX,SAAU,GACV,YAAa,GACb,SAAU,GACV,iBAAkB,GAClB,sBAAuB,KACvB,YAAa,GACb,eAAgB,EAClB,EAEaC,EAAcC,EAAAA,cAAc,CACvC,GAAGF,EACH,kBAAoBG,GAAe,CAAC,CACtC,CAAC,EAEYC,EAAe,CAAC,CAAE,YAAAC,EAAa,SAAAC,KAAsB,CAChE,KAAM,CAACC,EAAMC,CAAO,EAAIC,EAAAA,SAASJ,GAAeL,CAAc,EAExDU,EAAqBC,GAA4B,CAC7CH,EAAA,CACN,GAAGD,EACH,GAAGI,CAAA,CACJ,CAAA,EAGGC,EAAe,CACnB,GAAGL,EACH,eAAgB,CAAC,CAACA,EAAK,GACvB,kBAAAG,CAAA,EAGF,aACGT,EAAY,SAAZ,CAAqB,MAAOW,EAAe,SAAAN,CAAS,CAAA,CAEzD,EAEaO,EAAiB,IAAMC,EAAAA,WAAWb,CAAW"}