PageSourceSearch

https://refleckt.vercel.app/_next/static/chunks/app/layout-5ba0010894e74fc0.js

js refleckt.vercel.app collected 2026-10-03 07:36:12 UTC 51,001 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3185],{3162:function(e,t,r){Promise.resolve().then(r.bind(r,33631)),Promise.resolve().then(r.t.bind(r,8699,23)),Promise.resolve().then(r.t.bind(r,82950,23)),Promise.resolve().then(r.t.bind(r,52445,23))},66407:function(e,t,r){"use strict";r.d(t,{S:function(){return a}});let a=(0,r(62250).ec)()},33631:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return ez}});var a=r(57437),s=r(2265),n=r(91350),i=r(6690),l=r(21617),o=r(82749),c=r(10938),d=r(70165),u=r(16891);let f=r(32757).ZP;var m=r(66407);function g(e){let{children:t}=e,[r]=(0,s.useState)(()=>new c.S({defaultOptions:{queries:{staleTime:5e3,refetchOnWindowFocus:!1}}})),[n]=(0,s.useState)(()=>m.S.createClient({transformer:f,links:[(0,u.N8)({url:"/api/trpc"})]}));return(0,a.jsx)(m.S.Provider,{client:n,queryClient:r,children:(0,a.jsx)(d.aH,{client:r,children:t})})}let h=(0,s.createContext)(null);function p(e){let{children:t}=e,[r,n]=(0,s.useState)(null),[i,l]=(0,s.useState)(!0);(0,s.useEffect)(()=>{(async()=>{try{let e=localStorage.getItem("user");e&&n(JSON.parse(e))}catch(e){console.error("Auth check failed:",e)}finally{l(!1)}})()},[]);let o=async(e,t)=>{l(!0);try{let t={id:"1",name:"Test User",email:e};n(t),localStorage.setItem("user",JSON.stringify(t))}finally{l(!1)}},c=async()=>{l(!0);try{n(null),localStorage.removeItem("user")}finally{l(!1)}};return(0,a.jsx)(h.Provider,{value:{user:r,isAuthenticated:!!r,isLoading:i,login:o,logout:c},children:t})}let x=(0,s.createContext)(null);function v(e){let{children:t}=e,[r,n]=(0,s.useState)(!0),[i,l]=(0,s.useState)([]),o=(0,s.useCallback)(async()=>{if(0!==i.length)try{let e=[...i];for(let t=0;t<e.length;t++){e[t];try{e.splice(t,1),t--}catch(e){console.error("Failed to process action:",e)}}l(e)}catch(e){console.error("Error processing pending actions:",e)}},[i]);return(0,s.useEffect)(()=>{let e=()=>n(!0),t=()=>n(!1);return window.addEventListener("online",e),window.addEventListener("offline",t),n(navigator.onLine),(()=>{try{let e=localStorage.getItem("pendingActions");e&&l(JSON.parse(e))}catch(e){console.error("Failed to load pending actions:",e)}})(),()=>{window.removeEventListener("online",e),window.removeEventListener("offline",t)}},[]),(0,s.useEffect)(()=>{localStorage.setItem("pendingActions",JSON.stringify(i))},[i]),(0,s.useEffect)(()=>{r&&i.length>0&&o()},[r,i.length,o]),(0,a.jsx)(x.Provider,{value:{isOnline:r,pendingActions:i,addPendingAction:e=>{l(t=>[...t,e])},processPendingActions:o},children:t})}var b=r(95971),w=r(96421),j=r(85754),y=r(27815),N=r(9672);let k="pwa_install_dismissed";function S(){let[e,t]=(0,s.useState)(null),[r,n]=(0,s.useState)(!1),[i,l]=(0,s.useState)(!1),[o,c]=(0,s.useState)(!1),[d,u]=(0,s.useState)(!1),[f,m]=(0,s.useState)(!1);(0,s.useEffect)(()=>{let e=window.matchMedia("(display-mode: standalone)").matches,t=window.navigator.standalone;if(e||t){l(!0);return}let r=window.navigator.userAgent.toLowerCase(),a=/iphone|ipad|ipod/.test(r);u(a);let s=localStorage.getItem(k);if(s){let e=parseInt(s,10);if(Date.now()-e<6048e5)return}if(a){let e=setTimeout(()=>{n(!0)},5e3);return()=>clearTimeout(e)}},[]),(0,s.useEffect)(()=>{let e=e=>{e.preventDefault(),t(e),setTimeout(()=>{n(!0)},3e3)},r=()=>{l(!0),n(!1),t(null)};return window.addEventListener("beforeinstallprompt",e),window.addEventListener("appinstalled",r),()=>{window.removeEventListener("beforeinstallprompt",e),window.removeEventListener("appinstalled",r)}},[]);let g=(0,s.useCallback)(async()=>{if(e){c(!0);try{await e.prompt();let{outcome:t}=await e.userChoice;"accepted"===t&&l(!0)}catch(e){console.error("Installation failed:",e)}finally{c(!1),t(null),n(!1)}}},[e]),h=(0,s.useCallback)(()=>{localStorage.setItem(k,Date.now().toString()),n(!1)},[]);return i||!r?null:d?(0,a.jsx)("div",{className:"fixed bottom-4 left-4 right-4 z-50 animate-in slide-in-from-bottom-4",children:(0,a.jsx)(y.Zb,{className:"border-2 border-primary/20 shadow-lg",children:(0,a.jsx)(y.aY,{className:"p-4",children:f?(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)("h3",{className:"font-semibold text-lg",children:"Install on iOS"}),(0,a.jsx)(j.z,{variant:"ghost",size:"icon",onClick:()=>m(!1),className:"h-8 w-8",children:(0,a.jsx)(N.P.x,{className:"h-4 w-4"})})]}),(0,a.jsxs)("ol",{className:"space-y-3 text-sm text-muted-foreground",children:[(0,a.jsxs)("li",{className:"flex items-start gap-3",children:[(0,a.jsx)("span",{className:"flex-shrink-0 w-6 h-6 bg-primary/10 text-primary rounded-full flex items-center justify-center text-xs font-medium",children:"1"}),(0,a.jsxs)("span",{children:["Tap the ",(0,a.jsx)("strong",{children:"Share"})," button"," ",(0,a.jsx)(N.P.share,{className:"inline h-4 w-4"})," at the bottom of Safari"]})]}),(0,a.jsxs)("li",{className:"flex items-start gap-3",children:[(0,a.jsx)("span",{className:"flex-shrink-0 w-6 h-6 bg-primary/10 text-primary rounded-full flex items-center justify-center text-xs font-medium",children:"2"}),(0,a.jsxs)("span",{children:["Scroll down and tap ",(0,a.jsx)("strong",{children:'"Add to Home Screen"'})," ",(0,a.jsx)(N.P.plus,{className:"inline h-4 w-4"})]})]}),(0,a.jsxs)("li",{className:"flex items-start gap-3",children:[(0,a.jsx)("span",{className:"flex-shrink-0 w-6 h-6 bg-primary/10 text-primary rounded-full flex items-center justify-center text-xs font-medium",children:"3"}),(0,a.jsxs)("span",{children:["Tap ",(0,a.jsx)("strong",{children:'"Add"'})," to install Reflekt"]})]})]}),(0,a.jsx)(j.z,{variant:"outline",className:"w-full",onClick:h,children:"Got it"})]}):(0,a.jsxs)("div",{className:"flex items-center gap-4",children:[(0,a.jsx)("div",{className:"flex-shrink-0 w-12 h-12 bg-primary/10 rounded-xl flex items-center justify-center",children:(0,a.jsx)(N.P.download,{className:"h-6 w-6 text-primary"})}),(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,a.jsx)("h3",{className:"font-semibold",children:"Install Reflekt"}),(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:"Add to your home screen for the best experience"})]}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)(j.z,{variant:"ghost",size:"icon",onClick:h,className:"h-8 w-8",children:(0,a.jsx)(N.P.x,{className:"h-4 w-4"})}),(0,a.jsx)(j.z,{size:"sm",onClick:()=>m(!0),children:"How to Install"})]})]})})})}):(0,a.jsx)("div",{className:"fixed bottom-4 left-4 right-4 z-50 animate-in slide-in-from-bottom-4",children:(0,a.jsx)(y.Zb,{className:"border-2 border-primary/20 shadow-lg bg-gradient-to-r from-primary/5 to-transparent",children:(0,a.jsx)(y.aY,{className:"p-4",children:(0,a.jsxs)("div",{className:"flex items-center gap-4",children:[(0,a.jsx)("div",{className:"flex-shrink-0 w-12 h-12 bg-primary/10 rounded-xl flex items-center justify-center",children:(0,a.jsx)(N.P.download,{className:"h-6 w-6 text-primary"})}),(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,a.jsx)("h3",{className:"font-semibold",children:"Install Reflekt Journal"}),(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:"Install for offline access and a native app experience"})]}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)(j.z,{variant:"ghost",size:"icon",onClick:h,className:"h-8 w-8",children:(0,a.jsx)(N.P.x,{className:"h-4 w-4"})}),(0,a.jsxs)(j.z,{onClick:g,disabled:o,className:"gap-2",children:[o?(0,a.jsx)(N.P.spinner,{className:"h-4 w-4 animate-spin"}):(0,a.jsx)(N.P.download,{className:"h-4 w-4"}),"Install"]})]})]})})})})}var C=r(18361),Z=r(96061),_=r(82549),E=r(1657);let I=C.zt,A=s.forwardRef((e,t)=>
1{let{className:r,...s}=e;return(0,a.jsx)(C.l_,{ref:t,className:(0,E.cn)("fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]",r),...s})});A.displayName=C.l_.displayName;let O=(0,Z.j)("group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full",{variants:{variant:{default:"border bg-background text-foreground",destructive:"destructive group border-destructive bg-destructive text-destructive-foreground"}},defaultVariants:{variant:"default"}}),P=s.forwardRef((e,t)=>{let{className:r,variant:s,...n}=e;return(0,a.jsx)(C.fC,{ref:t,className:(0,E.cn)(O({variant:s}),r),...n})});P.displayName=C.fC.displayName,s.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsx)(C.aU,{ref:t,className:(0,E.cn)("inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium ring-offset-background transition-colors hover:bg-secondary focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive",r),...s})}).displayName=C.aU.displayName;let z=s.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsx)(C.x8,{ref:t,className:(0,E.cn)("absolute right-2 top-2 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-2 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600",r),"toast-close":"",...s,children:(0,a.jsx)(_.Z,{className:"h-4 w-4"})})});z.displayName=C.x8.displayName;let T=s.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsx)(C.Dx,{ref:t,className:(0,E.cn)("text-sm font-semibold",r),...s})});T.displayName=C.Dx.displayName;let R=s.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsx)(C.dk,{ref:t,className:(0,E.cn)("text-sm opacity-90",r),...s})});R.displayName=C.dk.displayName;var L=r(75083);function D(){let{toasts:e}=(0,L.pm)();return(0,a.jsxs)(I,{children:[e.map(function(e){let{id:t,title:r,description:s,action:n,...i}=e;return(0,a.jsxs)(P,{...i,children:[(0,a.jsxs)("div",{className:"grid gap-1",children:[r&&(0,a.jsx)(T,{children:r}),s&&(0,a.jsx)(R,{children:s})]}),n,(0,a.jsx)(z,{})]},t)}),(0,a.jsx)(A,{})]})}function F(e){let{children:t}=e;return(0,a.jsx)(n.f,{attribute:"class",defaultTheme:"system",enableSystem:!0,children:(0,a.jsx)(i.zt,{children:(0,a.jsx)(l.J$,{value:{fetcher:(e,t)=>fetch(e,t).then(e=>e.json()),revalidateOnFocus:!1},children:(0,a.jsx)(o.SessionProvider,{children:(0,a.jsx)(g,{children:(0,a.jsx)(p,{children:(0,a.jsx)(v,{children:(0,a.jsx)(b.mu,{children:(0,a.jsxs)(w.TrueErrorBoundary,{fallbackUI:"full",title:"Something went wrong",showDetails:!0,children:[t,(0,a.jsx)(S,{}),(0,a.jsx)(D,{})]})})})})})})})})})}let U={apiUrl:"",services:{entries:!1,analytics:!1,settings:!1,ai:!1,gamification:!1,prompts:!1},features:{offlineMode:!1,aiAnalysis:!1,moodTracking:!1,gamification:!1,streaks:!1,achievements:!1},version:"",isLoaded:!1},J=(0,s.createContext)(U);class M extends s.Component{componentDidMount(){this.fetchConfig()}render(){return(0,a.jsx)(J.Provider,{value:this.state.config,children:this.props.children})}constructor(e){super(e),this.fetchConfig=async()=>{try{let e=await fetch("/api/config");if(!e.ok)throw Error("Failed to load configuration: ".concat(e.status));let t=await e.json();this.setState({config:{...t,isLoaded:!0}})}catch(e){console.error("Error loading API configuration:",e),this.setState({config:{...U,isLoaded:!0,error:e instanceof Error?e.message:"Unknown error loading configuration"}})}},this.state={config:U}}}function Y(e){let{children:t}=e;return(0,a.jsx)(M,{children:t})}var V=r(61396),q=r.n(V),G=r(16691),W=r.n(G),H=r(24033),B=r(77480),X=r(9865),K=r(2174),$=r(60272),Q=r(2882),ee=r(8957),et=r(29409),er=r(90998);let ea=[{title:"Home",href:"/",icon:B.Z,description:"Welcome to Reflekt Journal",showInNav:!1},{title:"Journal",href:"/journal",icon:X.Z,description:"Write and reflect on your thoughts",requiresAuth:!0,showInNav:!0},{title:"Analytics",href:"/analytics",icon:K.Z,description:"View your journaling insights and patterns",requiresAuth:!0,showInNav:!0},{title:"AI Insights",href:"/ai-insights",icon:$.Z,description:"Get AI-powered insights from your entries",requiresAuth:!0,showInNav:!0},{title:"Prompts",href:"/prompts",icon:Q.Z,description:"Explore writing prompts and inspiration",requiresAuth:!0,showInNav:!0},{title:"Rewards",href:"/rewards",icon:ee.Z,description:"View your points, levels, and achievements",requiresAuth:!0,showInNav:!0},{title:"Settings",href:"/settings",icon:et.Z,description:"Manage your account and preferences",requiresAuth:!0,showInNav:!0},{title:"System Status",href:"/status",icon:er.Z,description:"View AWS service health and metrics",requiresAuth:!1,showInNav:!0}],es=e=>{let t=e.split(" ");return t.length>=2?"".concat(t[0][0]).concat(t[t.length-1][0]).toUpperCase():e[0].toUpperCase()};var en=r(92220),ei=r(23291),el=r(17158),eo=r(62442),ec=r(76369);let ed=ei.fC,eu=ei.xz;ei.ZA,ei.Uv,ei.Tr,ei.Ee,s.forwardRef((e,t)=>
1{let{className:r,inset:s,children:n,...i}=e;return(0,a.jsxs)(ei.fF,{ref:t,className:(0,E.cn)("flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",s&&"pl-8",r),...i,children:[n,(0,a.jsx)(el.Z,{className:"ml-auto"})]})}).displayName=ei.fF.displayName,s.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsx)(ei.tu,{ref:t,className:(0,E.cn)("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-dropdown-menu-content-transform-origin]",r),...s})}).displayName=ei.tu.displayName;let ef=s.forwardRef((e,t)=>{let{className:r,sideOffset:s=4,...n}=e;return(0,a.jsx)(ei.Uv,{children:(0,a.jsx)(ei.VY,{ref:t,sideOffset:s,className:(0,E.cn)("z-50 max-h-[var(--radix-dropdown-menu-content-available-height)] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-dropdown-menu-content-transform-origin]",r),...n})})});ef.displayName=ei.VY.displayName;let em=s.forwardRef((e,t)=>{let{className:r,inset:s,...n}=e;return(0,a.jsx)(ei.ck,{ref:t,className:(0,E.cn)("relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",s&&"pl-8",r),...n})});em.displayName=ei.ck.displayName,s.forwardRef((e,t)=>{let{className:r,children:s,checked:n,...i}=e;return(0,a.jsxs)(ei.oC,{ref:t,className:(0,E.cn)("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",r),checked:n,...i,children:[(0,a.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,a.jsx)(ei.wU,{children:(0,a.jsx)(eo.Z,{className:"h-4 w-4"})})}),s]})}).displayName=ei.oC.displayName,s.forwardRef((e,t)=>{let{className:r,children:s,...n}=e;return(0,a.jsxs)(ei.Rk,{ref:t,className:(0,E.cn)("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",r),...n,children:[(0,a.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,a.jsx)(ei.wU,{children:(0,a.jsx)(ec.Z,{className:"h-2 w-2 fill-current"})})}),s]})}).displayName=ei.Rk.displayName;let eg=s.forwardRef((e,t)=>{let{className:r,inset:s,...n}=e;return(0,a.jsx)(ei.__,{ref:t,className:(0,E.cn)("px-2 py-1.5 text-sm font-semibold",s&&"pl-8",r),...n})});eg.displayName=ei.__.displayName;let eh=s.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsx)(ei.Z0,{ref:t,className:(0,E.cn)("-mx-1 my-1 h-px bg-muted",r),...s})});eh.displayName=ei.Z0.displayName;var ep=r(26694);let ex=s.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsx)(ep.fC,{ref:t,className:(0,E.cn)("relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full",r),...s})});ex.displayName=ep.fC.displayName;let ev=s.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsx)(ep.Ee,{ref:t,className:(0,E.cn)("aspect-square h-full w-full",r),...s})});ev.displayName=ep.Ee.displayName;let eb=s.forwardRef((e,t)=>
1{let{className:r,...s}=e;return(0,a.jsx)(ep.NY,{ref:t,className:(0,E.cn)("flex h-full w-full items-center justify-center rounded-full bg-muted",r),...s})});eb.displayName=ep.NY.displayName;var ew=r(16065);function ej(){var e,t,r,s,n;let{data:i}=(0,o.useSession)(),l=(0,H.usePathname)();return["/login","/signup","/logout"].includes(l||"")?null:(0,a.jsx)("header",{className:"sticky top-0 z-50 w-full border-b bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/60",children:(0,a.jsxs)("div",{className:"container flex h-14 items-center justify-between",children:[(0,a.jsx)("div",{className:"flex items-center space-x-2",children:(0,a.jsxs)(q(),{href:"/",className:"flex items-center space-x-2",children:[(0,a.jsx)(W(),{src:"/logo.jpg",alt:"Reflekt Logo",width:48,height:48,className:"rounded-md border-2 border-black dark:border-transparent"}),(0,a.jsx)("span",{className:"font-bold text-lg",children:"Reflekt"})]})}),(0,a.jsxs)("div",{className:"flex items-center space-x-2",children:[i&&(0,a.jsx)(ew.G,{compact:!0}),(0,a.jsx)(en.T,{}),i?(0,a.jsx)("div",{className:"relative",children:(0,a.jsxs)(ed,{children:[(0,a.jsx)(eu,{asChild:!0,children:(0,a.jsxs)(ex,{className:"h-8 w-8 cursor-pointer",children:[(0,a.jsx)(ev,{src:(null===(e=i.user)||void 0===e?void 0:e.image)||void 0,alt:(null===(t=i.user)||void 0===t?void 0:t.name)||""}),(0,a.jsx)(eb,{children:es((null===(r=i.user)||void 0===r?void 0:r.name)||"")})]})}),(0,a.jsxs)(ef,{align:"end",className:"w-56",children:[(0,a.jsxs)(eg,{className:"flex flex-col",children:[(0,a.jsx)("span",{children:null===(s=i.user)||void 0===s?void 0:s.name}),(0,a.jsx)("span",{className:"text-xs text-muted-foreground",children:null===(n=i.user)||void 0===n?void 0:n.email})]}),(0,a.jsx)(eh,{}),ea.filter(e=>e.showInNav).map(e=>(0,a.jsx)(em,{asChild:!0,children:(0,a.jsxs)(q(),{href:e.href,className:(0,E.cn)("flex items-center w-full",l===e.href?"bg-accent text-accent-foreground":""),children:[(0,a.jsx)(e.icon,{className:"h-4 w-4 mr-2"}),(0,a.jsx)("span",{children:e.title})]})},e.href)),(0,a.jsx)(eh,{}),(0,a.jsx)(em,{asChild:!0,children:(0,a.jsx)(q(),{href:"/settings",className:"flex items-center w-full",children:"Settings"})}),(0,a.jsx)(em,{className:"text-red-600 focus:text-red-600 focus:bg-red-100/20",onClick:()=>(0,o.signOut)(),children:"Log out"})]})]})}):(0,a.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,a.jsx)(j.z,{variant:"ghost",asChild:!0,children:(0,a.jsx)(q(),{href:"/login",children:"Sign in"})}),(0,a.jsx)(j.z,{asChild:!0,children:(0,a.jsx)(q(),{href:"/signup",children:"Get Started"})})]})]})]})})}var ey=r(1295),eN=r(83039),ek=r(83298),eS=r(27461),eC=r(28956),eZ=r(86736);function e_(){let e=new Date().getFullYear();return(0,a.jsx)("footer",{className:"w-full border-t bg-background py-6 mt-auto",children:(0,a.jsx)("div",{className:"container px-4 md:px-6",children:(0,a.jsxs)("div",{className:"flex flex-col sm:flex-row justify-between items-center gap-6",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("div",{className:"relative w-8 h-8",children:(0,a.jsx)(W(),{src:"/logo.jpg",alt:"Refleckt Journal",className:"rounded-md",width:32,height:32,priority:!0})}),(0,a.jsx)("span",{className:"text-lg font-semibold tracking-tight",children:"Refleckt Journal"})]}),(0,a.jsx)(eZ.id,{size:"xs",showLabel:!0}),(0,a.jsxs)("div",{className:"flex items-center gap-5 sm:gap-6 text-muted-foreground",children:[(0,a.jsxs)(q(),{href:"mailto:[email protected]","aria-label":"Email",className:"hover:text-foreground transition flex items-center gap-1.5 group",children:[(0,a.jsx)(ey.Z,{className:"h-4 w-4 group-hover:text-primary transition-colors"}),(0,a.jsx)("span",{className:"hidden sm:inline text-sm",children:"Email"})]}),(0,a.jsxs)(q(),{href:"https://twitter.com/dev_ericgitangu",target:"_blank",rel:"noopener noreferrer","aria-label":"Twitter",className:"hover:text-foreground transition flex items-center gap-1.5 group",children:[(0,a.jsx)(eN.Z,{className:"h-4 w-4 group-hover:text-primary transition-colors"}),(0,a.jsx)("span",{className:"hidden sm:inline text-sm",children:"Twitter"})]}),(0,a.jsxs)(q(),{href:"https://github.com/ericgitangu",target:"_blank",rel:"noopener noreferrer","aria-label":"GitHub",className:"hover:text-foreground transition flex items-center gap-1.5 group",children:[(0,a.jsx)(ek.Z,{className:"h-4 w-4 group-hover:text-primary transition-colors"}),(0,a.jsx)("span",{className:"hidden sm:inline text-sm",children:"GitHub"})]}),(0,a.jsxs)(q(),{href:"https://linkedin.com/in/ericgitangu",target:"_blank",rel:"noopener noreferrer","aria-label":"LinkedIn",className:"hover:text-foreground transition flex items-center gap-1.5 group",children:[(0,a.jsx)(eS.Z,{className:"h-4 w-4 group-hover:text-primary transition-colors"}),(0,a.jsx)("span",{className:"hidden sm:inline text-sm",children:"LinkedIn"})]}),(0,a.jsxs)(q(),{href:"https://developer.ericgitangu.com",target:"_blank",rel:"noopener noreferrer","aria-label":"Website",className:"hover:text-foreground transition flex items-center gap-1.5 group",children:[(0,a.jsx)(eC.Z,{className:"h-4 w-4 group-hover:text-primary transition-colors"}),(0,a.jsx)("span",{className:"hidden sm:inline text-sm",children:"Website"})]})]}),(0,a.jsxs)("div",{className:"text-xs text-muted-foreground font-medium",children:["\xa9 ",e," Refleckt Journ
1al"]})]})})})}let eE=()=>(0,a.jsx)(e_,{});class eI{static getInstance(){return eI.instance||(eI.instance=new eI),eI.instance}formatLog(e){return"[".concat(e.timestamp,"] ").concat(e.type.toUpperCase(),": ").concat(e.message).concat(e.data?"\nData: ".concat(JSON.stringify(e.data,null,2)):"").concat(e.headers?"\nHeaders: ".concat(JSON.stringify(e.headers,null,2)):"")}addLog(e){this.logs.push(e),this.logs.length>this.MAX_LOGS&&this.logs.shift()}info(e,t,r){this.addLog({timestamp:new Date().toISOString(),type:"info",message:e,data:t,headers:r})}error(e,t,r){this.addLog({timestamp:new Date().toISOString(),type:"error",message:e,data:t,headers:r})}warning(e,t,r){this.addLog({timestamp:new Date().toISOString(),type:"warning",message:e,data:t,headers:r})}getLogs(){return[...this.logs]}clearLogs(){this.logs=[]}downloadLogs(){let e=this.logs.map(e=>this.formatLog(e)).join("\n\n"),t=new Blob([e],{type:"text/plain"}),r=URL.createObjectURL(t),a=document.createElement("a");a.href=r,a.download="debug-logs-".concat(new Date().toISOString(),".txt"),document.body.appendChild(a),a.click(),document.body.removeChild(a),URL.revokeObjectURL(r)}constructor(){this.logs=[],this.MAX_LOGS=100}}let eA=eI.getInstance(),eO=e=>{let{className:t=""}
1=e,[r,a]=(0,s.useState)([]),[n,i]=(0,s.useState)(!1);return(0,s.useEffect)(()=>{let e=()=>{a(eA.getLogs())},t=setInterval(e,1e3);return e(),()=>clearInterval(t)},[]),null};function eP(){return(0,a.jsx)("div",{className:"min-h-screen flex items-center justify-center",children:(0,a.jsx)("div",{className:"animate-pulse h-16 w-16 rounded-full bg-neutral-200"})})}function ez(e){let{children:t}=e;return(0,a.jsx)(s.Suspense,{fallback:(0,a.jsx)(eP,{}),children:(0,a.jsx)(Y,{children:(0,a.jsx)(F,{children:(0,a.jsxs)("div",{className:"flex flex-col min-h-screen",children:[(0,a.jsx)(ej,{}),(0,a.jsx)("main",{className:"flex-grow",children:t}),(0,a.jsx)(eE,{}),(0,a.jsx)(eO,{}),(0,a.jsx)(D,{})]})})})})}},16065:function(e,t,r){"use strict";r.d(t,{G:function(){return m}});var a=r(57437),s=r(46933),n=r(31478),i=r(55340),l=r(8957),o=r(81016),c=r(81568),d=r(61396),u=r.n(d),f=r(55322);function m(e){let{showStreak:t=!0,showLevel:r=!0,compact:d=!1}=e,{points:m,level:g,streak:h,isLoading:p}=(0,s.K)();return p?(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(c.O,{className:"h-6 w-16 rounded-full"}),t&&(0,a.jsx)(c.O,{className:"h-6 w-12 rounded-full"})]}):(0,a.jsx)(f.pn,{children:(0,a.jsxs)(u(),{href:"/rewards",className:"flex items-center gap-2",children:[(0,a.jsxs)(f.u,{children:[(0,a.jsx)(f.aJ,{asChild:!0,children:(0,a.jsxs)(n.C,{variant:"secondary",className:"cursor-pointer hover:bg-secondary/80 transition-colors",children:[(0,a.jsx)(i.Z,{className:"h-3 w-3 mr-1 text-yellow-500"}),d?m:"".concat(m," pts")]})}),(0,a.jsx)(f._v,{children:(0,a.jsxs)("p",{children:[m," points - Click to view rewards"]})})]}),r&&(0,a.jsxs)(f.u,{children:[(0,a.jsx)(f.aJ,{asChild:!0,children:(0,a.jsxs)(n.C,{variant:"outline",className:"cursor-pointer hover:bg-accent transition-colors",children:[(0,a.jsx)(l.Z,{className:"h-3 w-3 mr-1 text-primary"}),d?"L".concat(g):"Level ".concat(g)]})}),(0,a.jsx)(f._v,{children:(0,a.jsxs)("p",{children:["Level ",g," - Click to view progress"]})})]}),t&&h>0&&(0,a.jsxs)(f.u,{children:[(0,a.jsx)(f.aJ,{asChild:!0,children:(0,a.jsxs)(n.C,{variant:"outline",className:"cursor-pointer transition-colors ".concat(h>=7?"border-orange-500 text-orange-600":"hover:bg-accent"),children:[(0,a.jsx)(o.Z,{className:"h-3 w-3 mr-1 ".concat(h>=7?"text-orange-500":"text-muted-foreground")}),h]})}),(0,a.jsx)(f._v,{children:(0,a.jsxs)("p",{children:[h," day streak!"]})})]})]})})}},9672:function(e,t,r){"use strict";r.d(t,{P:function(){return K}});var a=r(13239),s=r(93088),n=r(34690),i=r(52845),l=r(86264),o=r(81291),c=r(17158),d=r(83523),u=r(65035),f=r(9883),m=r(60272),g=r(2882),h=r(29409),p=r(2174),x=r(9865),v=r(77480),b=r(64280),w=r(72894),j=r(85790),y=r(74522),N=r(64891),k=r(76637),S=r(81016),C=r(53589),Z=r(47562),_=r(4689),E=r(92851),I=r(28203),A=r(17810),O=r(8759),P=r(52369),z=r(30629),T=r(82549),R=r(35817),L=r(51274),D=r(45367),F=r(3021),U=r(79921),J=r(70612),M=r(99670),Y=r(77216),V=r(71813),q=r(32304),G=r(1351),W=r(49036),H=r(67972),B=r(65883),X=r(62442);let K={sun:a.Z,moon:s.Z,laptop:n.Z,google:i.Z,spinner:l.Z,chevronLeft:o.Z,chevronRight:c.Z,chevronDown:d.Z,command:u.Z,plus:f.Z,brain:m.Z,messageSquare:g.Z,settings:h.Z,barChart:p.Z,bookOpen:x.Z,home:v.Z,refresh:b.Z,alertTriangle:w.Z,trendingUp:j.Z,trendingDown:y.Z,minus:N.Z,fileText:k.Z,flame:S.Z,edit:C.Z,hash:Z.Z,list:_.Z,sparkles:E.Z,calendar:I.Z,heart:A.Z,lightbulb:O.Z,zap:P.Z,shuffle:z.Z,x:T.Z,download:R.Z,share:L.Z,trash:D.Z,bell:F.Z,bellRing:U.Z,monitor:J.Z,eye:M.Z,eyeOff:Y.Z,grid:V.Z,layoutList:q.Z,calendarDays:G.Z,shield:W.Z,user:H.Z,logOut:B.Z,check:X.Z}},86736:function(e,t,r){"use strict";r.d(t,{OE:function(){return f},id:function(){return u},zZ:function(){return d}});var a=r(57437);r(2265);var s=r(61396),n=r.n(s),i=r(1657),l=r(57120);let o={operational:{bg:"bg-emerald-500",ring:"ring-emerald-500/30",pulse:"bg-emerald-400",text:"text-emerald-600 dark:text-emerald-400",label:"All Systems Operational"},all_operational:{bg:"bg-emerald-500",ring:"ring-emerald-500/30",pulse:"bg-emerald-400",text:"text-emerald-600 dark:text-emerald-400",label:"All Systems Operational"},degraded:{bg:"bg-yellow-500",ring:"ring-yellow-500/30",pulse:"bg-yellow-400",text:"text-yellow-600 dark:text-yellow-400",label:"Degraded Performance"},degraded_performance:{bg:"bg-yellow-500",ring:"ring-yellow-500/30",pulse:"bg-yellow-400",text:"text-yellow-600 dark:text-yellow-400",label:"Degraded Performance"},partial_outage:{bg:"bg-orange-500",ring:"ring-orange-500/30",pulse:"bg-orange-400",text:"text-orange-600 dar
1k:text-orange-400",label:"Partial Outage"},major_outage:{bg:"bg-red-500",ring:"ring-red-500/30",pulse:"bg-red-400",text:"text-red-600 dark:text-red-400",label:"Major Outage"},maintenance:{bg:"bg-blue-500",ring:"ring-blue-500/30",pulse:"bg-blue-400",text:"text-blue-600 dark:text-blue-400",label:"Under Maintenance"},unknown:{bg:"bg-gray-400",ring:"ring-gray-400/30",pulse:"bg-gray-300",text:"text-gray-500 dark:text-gray-400",label:"Checking Status..."}},c={xs:{dot:"h-1.5 w-1.5",ring:"ring-1",text:"text-[10px]",gap:"gap-1"},sm:{dot:"h-2 w-2",ring:"ring-2",text:"text-xs",gap:"gap-1.5"},md:{dot:"h-2.5 w-2.5",ring:"ring-2",text:"text-sm",gap:"gap-2"},lg:{dot:"h-3 w-3",ring:"ring-2",text:"text-base",gap:"gap-2"}};function d(e){let{status:t="unknown",size:r="sm",showPulse:s=!0,className:n}=e,l=o[t]||o.unknown,d=c[r];return(0,a.jsxs)("span",{className:(0,i.cn)("relative inline-flex",n),children:[s&&("operational"===t||"all_operational"===t||"unknown"===t)&&(0,a.jsx)("span",{className:(0,i.cn)("absolute inline-flex h-full w-full animate-ping rounded-full opacity-75",l.pulse),style:{animationDuration:"2s"}}),(0,a.jsx)("span",{className:(0,i.cn)("relative inline-flex rounded-full ring",d.dot,d.ring,l.bg,l.ring)})]})}function u(e){var t,r;let{size:s="xs",showLabel:u=!0,className:f}=e,{status:m,isLoading:g}=(0,l.I)();return(0,a.jsxs)(n(),{href:"/status",className:(0,i.cn)("inline-flex items-center transition-all hover:opacity-80",c[s].gap,f),title:"System Status: ".concat((null===(t=o[m])||void 0===t?void 0:t.label)||"Checking..."),children:[(0,a.jsx)(d,{status:g?"unknown":m,size:s,showPulse:!g}),u&&(0,a.jsx)("span",{className:(0,i.cn)("font-medium transition-colors",c[s].text,g?"text-gray-400":(null===(r=o[m])||void 0===r?void 0:r.text)||"text-gray-400"),children:g?"Checking...":"System Status"})]})}function f(e){let{status:t,className:r}=e,s=o[t]||o.unknown;return(0,a.jsxs)("span",{className:(0,i.cn)("inline-flex items-center gap-1.5 px-2 py-0.5 rounded-full text-xs font-medium",s.bg.replace("bg-","bg-opacity-10 bg-"),s.text,r),children:[(0,a.jsx)(d,{status:t,size:"xs",showPulse:!1}),s.label]})}},92220:function(e,t,r){"use strict";r.d(t,{T:function(){return o}});var a=r(57437),s=r(44135),n=r(93088),i=r(91350),l=r(85754);function o(){let{setTheme:e,theme:t}=(0,i.F)();return(0,a.jsxs)(l.z,{variant:"ghost",size:"icon",onClick:()=>e("light"===t?"dark":"light"),"aria-label":"Toggle theme",children:[(0,a.jsx)(s.Z,{className:"h-[1.2rem] w-[1.2rem] rotate-0 scale-100 transition-all dark:-rotate-90 dark:scale-0"}),(0,a.jsx)(n.Z,{className:"absolute h-[1.2rem] w-[1.2rem] rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100"})]})}},77929:function(e,t,r){"use strict";r.d(t,{Cd:function(){return o},X:function(){return c},bZ:function(){return l}});var a=r(57437);r(2265);var s=r(96061),n=r(1657);let i=(0,s.j)("relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current",{variants:{variant:{default:"bg-card text-card-foreground",destructive:"text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90"}},defaultVariants:{variant:"default"}});function l(e){let{className:t,variant:r,...s}=e;return(0,a.jsx)("div",{"data-slot":"alert",role:"alert",className:(0,n.cn)(i({variant:r}),t),...s})}function o(e){let{className:t,...r}=e;return(0,a.jsx)("div",{"data-slot":"alert-title",className:(0,n.cn)("col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight",t),...r})}function c(e){let{className:t,...r}=e;return(0,a.jsx)("div",{"data-slot":"alert-description",className:(0,n.cn)("text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed",t),...r})}},31478:function(e,t,r){"use strict";r.d(t,{C:function(){return l}});var a=r(57437);r(2265);var s=r(96061),n=r(1657);let i=(0,s.j)("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function l(e){let{className:t,variant:r,...s}=e;return(0,a.jsx)("div",{className:(0,n.cn)(i({variant:r}),t),...s})}},85754:function(e,t,r){"use strict";r.d(t,{d:function(){return o},z:function(){return c}});var a=r(57437),s=r(2265),n=r(67256),i=r(96061),l=r(1657);let o=(0,i.j)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground shadow-xs hover:bg-primary/90",destructive:"bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9"}},defaultVariants:{variant:"default",size:"default"}}),c=s.forwardRef((e,t)=>
1{let{className:r,variant:s,size:i,asChild:c=!1,...d}=e,u=c?n.g7:"button";return(0,a.jsx)(u,{"data-slot":"button",className:(0,l.cn)(o({variant:s,size:i,className:r})),ref:t,...d})});c.displayName="Button"},27815:function(e,t,r){"use strict";r.d(t,{Ol:function(){return i},SZ:function(){return o},Zb:function(){return n},aY:function(){return c},eW:function(){return d},ll:function(){return l}});var a=r(57437);r(2265);var s=r(1657);function n(e){let{className:t,...r}=e;return(0,a.jsx)("div",{"data-slot":"card",className:(0,s.cn)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",t),...r})}function i(e){let{className:t,...r}=e;return(0,a.jsx)("div",{"data-slot":"card-header",className:(0,s.cn)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",t),...r})}function l(e){let{className:t,...r}=e;return(0,a.jsx)("div",{"data-slot":"card-title",className:(0,s.cn)("leading-none font-semibold",t),...r})}function o(e){let{className:t,...r}=e;return(0,a.jsx)("div",{"data-slot":"card-description",className:(0,s.cn)("text-muted-foreground text-sm",t),...r})}function c(e){let{className:t,...r}=e;return(0,a.jsx)("div",{"data-slot":"card-content",className:(0,s.cn)("px-6",t),...r})}function d(e){let{className:t,...r}=e;return(0,a.jsx)("div",{"data-slot":"card-footer",className:(0,s.cn)("flex items-center px-6 [.border-t]:pt-6",t),...r})}},96421:function(e,t,r){"use strict";r.r(t),r.d(t,{TrueErrorBoundary:function(){return u}});var a=r(57437),s=r(2265),n=r(11981),i=r(64280),l=r(85754),o=r(27815),c=r(77929);function d(e){let{error:t,reset:r,title:d="Something went wrong",showDetails:u=!1,variant:f="full"}=e;return((0,s.useEffect)(()=>{console.error("Component error:",t)},[t]),"minimal"===f)?(0,a.jsxs)("div",{className:"p-2 text-sm text-[hsl(var(--destructive))] flex items-center gap-2",children:[(0,a.jsx)(n.Z,{className:"h-4 w-4"}),(0,a.jsx)("span",{children:d}),(0,a.jsx)(l.z,{size:"sm",variant:"ghost",onClick:r,className:"h-6 px-2",children:(0,a.jsx)(i.Z,{className:"h-3 w-3"})})]}):"inline"===f?(0,a.jsxs)(c.bZ,{variant:"destructive",className:"my-4",children:[(0,a.jsx)(n.Z,{className:"h-4 w-4"}),(0,a.jsxs)(c.X,{children:[d,u&&(0,a.jsx)("div",{className:"text-xs mt-1 opacity-80",children:t.message}),(0,a.jsx)(l.z,{size:"sm",variant:"destructive",onClick:r,className:"mt-2",children:"Try again"})]})]}):(0,a.jsxs)(o.Zb,{className:"shadow-md journal-paper",children:[(0,a.jsx)(o.Ol,{className:"border-b border-[rgba(0,0,0,0.1)]",children:(0,a.jsxs)(o.ll,{className:"font-serif text-lg flex items-center gap-2",children:[(0,a.jsx)(n.Z,{className:"h-5 w-5 text-[hsl(var(--destructive))]"}),d]})}),(0,a.jsx)(o.aY,{className:"pt-4",children:u&&(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:t.message})}),(0,a.jsx)(o.eW,{className:"border-t border-[rgba(0,0,0,0.1)] pt-4",children:(0,a.jsxs)(l.z,{onClick:r,size:"sm",className:"bg-[hsl(var(--journal-accent))] text-[hsl(var(--journal-ink))]",children:[(0,a.jsx)(i.Z,{className:"h-3 w-3 mr-2"}),"Try again"]})})]})}class u extends s.Component{static getDerivedStateFromError(e){return{hasError:!0,error:e}}componentDidMount(){}componentDidCatch(e,t){console.error("Error caught by error boundary:",e,t),this.setState({error:e,errorInfo:t})}render(){return this.state.hasError&&this.state.error?(0,a.jsx)(d,{error:this.state.error,reset:()=>this.setState({hasError:!1,error:null}),title:this.props.title||"Something went wrong",showDetails:this.props.showDetail
1s||!1,variant:this.props.fallbackUI||"full"}):this.props.children}constructor(e){super(e),this.state={hasError:!1,error:null,errorInfo:null}}}},81568:function(e,t,r){"use strict";r.d(t,{O:function(){return n}});var a=r(57437),s=r(1657);function n(e){let{className:t,...r}=e;return(0,a.jsx)("div",{className:(0,s.cn)("animate-pulse rounded-md bg-muted",t),...r})}},55322:function(e,t,r){"use strict";r.d(t,{_v:function(){return d},aJ:function(){return c},pn:function(){return l},u:function(){return o}});var a=r(57437),s=r(2265),n=r(39519),i=r(1657);let l=n.zt,o=n.fC,c=n.xz,d=s.forwardRef((e,t)=>{let{className:r,sideOffset:s=4,...l}=e;return(0,a.jsx)(n.VY,{ref:t,sideOffset:s,className:(0,i.cn)("z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-tooltip-content-transform-origin]",r),...l})});d.displayName=n.VY.displayName},95971:function(e,t,r){"use strict";r.d(t,{mu:function(){return m},rV:function(){return g}});var a=r(57437),s=r(2265),n=r(91350);let i=r(54829).Z.create({baseURL:"",headers:{"Content-Type":"application/json"}}),l={getSettings:async()=>(await i.get("/api/settings")).data,updateSettings:async e=>(await i.put("/api/settings",e)).data,updateSetting:async(e,t)=>(await i.patch("/api/settings",{[e]:t})).data},o={theme:"system",dateFormat:"MM/DD/YYYY",timeFormat:"12h",language:"en",privacyLevel:"private",notificationPreferences:{emailNotifications:!1,journalReminders:!1,reminderTime:"20:00",browserNotifications:!1},displayPreferences:{defaultView:"list",entriesPerPage:10,showWordCount:!0,showInsights:!0}};var c=r(75083);let d="reflekt_settings",u=(0,s.createContext)(void 0);function f(e){return e?{...o,...e,notificationPreferences:{...o.notificationPreferences,...e.notificationPreferences},displayPreferences:{...o.displayPreferences,...e.displayPreferences}}:o}function m(e){let{children:t}=e,[r,i]=(0,s.useState)(o),[m,g]=(0,s.useState)(!0),[h,p]=(0,s.use
1State)(!1),[x,v]=(0,s.useState)(null),{setTheme:b,theme:w}=(0,n.F)(),j=(0,s.useCallback)(async()=>{try{g(!0),v(null);let e=localStorage.getItem(d);if(e)try{let t=JSON.parse(e);i(f(t))}catch(e){}let t=await l.getSettings(),r=f(t);i(r),localStorage.setItem(d,JSON.stringify(r))}catch(e){console.error("Error fetching settings:",e),v(e)}finally{g(!1)}},[]);(0,s.useEffect)(()=>{j()},[j]),(0,s.useEffect)(()=>{r.theme&&r.theme!==w&&b(r.theme)},[r.theme,b,w]);let y=(0,s.useCallback)(e=>{i(t=>{let r=f({...t,...e});return localStorage.setItem(d,JSON.stringify(r)),r})},[]),N=(0,s.useCallback)(e=>{i(t=>{let r={...t,notificationPreferences:{...t.notificationPreferences,...e}};return localStorage.setItem(d,JSON.stringify(r)),r})},[]),k=(0,s.useCallback)(e=>{i(t=>{let r={...t,displayPreferences:{...t.displayPreferences,...e}};return localStorage.setItem(d,JSON.stringify(r)),r})},[]),S=(0,s.useCallback)(async()=>{p(!0);try{return await l.updateSettings(r),(0,c.Am)({title:"Settings saved",description:"Your preferences have been updated successfully."}),!0}catch(e){return console.error("Error saving settings:",e),v(e),(0,c.Am)({title:"Error",description:"Failed to save settings. Please try again.",variant:"destructive"}),!1}finally{p(!1)}},[r]),C=(0,s.useCallback)(async()=>"Notification"in window?"granted"===Notification.permission?(N({browserNotifications:!0}),!0):"denied"===Notification.permission?((0,c.Am)({title:"Notifications blocked",description:"Please enable notifications in your browser settings.",variant:"destructive"}),!1):"granted"===await Notification.requestPermission()&&(N({browserNotifications:!0}),(0,c.Am)({title:"Notifications enabled",description:"You'll now receive browser notifications."}),!0):((0,c.Am)({title:"Not supported",description:"Browser notifications are not supported on this device.",variant:"destructive"}),!1),[N]),Z=(0,s.useMemo)(()=>({settings:r,isLoading:m,isSaving:h,error:x,updateSettings:y,updateNotificationPreferences:N,updateDisplayPreferences:k,saveSettings:S,refetchSettings:j,requestBrowserNotifications:C}),[r,m,h,x,y,N,k,S,j,C]);return(0,a.jsx)(u.Provider,{value:Z,children:t})}function g(){let e=(0,s.useContext)(u);if(void 0===e)throw Error("useSettings must be used within a SettingsProvider");return e}},46933:function(e,t,r){"use strict";r.d(t,{g:function(){return l},K:function(){return o}});var a=r(2265);let s=r(54829).Z.create({baseURL:"",headers:{"Content-Type":"application/json"}}),n={getStats:async()=>(await s.get("/api/gamification")).data,getTransactions:async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:20;return(await s.get("/api/gamification/transactions?limit=".concat(e))).data},getAchievements:async()=>(await s.get("/api/gamification/achievements")).data,refreshStats:async()=>(await s.get("/api/gamification")).data};var i=r(75083);function l(){let[e,t]=(0,a.useState)(null),[r,s]=(0,a.useState)([]),[l,o]=(0,a.useState)(!0),[c,d]=(0,a.useState)(null),u=(0,a.useCallback)(async()=>{try{o(!0);let e=await n.getStats();t(e),d(null)}catch(e){console.error("Failed to fetch gamification stats:",e),d("Failed to load gamification data. Please try again later."),(0,i.Am)({title:"Error",description:"Failed to load gamification stats",variant:"destructive"})}finally{o(!1)}},[]),f=(0,a.useCallback)(async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:20;try{let t=await n.getTransactions(e);s(t)}catch(e){console.error("Failed to fetch transactions:",e)}},[]);(0,a.useEffect)(()=>{u(),f()},[u,f]);let m=(0,a.useCallback)(async(t,r)=>{try{await u();let t=await n.getStats();if(t.points_balance>((null==e?void 0:e.points_balance)||0)){let r=t.points_balance-((null==e?void 0:e.points_balance)||0);(0,i.Am)({title:"Points Earned!",description:"+".concat(r," points")})}return{points:t.points_balance}}catch(t){return console.error("Failed to refresh points:",t),{points:(null==e?void 0:e.points_balance)||0}}},[u,null==e?void 0:e.points_balance]),g=(0,a.useCallback)(async()=>{try{var t;let r=await n.getAchievements(),a=(null==e?void 0:null===(t=e.achievements)||void 0===t?void 0:t.filter(e=>e.unlocked))||[],s=r.filter(e=>e.unlocked&&!a.some(t=>t.id===e.id));return s.length>
10&&(s.forEach(e=>{(0,i.Am)({title:"Achievement Unlocked!",description:"".concat(e.name,": ").concat(e.description)})}),await u()),s}catch(e){return console.error("Failed to check achievements:",e),[]}},[u,null==e?void 0:e.achievements]),h=(0,a.useCallback)(async()=>{try{return await u(),{current_streak:(null==e?void 0:e.current_streak)||0,longest_streak:(null==e?void 0:e.longest_streak)||0}}catch(e){return console.error("Failed to update streak:",e),{current_streak:0,longest_streak:0}}},[u,null==e?void 0:e.current_streak,null==e?void 0:e.longest_streak]);return{stats:e,transactions:r,isLoading:l,error:c,awardPoints:m,checkAchievements:g,updateStreak:h,refresh:(0,a.useCallback)(async()=>{await Promise.all([u(),f()])},[u,f])}}function o(){let[e,t]=(0,a.useState)(0),[r,s]=(0,a.useState)(1),[i,l]=(0,a.useState)(0),[o,c]=(0,a.useState)(!0);return(0,a.useEffect)(()=>{(async function(){try{c(!0);let e=await n.getStats();t(e.points_balance),s(e.level),l(e.current_streak)}catch(e){console.error("Failed to fetch points:",e)}finally{c(!1)}})()},[]),{points:e,level:r,streak:i,isLoading:o}}},75083:function(e,t,r){"use strict";r.d(t,{Am:function(){return u},pm:function(){return f}});var a=r(2265);let s=0,n=new Map,i=e=>{if(n.has(e))return;let t=setTimeout(()=>{n.delete(e),d({type:"REMOVE_TOAST",toastId:e})},1e6);n.set(e,t)},l=(e,t)=>{switch(t.type){case"ADD_TOAST":return{...e,toasts:[t.toast,...e.toasts].slice(0,1)};case"UPDATE_TOAST":return{...e,toasts:e.toasts.map(e=>e.id===t.toast.id?{...e,...t.toast}:e)};case"DISMISS_TOAST":{let{toastId:r}=t;return r?i(r):e.toasts.forEach(e=>{i(e.id)}),{...e,toasts:e.toasts.map(e=>e.id===r||void 0===r?{...e,open:!1}:e)}}case"REMOVE_TOAST":if(void 0===t.toastId)return{...e,toasts:[]};return{...e,toasts:e.toasts.filter(e=>e.id!==t.toastId)}}},o=[],c={toasts:[]};function d(e){c=l(c,e),o.forEach(e=>{e(c)})}function u(e){let{...t}=e,r=(s=(s+1)%Number.MAX_SAFE_INTEGER).toString(),a=()=>d({type:"DISMISS_TOAST",toastId:r});return d({type:"ADD_TOAST",toast:{...t,id:r,open:!0,onOpenChange:e=>{e||a()}}}),{id:r,dismiss:a,update:e=>d({type:"UPDATE_TOAST",toast:{...e,id:r}})}}function f(){let[e,t]=a.useState(c);return a.useEffect(()=>(o.push(t),()=>{let e=o.indexOf(t);e>-1&&o.splice(e,1)}),[e]),{...e,toast:u,dismiss:e=>d({type:"DISMISS_TOAST",toastId:e})}}},57120:function(e,t,r){"use strict";r.d(t,{I:function(){return o},z:function(){return l}});var a=r(2265),s=r(54829);let n="reflekt_service_status",i="reflekt_service_status_timestamp";function l(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{enablePolling:t=!0,pollInterval:r=3e4,includeMetrics:l=!0,includeHistory:o=!1,historyPeriod:c="1h",onStatusChange:d,onError:u}=e,[f,m]=(0,a.useState)(null),[g,h]=(0,a.useState)(!0),[p,x]=(0,a.useState)(null),[v,b]=(0,a.useState)(null),w=(0,a.useRef)(0),j=(0,a.useRef)(null),y=(0,a.useRef)(null),N=(0,a.useRef)(null),k=(0,a.useCallback)(()=>{try{let e=localStorage.getItem(n),t=localStorage.getItem(i);if(e&&t){let r=parseInt(t,10);if(Date.now()-r<3e5)return JSON.parse(e)}}catch(e){console.warn("Failed to load cached status")}return null},[]),S=(0,a.useCallback)(e=>{try{localStorage.setItem(n,JSON.stringify(e)),localStorage.setItem(i,Date.now().toString())}catch(e){console.warn("Failed to cache status")}},[]),C=(0,a.useCallback)(async function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];y.current&&y.current.abort(),y.current=new AbortController;let t=new URLSearchParams;t.set("metrics",l.toString()),t.set("history",o.toString()),t.set("period",c),e&&t.set("refresh","true");try{let e=await s.Z.get("/api/status?".concat(t.toString()),{signal:y.current.signal,timeout:15e3});if(e.data.success&&e.data.data)return w.current=0,e.data.data;throw Error(e.data.error||"Failed to fetch status")}catch(t){if(t instanceof Error&&"CanceledError"===t.name)return null;if(w.current<3)return w.current++,console.warn("Status fetch failed, retrying (".concat(w.current,"/").concat(3,")...")),await new Promise(e=>setTimeout(e,5e3)),C(e);throw t}},[l,o,c]),Z=(0,a.useCallback)(async()=>{h(!0),x(null);try{let e=await C(!0);e&&(m(e),b(new Date),S(e),N.current&&N.current!==e.overall&&(null==d||d(e)),N.current=e.overall)}catch(r){let e=r instanceof Error?r:Error("Failed to fetch status");x(e),null==u||u(e);let t=k();t&&m(t)}finally{h(!1)}},[C,S,k,d,u]),_=(0,a.useCallback)(()=>!v||Date.now()-v.getTime()>6e4,[v]),E=(0,a.useCallback)(()=>(null==f?void 0:f.services)?f.services.reduce((e,t)=>
1(e.total++,"operational"===t.status?e.operational++:"degraded"===t.status||"maintenance"===t.status?e.degraded++:e.outage++,e),{operational:0,degraded:0,outage:0,total:0}):{operational:0,degraded:0,outage:0,total:0},[f]);return(0,a.useEffect)(()=>{let e=k();e&&(m(e),N.current=e.overall),Z()},[]),(0,a.useEffect)(()=>{if(t)return j.current=setInterval(()=>{Z()},r),()=>{j.current&&clearInterval(j.current)}},[t,r,Z]),(0,a.useEffect)(()=>()=>{y.current&&y.current.abort(),j.current&&clearInterval(j.current)},[]),(0,a.useEffect)(()=>{let e=()=>{"visible"===document.visibilityState&&_()&&Z()};return document.addEventListener("visibilitychange",e),()=>{document.removeEventListener("visibilitychange",e)}},[Z,_]),(0,a.useEffect)(()=>{let e=()=>{console.info("Connection restored, refreshing status..."),Z()};return window.addEventListener("online",e),()=>{window.removeEventListener("online",e)}},[Z]),{status:f,isLoading:g,error:p,isStale:_(),lastFetched:v,refetch:Z,overallHealth:(null==f?void 0:f.overall)||"unknown",serviceCount:E()}}function o(){let{status:e,isLoading:t}=l({enablePolling:!0,pollInterval:6e4,includeMetrics:!1,includeHistory:!1});return{status:(null==e?void 0:e.overall)||"unknown",isLoading:t,lastChecked:(null==e?void 0:e.lastUpdated)||null}}},1657:function(e,t,r){"use strict";r.d(t,{cn:function(){return n}});var a=r(57042),s=r(74769);function n(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return(0,s.m6)((0,a.W)(t))}},52445:function(){}},function(e){e.O(0,[6621,2749,5250,5005,2273,3279,4758,1e3,5356,5890,2404,2250,5675,2971,9849,1744],function(){return e(e.s=3162)}),_N_E=e.O()}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.