PageSourceSearch

https://orijins.ai/assets/Team-BdlQOEgf.js

js orijins.ai collected 2026-10-05 15:18:09 UTC 14,188 bytes, 6 lines download raw bytes

1import{r as n,j as e}from"./vendor-react-DCOUjFOW.js";import{c as T,B as G,F as $,al as _,C as p,j as N,A as b,aJ as E,at as f,aP as O}from"./index-uYSXu1h3.js";import{fetchJoinedRooms as Y}from"./api-DFAJPzYh.js";import{l as L}from"./chatListCache-BSdApVH9.js";import{s as U}from"./chatHandoff-DqOm4kAd.js";import{A as F,b as B}from"./useMatrixChat-OoAjIxQW.js";import{c as D}from"./roomLink-BaSVZJR7.js";import{t as H,a as J,b as P}from"./AppShell-3_Sgn21P.js";import{v as W}from"./AppSidebar-BObniTgW.js";import{u as V}from"./useConversationTitles-CRQF-dBO.js";import{l as q,m as K}from"./orgAdminApi-SffL9tDf.js";import{S as Z}from"./settings-2-BF0hb6cR.js";import{U as y}from"./useOrgGate-DMyVsMSS.js";import{M as z}from"./mail-B45SfoB9.js";import{U as Q}from"./users-BOceXI_E.js";import{S as X}from"./server-BIcTuKn6.js";import"./vendor-markdown-CspMetsA.js";import"./vendor-motion-ouicGSLU.js";import"./appChat-CpANANN-.js";import"./gaiaDm-CApNol3y.js";import"./chatPlacement-BVFe-Xmw.js";import"./syncLoop-DTP_g76w.js";import"./nestedShell-BpOEjrsy.js";import"./ClientShell-asH4ezwD.js";import"./voiceCallPersist-DrQUUqU6.js";import"./gauge-BfpqvhNm.js";import"./inbox-BClc_qQX.js";import"./compass-XR5U10uJ.js";import"./circle-check-CgoBYFGr.js";import"./mic-BbkvnE2m.js";import"./wand-sparkles-CwszlBeb.js";import"./clapperboard-CBsaByuF.js";import"./message-circle-Ds4vI0kw.js";import"./chevron-right-D777uSLo.js";import"./plus-5x9Fnmxy.js";import"./search-Bt9aLIuT.js";import"./book-open-Q7VTCu_Y.js";import"./voiceCall-DYFLoLx6.js";import"./voiceVad-BGSqWOco.js";import"./dictation-DXIj0viQ.js";import"./pen-line-CmS3GPw8.js";import"./singletonRooms-BljwlRlg.js";import"./topicRooms-CU6CnGqg.js";import"./eye-off-Q0uGn7tQ.js";import"./usePioneerGate-c6Rsz0s9.js";
1import"./devSessions-KS9b8DQg.js";import"./SnippetText-DLbNud1g.js";import"./music-sWMlDAjH.js";import"./cog-lCMJI10S.js";import"./telescope-Ca3zt7ee.js";import"./bot-CnthFLhK.js";import"./graduation-cap-46rBRYyy.js";import"./shield-check-B2F5MBGd.js";import"./cpu-BIg4RjEo.js";import"./coins-B-ToWV18.js";import"./code-xml-JbVHIi3T.js";import"./share-2-8uCMbfDH.js";import"./pencil-EQ350--Y.js";import"./archive-CyBLnHwt.js";/**
2 * @license lucide-react v0.453.0 - ISC
3 *
4 * This source code is licensed under the ISC license.
5 * See the LICENSE file in the root directory of this source tree.
6 */const ee=T("Box",[["path",{d:"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z",key:"hh9hay"}],["path",{d:"m3.3 7 8.7 5 8.7-5",key:"g66t2b"}],["path",{d:"M12 22V12",key:"d0xqtd"}]]);function te({orgId:t}){const[s,i]=n.useState(null),[l,m]=n.useState(!1);n.useEffect(()=>{q(t).then(i).catch(()=>i([]))},[t]);const c=async()=>{if(!l){m(!0);try{const o=await K(t,{link:!0,max_uses:10}),r=`${window.location.origin}/join?code=${encodeURIComponent(o.code)}`;try{await navigator.clipboard.writeText(r),f.success("Team link copied — good for 10 joins.",{description:r}),O("team_link_minted")}catch{f.message("Your team link:",{description:r,duration:3e4})}}catch{f.error("Couldn't mint the team link.")}finally{m(!1)}}};return e.jsxs("div",{className:"mt-8 rounded-2xl border border-line bg-raise-2 p-4 backdrop-blur-xl",children:[e.jsxs("div",{className:"mb-3 flex items-center justify-between gap-3",children:[e.jsx("p",{className:"font-display text-xs uppercase tracking-[0.24em] text-brand/80",children:"People"}),e.jsx("button",{onClick:()=>void c(),disabled:l,className:"rounded-full border border-brand/30 px-3 py-1 text-[11.5px] font-medium text-brand transition-colors hover:bg-brand/10 disabled:opacity-50",children:l?"Minting…":"Invite by link"})]}),s===null?e.jsx("p",{className:"py-2 text-[12.5px] text-ink-3",children:"Loading the roster…"}):s.length===0?e.jsx("p",{className:"py-2 text-[12.5px] text-ink-3",children:"Just you so far — the link above changes that."}):s.map(o=>e.jsxs("div",{className:"flex items-center gap-2.5 border-t border-line py-2 first:border-t-0",children:[e.jsx("span",{className:`h-1.5 w-1.5 shrink-0 rounded-full ${o.has_agent?"bg-emerald-400":"bg-ink-3/40"}`,title:o.has_agent?"Has a GAIA agent":"No agent yet"}),e.jsx("span",{className:"min-w-0 flex-1 truncate text-[13px] text-ink",children:o.email??o.mxid}),e.jsx("span",{className:`shrink-0 rounded px-1.5 py-0.5 text-[9.5px] font-semibold uppercase tracking-wide ${o.role==="admin"?"bg-brand/10 text-brand":"bg-raise text-ink-3"}`,children:o.role})]},o.mxid))]})}const ae=[{icon:Q,title:"A team space",body:"Shared rooms with GAIA inside — plan, decide, and create together, with one teammate who never loses the thread."},{icon:X,title:"A dedicated instance",body:"Your team runs on its own GAIA — your instance, your pace, nobody else's workload in the way."},{icon:E,title:"Shared team memories",body:"What one person teaches GAIA, the whole team has. Decisions, context, and know-how compound instead of evaporating."},{icon:ee,title:"Files and a box for your team",body:"A shared box GAIA can read and fill — briefs in, finished work out, everything in one place your team owns."}];function se(t){return t.length?t.length<=3?t.join(", "):`${t.slice(0,2).join(", ")} +${t.length-2}`:null}function ne({room:t,active:s,now:i,onOpen:l}){const m=se(t.members),c=P(t.updatedAt,i);return e.jsxs("button",{onClick:l,"aria-label":`Open ${t.title} in chat`,className:`flex w-full items-center gap-3.5 rounded-2xl border px-3.5 py-3 text-left transition-colors ${s?"border-brand/30 bg-raise-2":"border-line bg-raise hover:border-brand/25 hover:bg-raise"}`,children:[e.jsx("span",{"aria-hidden":!0,className:"flex h-10 w-10 shrink-0 items-center justify-center rounded-xl bg-brand/15 text-brand ring-1 ring-brand/25",children:e.jsx(y,{className:"h-5 w-5"})}),e.jsxs("span",{className:"min-w-0 flex-1",children:[e.jsxs("span",{className:"flex min-w-0 items-baseline gap-3",children:[e.jsx("span",{className:"min-w-0 flex-1 truncate text-[13.5px] font-medium text-ink",children:t.title}),c&&e.jsx("span",{className:`shrink-0 text-[11px] ${t.unread>0?"font-semibold text-brand":"text-ink-2"}`,children:c})]}),m&&e.jsx("span",{className:"mt-0.5 block truncate text-[11.5px] text-ink-2",children:m}),e.jsxs("span",{className:"mt-0.5 flex min-w-0 items-baseline gap-3",children:[e.jsx("span",{className:"min-w-0 flex-1 truncate text-[12px] text-ink-2",children:t.preview?e.jsxs(e.Fragment,{children:[t.previewFrom&&e.jsxs("span",{className:"text-ink/75",children:[t.previewFrom,": "]}),t.preview]}):"No messages yet"}),t.unread>0&&e.jsx("span",{"aria-label":t.unread===1?"1 unread message":`${t.unread} unread messages`,className:"flex h-5 min-w-5 shrink-0 items-center justify-center rounded-full bg-brand px-1.5 font-display text-[10px] font-semibold text-canvas",children:t.unread})]})]})]})}function re({on:t,onChange:s,unreadTotal:i}){return e.jsxs("div",{className:"mb-5 flex items-center justify-between gap-4 roun
6ded-2xl border border-line bg-raise px-4 py-3",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsx("p",{className:"text-[13px] font-medium text-ink",children:"Show team rooms in the sidebar"}),e.jsx("p",{className:"mt-0.5 text-[11.5px] leading-relaxed text-ink-2",children:t?"Your team rooms sit in the chat list, each with its own unread count.":i>0?`Hidden from the chat list — this page still lists them, and the ${i} unread stays on the Team menu.`:"Hidden from the chat list — this page still lists them, and unread still counts on the Team menu."})]}),e.jsx("button",{role:"switch","aria-checked":t,"aria-label":"Show team rooms in the sidebar",onClick:()=>s(!t),className:`relative h-6 w-11 shrink-0 rounded-full border transition-colors ${t?"border-brand/40 bg-brand/80":"border-line-2 bg-raise-2 hover:border-brand/25"}`,children:e.jsx("span",{"aria-hidden":!0,className:`absolute top-[2px] h-[18px] w-[18px] rounded-full transition-transform ${t?"translate-x-[22px] bg-canvas":"translate-x-[3px] bg-ink-2"}`})})]})}function ie(){return e.jsx("div",{"aria-busy":"true","aria-label":"Loading your team rooms",className:"flex flex-col gap-3",children:[0,1,2].map(t=>e.jsxs("div",{className:"flex items-center gap-3.5 rounded-2xl border border-line bg-raise px-3.5 py-3",children:[e.jsx("div",{className:"h-10 w-10 animate-pulse rounded-xl bg-raise-2"}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx("div",{className:"h-3.5 w-40 max-w-full animate-pulse rounded bg-raise-2"}),e.jsx("div",{className:"mt-2 h-3 w-56 max-w-full animate-pulse rounded bg-raise"})]})]},t))})}function xt(){const[,t]=G(),s=n.useMemo(()=>$(),[]),[i]=n.useState(()=>L()),[l,m]=n.useState(null),[c,o]=n.useState(!1);n.useEffect(()=>{if(!s)return;let a=!1;return Y(s).then(d=>{a||(m(d),o(!0))}).catch(()=>{a||o(!0)}),()=>{a=!0}},[s]);const[r,k]=n.useState(null);n.useEffect(()=>{if(!s)return;let a=!0;return _(s.access_token).then(d=>{a&&k(d)}),()=>{a=!1}},[s]),n.useEffect(()=>{s||t(p.LOGIN,{replace:!0})},[s,t]);const g=V(l??i.map(a=>a.id),s?.access_token??null),x=n.useMemo(()=>{if(!l)return i;const a=new Set(l);return i.filter(d=>a.has(d.id))},[i,l]),j=n.useMemo(()=>H(x,g),[x,g]),h=n.useMemo(()=>J(x),[x]),[v,A]=W(),S=Date.now(),I=n.useMemo(()=>{try{return localStorage.getItem(F)}catch{return null}},[]),u=r!==null&&r!=="unreachable"&&r.org_role==="admin",M=r!==null&&r!=="unreachable"&&!!r.org_id,C=a=>{B(a),t(D(a))},w=()=>{U({text:"What would a team space change for me? What does GAIA for teams actually do?",send:!0,topic:"Team"}),t(p.CHAT)};return s?j.length>0?e.jsxs("div",{children:[e.jsxs("div",{className:"mb-6 flex items-end justify-between gap-4",children:[e.jsxs("div",{children:[e.jsx("p",{className:"mb-2 font-display text-xs uppercase tracking-[0.3em] text-brand/80",children:"Rooms"}),e.jsxs("h1",{className:"font-display text-3xl font-bold leading-[1.06] sm:text-4xl",children:["Every room, ",e.jsx("span",{className:"gaia-text-gradient",children:"GAIA inside."})]}),e.jsxs("p",{className:"mt-4 max-w-xl text-[15px] leading-relaxed text-ink-2",children:["Your group rooms — you, your teammates, and one shared GAIA — newest activity first.",h>0&&e.jsxs(e.Fragment,{children:[" ",e.jsxs("span",{className:"text-brand",children:[h," unread"]})]})]})]}),u&&e.jsxs(N,{href:p.ADMIN,className:"mb-1 inline-flex shrink-0 items-center gap-1.5 rounded-full border border-line bg-raise px-3 py-1.5 text-[11.5px] text-ink-2 transition-colors hover:border-brand/30 hover:text-ink",children:[e.jsx(Z,{className:"h-3.5 w-3.5","aria-hidden":!0}),"Manage team"]})]}),e.jsx(re,{on:v,onChange:A,unreadTotal:h}),e.jsx("div",{className:"flex flex-col gap-2.5",children:j.map(a=>e.jsx(ne,{room:a,active:a.id===I,now:S,onOpen:()=>C(a.id)},a.id))}),u&&r.org_id&&e.jsx(te,{orgId:r.org_id})]}):!c||r===null?e.jsxs("div",{children:[e.jsx("h1",{className:"sr-only",children:"Team rooms"}),e.jsx("p",{className:"mb-4 font-display text-[10.5px] font-semibold uppercase tracking-[0.24em] text-brand/90",children:"Rooms"}),e.jsx(ie,{})]}):M?e.jsxs("div",{className:"flex flex-col items-center gap-4 pt-14 text-center",children:[e.jsx("h1",{className:"sr-only",children:"Your team"}
6),e.jsx("span",{"aria-hidden":!0,className:"flex h-14 w-14 items-center justify-center rounded-2xl bg-brand/10 text-brand ring-1 ring-brand/30",children:e.jsx(y,{className:"h-6 w-6"})}),e.jsx("p",{className:"font-display text-[10.5px] font-semibold uppercase tracking-[0.24em] text-brand/90",children:"Your team"}),e.jsx("p",{className:"max-w-sm text-sm leading-relaxed text-ink-2",children:"Your team rooms will appear here once your team admin creates one — GAIA is inside every room."}),u?e.jsxs(N,{href:p.ADMIN,className:"mt-1 inline-flex items-center gap-1.5 rounded-full border border-brand/30 bg-brand/10 px-4 py-2 font-display text-[12.5px] font-semibold text-brand transition-colors hover:bg-brand/20",children:["Open team admin",e.jsx(b,{className:"h-3.5 w-3.5","aria-hidden":!0})]}):e.jsxs("button",{onClick:w,className:"mt-1 inline-flex items-center gap-1 text-[13px] text-ink-2 transition-colors hover:text-ink",children:["Ask GAIA",e.jsx(b,{className:"h-3.5 w-3.5","aria-hidden":!0})]})]}):e.jsxs("div",{className:"mx-auto w-full max-w-2xl text-center",children:[e.jsx("p",{className:"mb-5 font-display text-xs uppercase tracking-[0.3em] text-info/80",children:"GAIA for teams"}),e.jsxs("h1",{className:"mb-4 font-display text-4xl font-bold leading-[1.08] sm:text-5xl",children:["One GAIA,",e.jsx("br",{}),e.jsx("span",{className:"gaia-text-gradient",children:"for your whole team."})]}),e.jsx("p",{className:"mx-auto mb-10 max-w-lg text-base leading-relaxed text-ink/75",children:"Get a team space: a dedicated instance, shared team memories, and files and a box for your team — one teammate the whole team shares, that remembers everything you build together."}),e.jsxs("div",{className:"flex flex-col items-center justify-center",children:[e.jsxs("a",{href:"mailto:[email protected]?subject=Team%20space",className:"gaia-glow-gold inline-flex items-center justify-center gap-2.5 rounded-full bg-brand px-8 py-4 font-display text-base font-semibold text-canvas transition-colors hover:bg-brand-strong",children:[e.jsx(z,{className:"h-5 w-5"}),"Contact us — get your team space"]}),e.jsx("p",{className:"mt-4 text-sm text-ink-2",children:"Team spaces are set up personally: the button opens an email to us — tell us about your team and we take it from there."})]}),e.jsx("div",{className:"mt-12 grid grid-cols-1 gap-5 text-left sm:grid-cols-2",children:ae.map(({icon:a,title:d,body:R})=>e.jsxs("div",{className:"rounded-2xl border border-line bg-surface/70 p-6",children:[e.jsx(a,{className:"mb-3 h-5 w-5 text-brand/80","aria-hidden":!0}),e.jsx("h2",{className:"mb-2 font-display text-base font-bold text-ink",children:d}),e.jsx("p",{className:"text-sm leading-relaxed text-ink-2",children:R})]},d))}),e.jsxs("p",{className:"mt-10 text-sm text-ink-2",children:["Not sure yet?"," ",e.jsxs("button",{onClick:w,className:"inline-flex items-center gap-1 text-info transition-colors hover:text-info-2",children:["Ask GAIA what a team space would change for you",e.jsx(b,{className:"h-3.5 w-3.5"})]})]})]}):null}export{xt 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.