1import{r as u,j as a}from"./react-query-B4i0_DlC.js";import{l as h,av as C,u as j,ae as P,k as x,ah as w,aw as N}from"./index-C8rJ6Qwf.js";import{N as b}from"./firebase-core-BLTXy0Gd.js";import{u as y,a as A,q as S,r as v}from"./app-sidebar-C3_0V-CV.js";import{u as I}from"./useGroupChats-DHVQdfce.js";import{M as E}from"./MainAppShell-CDsb8UTJ.js";import{A as L}from"./AppInsetHeader-Bz6Bqd8I.js";import{W as R}from"./workspace-page-header-Llh23rVu.js";import"./radix-ui-DdHDrzfD.js";import"./firebase-firestore-CgPjk0t4.js";import"./firebase-database-ClaLrFE5.js";import"./firebase-storage-Dvs5WDrb.js";import"./utils-BcRwgjx2.js";import"./icons-BBbjOIlu.js";import"./framer-motion-DW1bmm4j.js";import"./md-react-Br4KiRmz.js";import"./separator-B6vMQivu.js";import"./MarketingHeaderLockup-TKJzu8k9.js";import"./restore-body-pointer-events-VhhmqVRV.js";import"./last-account-0uJGFLwW.js";import"./react-Bo6yiPQy.js";import"./markdown-renderer-B8tDz8IO.js";import"./texture-card-52Ulf0I8.js";import"./familyInvite-BXnkwJ1L.js";import"./accordion-Co2IO0pp.js";import"./UsageQuotaBlock--ouSVDSy.js";import"./storage-sync-display-Dmv92fSw.js";import"./collapsible-Dt1fFzXK.js";const U=()=>x;function k({hasExistingProjects:t}){const[,s]=j(),{user:r}=h(),{toast:l}=w(),o=S(),{begin:d}=N((r==null?void 0:r.id)??"signed-out"),m=async(p,n)=>{if(!r)return!1;const c=d();try{const i=await o.mutateAsync({userId:r.id,title:p,description:n,ownerName:r.displayName||[r.firstName,r.lastName].filter(Boolean).join(" ").trim(),ownerEmail:r.email||void 0});if(!c.isCurrent())return!1;s(`/project/${i}`)}catch(i){return c.isCurrent()&&(console.error("Error creating project:",i),l({title:"Error",description:"Failed to create project. Please try again.",variant:"destructive"})),!1}};return a.jsxs(a.Fragment,{children:[a.jsx(L,{title:"New project",className:"md:hidden"}),a.jsx(R,{title:"New project",description:"Create a personal project",titleTestId:"text-create-project-title",hideHeaderOnMobile:!0,contentClassName:"max-w-2xl",children:a.jsx(v,{mode:"create",hideTitle:!0,onProjectSubmit:m,onCancel:()=>s("/projects"),hideHowToUse:t},r==null?void 0:r.id)})]})}function ct(){const{user:t,isAuthenticated:s,isLoading:r}=h(),l=C(r,s),[,o]=j(),{data:d}=y(),{groupChats:m}=I((t==null?void 0:t.id)||null),p=A(),[n,c]=u.useState([]);u.useEffect(()=>{t!=null&&t.id&&P(t.id).then(e=>c(e)).catch(e=>console.error("Failed to load projects:",e))},[t==null?void 0:t.id]);const i=(d||[]).map(e=>({id:e.id,title:e.title||"Untitled Chat",starred:e.starred||!1,projectId:e.projectId||null,updatedAt:e.updatedAt})),f=n.map(e=>({projectId:e.projectId,title:e.title})),g=async()=>{try{await b(U()),o("/chat")}catch(e){console.error("Error signing out:",e)}};return l?a.jsx("div",{className:"flex h-screen items-center justify-center",children:a.jsx("div",{className:"h-8 w-8 animate-spin rounded-full border-2 border-gray-300 border-t-gray-900 dark:border-white/15 dark:border-t-white/80"})}):s?a.jsx(E,{insetClassName:"h-screen min-h-0",chats:i,groupChats:m,projects:f,user:t?{name:t.displayName||t.firstName||"User",email:t.email||"",avatar:t.profileImageUrl||""}:null,selectedPlan:t==null?void 0:t.selectedPlan,onNewChat:()=>o("/chat"),onChatSelect:e=>o(`/chat/${e}`),onGroupChatSelect:e=>o(`/group-chat/${e}`),onGroupChatRename:e=>o(`/group-chat/${e}?rename=true`),onProjects:()=>o("/projects"),onNewProject:()=>o("/projects/new"),onLogout:g,onChatStar:p,children:a.jsx(k,{hasExistingProjects:n.length>0})}):(o("/login"),null)}export{ct as default};
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.