(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[177],{9692:(e,t,l)=>{Promise.resolve().then(l.t.bind(l,4004,23)),Promise.resolve().then(l.bind(l,9345)),Promise.resolve().then(l.bind(l,4498))},7711:(e,t,l)=>{"use strict";l.d(t,{default:()=>n.a});var r=l(1956),n=l.n(r)},1956:(e,t,l)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return n}});let r=l(306)._(l(580));function n(e,t){var l;let n={};"function"==typeof e&&(n.loader=e);let a={...n,...t};return(0,r.default)({...a,modules:null==(l=a.loadableGenerated)?void 0:l.modules})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9827:(e,t,l)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"BailoutToCSR",{enumerable:!0,get:function(){return n}});let r=l(3719);function n(e){let{reason:t,children:l}=e;if("undefined"==typeof window)throw new r.BailoutToCSRError(t);return l}},580:(e,t,l)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return u}});let r=l(5155),n=l(2115),a=l(9827),s=l(9214);function i(e){return{default:e&&"default"in e?e.default:e}}let o={loader:()=>Promise.resolve(i(()=>null)),loading:null,ssr:!0},u=function(e){let t={...o,...e},l=(0,n.lazy)(()=>t.loader().then(i)),u=t.loading;function d(e){let i=u?(0,r.jsx)(u,{isLoading:!0,pastDelay:!0,error:null}):null,o=!t.ssr||!!t.loading,d=o?n.Suspense:n.Fragment,c=t.ssr?(0,r.jsxs)(r.Fragment,{children:["undefined"==typeof window?(0,r.jsx)(s.PreloadChunks,{moduleIds:t.modules}):null,(0,r.jsx)(l,{...e})]}):(0,r.jsx)(a.BailoutToCSR,{reason:"next/dynamic",children:(0,r.jsx)(l,{...e})});return(0,r.jsx)(d,{...o?{fallback:i}:{},children:c})}return d.displayName="LoadableComponent",d}},9214:(e,t,l)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"PreloadChunks",{enumerable:!0,get:function(){return i}});let r=l(5155),n=l(7650),a=l(5861),s=l(8284);function i(e){let{moduleIds:t}=e;if("undefined"!=typeof window)return null;let l=a.workAsyncStorage.getStore();if(void 0===l)return null;let i=[];if(l.reactLoadableManifest&&t){let e=l.reactLoadableManifest;for(let l of t){if(!e[l])continue;let t=e[l].files;i.push(...t)}}return 0===i.length?null:(0,r.jsx)(r.Fragment,{children:i.map(e=>{let t=l.assetPrefix+"/_next/"+(0,s.encodeURIPath)(e);return e.endsWith(".css")?(0,r.jsx)("link",{precedence:"dynamic",href:t,rel:"stylesheet",as:"style"},e):((0,n.preload)(t,{as:"script",fetchPriority:"low"}),null)})})}},9345:(e,t,l)=>{"use strict";l.d(t,{default:()=>h});var r=l(5155),n=l(7711),a=l(7396),s=l(6046),i=l(5534),o=l(8440),u=l.n(o),d=l(2115),c=l(4498);let f=()=>{let e=(0,s.useRouter)(),t=(0,d.useContext)(c.R);if(console.log(t),!t)throw Error("UserContext must be used within a UserProvider");let{user:l,roles:n,logout:o}=t;console.log(l),console.log(n);let f=async()=>{try{await (0,i.AT)("/auth/logout","POST"),o(),e.push("/login")}catch(e){console.error("Logout failed:",e)}};return(0,r.jsx)("nav",{className:u().nav,children:(0,r.jsxs)("ul",{className:u().ul,children:[l&&(0,r.jsx)("li",{className:u().li,children:(0,r.jsxs)("span",{className:u().username,children:["Welcome, ",l.username]})}),(0,r.jsx)("li",{className:u().li,children:(0,r.jsx)(a.default,{href:"/",className:u().a,children:"Home"})}),!l&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("li",{className:u().li,children:(0,r.jsx)(a.default,{href:"/login",className:u().a,children:"Login"})}),(0,r.jsx)("li",{className:u().li,children:(0,r.jsx)(a.default,{href:"/register",className:u().a,children:"Register"})})]}),l&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("li",{className:u().li,children:(0,r.jsx)(a.default,{href:"/userProfile",className:u().a,children:"Account Info"})}),n.includes("admin")&&(0,r.jsx)("li",{className:u().li,children:(0,r.jsx)(a.default,{href:"/admin",children:"Admin Home"})}),n.includes("superadmin")&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("li",{className:u().li,children:(0,r.jsx)(a.default,{href:"/superAdmin",children:"Super Admin Home"})}),(0,r.jsx)("li",{className:u().li,children:(0,r.jsx)(a.default,{href:"/superAdmin/manageRoles",children:"Manage Roles"})})]}),(0,r.jsx)("li",{className:u().li,children:(0,r.jsx)("button",{onClick:f,className:u().a,children:"Logout"})})]})]})})},h=(0,n.default)(()=>Promise.resolve(f),{ssr:!1})},4498:(e,t,l)=>{"use strict";l.d(t,{R:()=>s,UserProvider:()=>i});var r=l(5155),n=l(2115),a=l(5534);let s=(0,n.createContext)(void 0),i=e=>{let{children:t}=e,[l,i]=(0,n.useState)(null),[o,u]=(0,n.useState)([]);(0,n.useEffect)(()=>{(async()=>{try{let e=await (0,a.AT)("/userdata","GET");i(e.user),u(e.roles)}catch(e){console.error("Error fetching user data:",e)}})()},[]);let d=async()=>{try{let e=await (0,a.AT)("/userdata","GET");i(e.user),u(e.roles)}catch(e){console.error("Error fetching user data:",e)}};return(0,r.jsx)(s.Provider,{value:{user:l,roles:o,login:d,logout:()=>{i(null),u([])}},children:t})}},5534:(e,t,l)=>{"use strict";l.d(t,{$8:()=>a,AT:()=>n});let r="https://nathanandshelby.com/api/";if(!r)throw Error("NEXT_PUBLIC_API_BASE_URL is not defined");async function n(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"GET",l=arguments.length>2?arguments[2]:void 0,n="".concat(r.replace(/\/$/,""),"/").concat(e.replace(/^\//,"")),a=await fetch(n,{method:t,headers:{"Content-Type":"application/json"},credentials:"include",body:l?JSON.stringify(l):void 0});if(!a.ok)throw Error((await a.json()).message||"Something went wrong");return a.json()}async function a(e,t){let l="".concat(r.replace(/\/$/,""),"/auth/login"),n=await fetch(l,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({usernameOrEmail:e,password:t})});if(!n.ok)throw Error((await n.json()).message||"Something went wrong");return n.json()}},4004:()=>{},8440:e=>{e.exports={nav:"Navbar_nav__A66_N",ul:"Navbar_ul__7eQph",li:"Navbar_li__SHJIM",a:"Navbar_a__rAmme",username:"Navbar_username__BNf8s"}}},e=>{var t=t=>e(e.s=t);e.O(0,[435,463,441,517,358],()=>t(9692)),_N_E=e.O()}]);