@shumai-one/shumai 0.2.3 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/{chunk-e7ndw3hg.js → chunk-0p333kh7.js} +3 -3
- package/bin/chunk-1wz0dge4.js +3 -0
- package/bin/{chunk-gtrc5ka2.js → chunk-1yqar2gz.js} +1 -1
- package/bin/{chunk-fz88kkk1.js → chunk-1zpw2mbj.js} +2 -2
- package/bin/{chunk-46ar48f9.js → chunk-28egv700.js} +1 -1
- package/bin/{chunk-0xbf8bcg.js → chunk-2m2saan7.js} +2 -2
- package/bin/chunk-2p0rg6xs.js +1 -0
- package/bin/{chunk-w88219ex.js → chunk-2xmsa8wv.js} +1 -1
- package/bin/{chunk-mzg1h07d.js → chunk-36wf2dq0.js} +1 -1
- package/bin/{chunk-ta7bfdrn.js → chunk-3g54qkv5.js} +1 -1
- package/bin/chunk-3ge0s4k2.js +1 -0
- package/bin/{chunk-hr97a5j5.js → chunk-449feg7g.js} +1 -1
- package/bin/{chunk-hkbybhww.js → chunk-48ebezek.js} +1 -1
- package/bin/{chunk-8qg47kj6.js → chunk-4gbs9swm.js} +1 -1
- package/bin/{chunk-thsbcbay.js → chunk-4tt3jvm1.js} +1 -1
- package/bin/{chunk-15sefy5t.js → chunk-5jhrqbk2.js} +2 -2
- package/bin/{chunk-dm2w12rc.js → chunk-5x1ppya9.js} +2 -2
- package/bin/{chunk-nrwna4ha.js → chunk-652x28v2.js} +1 -1
- package/bin/{chunk-0qkj838r.js → chunk-6f1twjf6.js} +1 -1
- package/bin/{chunk-8dqq1fk0.js → chunk-6ks4277t.js} +1 -1
- package/bin/{chunk-0rxhc7ka.js → chunk-6wa075zh.js} +2 -2
- package/bin/{chunk-qksb0v3c.js → chunk-736tcjve.js} +2 -2
- package/bin/chunk-80d6p55n.js +1 -0
- package/bin/{chunk-gswbc6y9.js → chunk-8a9k4qj6.js} +2 -2
- package/bin/{chunk-jqh8kavv.js → chunk-8g1s0pq1.js} +1 -1
- package/bin/chunk-8gkm2ysh.js +1 -0
- package/bin/chunk-8nvybmyv.js +2 -0
- package/bin/{chunk-srn8t0v7.js → chunk-8rkp0fc5.js} +1 -1
- package/bin/{chunk-1wm57c6y.js → chunk-8sr8ff6a.js} +3 -3
- package/bin/{chunk-2aamsc5v.js → chunk-93jcw0pn.js} +1 -1
- package/bin/{chunk-3rmc8nz6.js → chunk-9bvwwj5y.js} +1 -1
- package/bin/{chunk-925q4paa.js → chunk-9fefn2st.js} +1 -1
- package/bin/{chunk-262hkppb.js → chunk-9h3c60vw.js} +2 -2
- package/bin/{chunk-b73ktdmd.js → chunk-9jd3d3f3.js} +1 -1
- package/bin/chunk-9nwjhams.js +1 -0
- package/bin/{chunk-7b17fb36.js → chunk-9q32g9jd.js} +1 -1
- package/bin/{chunk-0aj303as.js → chunk-9zy0a8kt.js} +2 -2
- package/bin/{chunk-w7dn1m95.js → chunk-a06432s3.js} +1 -1
- package/bin/{chunk-g21jxrt9.js → chunk-a1mtpcrd.js} +2 -2
- package/bin/{chunk-3hzj13pj.js → chunk-a2njf6av.js} +1 -1
- package/bin/{chunk-5d2q46mx.js → chunk-a6dvjjce.js} +1 -1
- package/bin/{chunk-s46zwr4p.js → chunk-aa2tkqg0.js} +1 -1
- package/bin/{chunk-fbte2rmd.js → chunk-ab45988z.js} +1 -1
- package/bin/chunk-af3nys0r.js +1 -0
- package/bin/{chunk-29tx9qe2.js → chunk-agd2jevj.js} +1 -1
- package/bin/{chunk-9h027f50.js → chunk-bf5a4yc8.js} +1 -1
- package/bin/{chunk-ybhgmvxa.js → chunk-bjfwz2m7.js} +2 -2
- package/bin/{chunk-e52nga6c.js → chunk-bnpw72vt.js} +2 -2
- package/bin/{chunk-c45rh4hk.js → chunk-c003q4v6.js} +1 -1
- package/bin/{chunk-dgat7wqv.js → chunk-cfamv4b2.js} +2 -2
- package/bin/{chunk-922nnh39.js → chunk-cm25nm9t.js} +1 -1
- package/bin/{chunk-9h3ds7rn.js → chunk-cmcsxkh1.js} +2 -2
- package/bin/{chunk-zemrvz79.js → chunk-cspp4n1d.js} +2 -2
- package/bin/{chunk-kfhtk3eh.js → chunk-cwebycwv.js} +1 -1
- package/bin/chunk-cx1ebj9k.js +1 -0
- package/bin/chunk-d1p9qz3y.js +7 -0
- package/bin/{chunk-wfx81mfv.js → chunk-d3cqp0tb.js} +2 -2
- package/bin/{chunk-97jzve52.js → chunk-d5fapvnp.js} +2 -2
- package/bin/{chunk-e3s3rz2e.js → chunk-ddag2ezv.js} +2 -2
- package/bin/{chunk-7hsgmjpa.js → chunk-dk45f6mp.js} +2 -2
- package/bin/{chunk-9ab6k4rq.js → chunk-e0kw3bst.js} +1 -1
- package/bin/{chunk-bd71dp4j.js → chunk-e56nza63.js} +1 -1
- package/bin/{chunk-re0b7sj7.js → chunk-e66j69wz.js} +1 -1
- package/bin/{chunk-crt1e1w1.js → chunk-ea0fh29m.js} +1 -1
- package/bin/{chunk-s1n39qte.js → chunk-en4m76fw.js} +1 -1
- package/bin/{chunk-jyzegph4.js → chunk-epsctccj.js} +1 -1
- package/bin/{chunk-qwg2e3wr.js → chunk-evzxjqr3.js} +2 -2
- package/bin/{chunk-ymeycphq.js → chunk-f4x2dxe5.js} +3 -3
- package/bin/{chunk-pxw97qbq.js → chunk-fr3dg9aj.js} +1 -1
- package/bin/{chunk-fcvtgx1y.js → chunk-fvf7j1qj.js} +1 -1
- package/bin/{chunk-bs0fjz3w.js → chunk-fwcm78s9.js} +2 -2
- package/bin/{chunk-xcwbg4w9.js → chunk-fytbcgak.js} +2 -2
- package/bin/{chunk-wc8sc9r9.js → chunk-gc7b9j22.js} +1 -1
- package/bin/{chunk-b8js74jk.js → chunk-h1hj60fr.js} +2 -2
- package/bin/{chunk-9avkn3x1.js → chunk-h3y7szbm.js} +2 -2
- package/bin/{chunk-j8qtab70.js → chunk-hdqvbds8.js} +1 -1
- package/bin/{chunk-q09dfja5.js → chunk-he4h8e9e.js} +2 -2
- package/bin/{chunk-d2vxmn9v.js → chunk-hktggc90.js} +1 -1
- package/bin/{chunk-mnfqdxms.js → chunk-jh6pw37a.js} +1 -1
- package/bin/{chunk-ygz6pawn.js → chunk-jjgwrvdb.js} +1 -1
- package/bin/{chunk-2dsmsa6a.js → chunk-jmh934ca.js} +1 -1
- package/bin/{chunk-dghtwyq1.js → chunk-jtwvd0te.js} +2 -2
- package/bin/{chunk-4qpa7b5t.js → chunk-jxxq76at.js} +1 -1
- package/bin/chunk-jyr3g5m4.js +1 -0
- package/bin/{chunk-zzx99j8t.js → chunk-k0s6gfg6.js} +1 -1
- package/bin/chunk-ky3dx324.js +2 -0
- package/bin/{chunk-6zascpcz.js → chunk-mw0rc5m7.js} +1 -1
- package/bin/chunk-mzre12bp.js +1 -0
- package/bin/{chunk-s8t74q9m.js → chunk-n0cn0xfg.js} +1 -1
- package/bin/{chunk-88fg1sw7.js → chunk-nd6psyzq.js} +2 -2
- package/bin/{chunk-m4zpf9gg.js → chunk-nmzvxgd6.js} +2 -2
- package/bin/{chunk-891h8br6.js → chunk-nxhzchen.js} +1 -1
- package/bin/{chunk-yj4x7tpw.js → chunk-phc9efjf.js} +2 -2
- package/bin/{chunk-n4meg9wb.js → chunk-pna93n17.js} +1 -1
- package/bin/{chunk-d3wmdjze.js → chunk-pvx55h1v.js} +1 -1
- package/bin/{chunk-g8th86na.js → chunk-pzehf31g.js} +1 -1
- package/bin/{chunk-nyhqy6q2.js → chunk-q0dhm16d.js} +5 -5
- package/bin/chunk-q11m2cp3.js +2 -0
- package/bin/{chunk-31baz5n0.js → chunk-qjf561n2.js} +1 -1
- package/bin/chunk-qs5k9j8s.js +1 -0
- package/bin/{chunk-ztmj61z9.js → chunk-qt9efp9y.js} +1 -1
- package/bin/{chunk-1xpec5r8.js → chunk-qwxt1cha.js} +2 -2
- package/bin/{chunk-5t6c3038.js → chunk-r8vrfefa.js} +1 -1
- package/bin/{chunk-cxhmr356.js → chunk-rybbss5f.js} +1 -1
- package/bin/{chunk-t3t6021k.js → chunk-sa4gc1f5.js} +2 -2
- package/bin/{chunk-898q6x3q.js → chunk-sprpjp4t.js} +2 -2
- package/bin/{chunk-nnkkem25.js → chunk-swa43tzr.js} +2 -2
- package/bin/{chunk-14fh4s1a.js → chunk-szs8dy1s.js} +2 -2
- package/bin/{chunk-3qks722n.js → chunk-t0detvbj.js} +2 -2
- package/bin/chunk-t0fq8b99.js +2 -0
- package/bin/{chunk-wsyg4rwg.js → chunk-vdn3jymh.js} +1 -1
- package/bin/{chunk-8wqfkm4c.js → chunk-vjxgv3r6.js} +1 -1
- package/bin/{chunk-dqgv5yy1.js → chunk-w3m9g3e9.js} +1 -1
- package/bin/{chunk-js9yf457.js → chunk-wcfpdfgy.js} +2 -2
- package/bin/{chunk-rtngbgpk.js → chunk-wv8xk7n7.js} +1 -1
- package/bin/{chunk-nhsqp8jc.js → chunk-wwsvnz4v.js} +1 -1
- package/bin/{chunk-6xg65n5y.js → chunk-y132jbf0.js} +1 -1
- package/bin/{chunk-2aascrtb.js → chunk-yaydmgcg.js} +1 -1
- package/bin/{chunk-7we7ex0m.js → chunk-yvgs4kmv.js} +1 -1
- package/bin/{chunk-3n1rezd0.js → chunk-z5p39kpk.js} +2 -2
- package/bin/{chunk-77r8w95d.js → chunk-zct68gc7.js} +2 -2
- package/bin/{chunk-mqjzmn0e.js → chunk-zy2sqtt9.js} +1 -1
- package/bin/shumai-app.html +1 -1
- package/bin/shumai-app.js +260 -208
- package/package.json +8 -8
- package/prisma/migrations/20260728024147_add_agent_session_entry_columns/migration.sql +14 -0
- package/prisma/migrations/20260728024205_migrate_agent_session_entry_data/migration.sql +12 -0
- package/prisma/migrations/20260728031230_remove_agent_session_entry_legacy_entry_column/migration.sql +8 -0
- package/prisma/schema.prisma +12 -6
- package/bin/chunk-23d3968z.js +0 -2
- package/bin/chunk-2a9n3dhx.js +0 -1
- package/bin/chunk-5vkf99sk.js +0 -1
- package/bin/chunk-6z65xd0w.js +0 -3
- package/bin/chunk-8tf6kgdj.js +0 -2
- package/bin/chunk-av71yjaa.js +0 -1
- package/bin/chunk-carknytp.js +0 -1
- package/bin/chunk-chkx04mw.js +0 -1
- package/bin/chunk-hnhq0dh9.js +0 -1
- package/bin/chunk-j0c7d9y1.js +0 -1
- package/bin/chunk-kr06nrbx.js +0 -2
- package/bin/chunk-se8rgwp8.js +0 -1
- package/bin/chunk-wckjyvtb.js +0 -5
- package/bin/chunk-wtjc4565.js +0 -1
- package/bin/chunk-y79r28gd.js +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shumai-one/shumai",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "A fullstack AI-powered media workspace and workflow engine",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"@prisma/client": "7.8.0",
|
|
16
16
|
"@prisma/adapter-pg": "7.8.0",
|
|
17
17
|
"pg": "8.21.0",
|
|
18
|
-
"sharp": "0.
|
|
18
|
+
"sharp": "0.34.5",
|
|
19
19
|
"pino": "10.3.1",
|
|
20
20
|
"pino-pretty": "13.1.3",
|
|
21
21
|
"@temporalio/activity": "1.17.2",
|
|
@@ -27,12 +27,12 @@
|
|
|
27
27
|
"zod": "4.4.3"
|
|
28
28
|
},
|
|
29
29
|
"optionalDependencies": {
|
|
30
|
-
"@shumai-one/shumai-darwin-arm64": "0.
|
|
31
|
-
"@shumai-one/shumai-darwin-x64": "0.
|
|
32
|
-
"@shumai-one/shumai-linux-arm64": "0.
|
|
33
|
-
"@shumai-one/shumai-linux-x64": "0.
|
|
34
|
-
"@shumai-one/shumai-win32-arm64": "0.
|
|
35
|
-
"@shumai-one/shumai-win32-x64": "0.
|
|
30
|
+
"@shumai-one/shumai-darwin-arm64": "0.3.0",
|
|
31
|
+
"@shumai-one/shumai-darwin-x64": "0.3.0",
|
|
32
|
+
"@shumai-one/shumai-linux-arm64": "0.3.0",
|
|
33
|
+
"@shumai-one/shumai-linux-x64": "0.3.0",
|
|
34
|
+
"@shumai-one/shumai-win32-arm64": "0.3.0",
|
|
35
|
+
"@shumai-one/shumai-win32-x64": "0.3.0"
|
|
36
36
|
},
|
|
37
37
|
"repository": {
|
|
38
38
|
"type": "git",
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
-- AlterTable
|
|
2
|
+
ALTER TABLE "agent_session_entries" ADD COLUMN "asset_id" TEXT,
|
|
3
|
+
ADD COLUMN "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
4
|
+
ADD COLUMN "data" JSONB,
|
|
5
|
+
ADD COLUMN "parent_id" TEXT,
|
|
6
|
+
ADD COLUMN "type" TEXT,
|
|
7
|
+
ALTER COLUMN "session_id" DROP NOT NULL,
|
|
8
|
+
ALTER COLUMN "entry" DROP NOT NULL;
|
|
9
|
+
|
|
10
|
+
-- CreateIndex
|
|
11
|
+
CREATE INDEX "agent_session_entries_parent_id_idx" ON "agent_session_entries"("parent_id");
|
|
12
|
+
|
|
13
|
+
-- CreateIndex
|
|
14
|
+
CREATE INDEX "agent_session_entries_asset_id_idx" ON "agent_session_entries"("asset_id");
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
-- Migrate existing entry JSON data to new columns
|
|
2
|
+
UPDATE agent_session_entries
|
|
3
|
+
SET
|
|
4
|
+
type = entry->>'type',
|
|
5
|
+
parent_id = entry->>'parentId',
|
|
6
|
+
asset_id = (SELECT s.asset_id FROM agent_sessions s WHERE s.id = agent_session_entries.session_id),
|
|
7
|
+
created_at = CASE
|
|
8
|
+
WHEN entry->>'timestamp' IS NOT NULL THEN (entry->>'timestamp')::timestamptz
|
|
9
|
+
ELSE created_at
|
|
10
|
+
END,
|
|
11
|
+
data = (entry::jsonb - 'id' - 'type' - 'parentId' - 'timestamp')::text::json
|
|
12
|
+
WHERE entry IS NOT NULL;
|
package/prisma/schema.prisma
CHANGED
|
@@ -722,14 +722,20 @@ model AgentSession {
|
|
|
722
722
|
}
|
|
723
723
|
|
|
724
724
|
model AgentSessionEntry {
|
|
725
|
-
id String
|
|
726
|
-
sessionId String
|
|
727
|
-
session AgentSession @relation(fields: [sessionId], references: [id], onDelete: Cascade)
|
|
728
|
-
|
|
729
|
-
|
|
725
|
+
id String @id // Uses ULID generated by pi-coding-agent
|
|
726
|
+
sessionId String? @map("session_id")
|
|
727
|
+
session AgentSession? @relation(fields: [sessionId], references: [id], onDelete: Cascade)
|
|
728
|
+
assetId String? @map("asset_id")
|
|
729
|
+
type String?
|
|
730
|
+
parentId String? @map("parent_id")
|
|
731
|
+
/// [PiSessionEntryData]
|
|
732
|
+
data Json?
|
|
733
|
+
createdAt DateTime @default(now()) @map("created_at")
|
|
730
734
|
|
|
731
|
-
@@map("agent_session_entries")
|
|
732
735
|
@@index([sessionId])
|
|
736
|
+
@@index([parentId])
|
|
737
|
+
@@index([assetId])
|
|
738
|
+
@@map("agent_session_entries")
|
|
733
739
|
}
|
|
734
740
|
|
|
735
741
|
model UserMetadata {
|
package/bin/chunk-23d3968z.js
DELETED
package/bin/chunk-2a9n3dhx.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{g as v}from"./chunk-6xg65n5y.js";import"./chunk-6zascpcz.js";import"./chunk-b73ktdmd.js";import"./chunk-wckjyvtb.js";import"./chunk-crt1e1w1.js";import"./chunk-wsyg4rwg.js";import"./chunk-nhsqp8jc.js";import"./chunk-srn8t0v7.js";import"./chunk-kfhtk3eh.js";import"./chunk-kr06nrbx.js";import"./chunk-b8js74jk.js";import"./chunk-0xbf8bcg.js";import"./chunk-dm2w12rc.js";import"./chunk-15sefy5t.js";import"./chunk-77r8w95d.js";import"./chunk-t3t6021k.js";import"./chunk-nnkkem25.js";import"./chunk-1xpec5r8.js";import"./chunk-0rxhc7ka.js";import"./chunk-3n1rezd0.js";import"./chunk-fz88kkk1.js";import"./chunk-dghtwyq1.js";import"./chunk-gswbc6y9.js";import{Gh as q,oh as k}from"./chunk-nyhqy6q2.js";import"./chunk-0qkj838r.js";function B(){let{shareId:w,folderId:A}=C.useParams();return k(v,{shareId:w,initialFolderId:A})}var C=q("/share/$shareId/folders/$folderId")({component:B});export{C as Route};
|
package/bin/chunk-5vkf99sk.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as r,b as a,c as s,d as E,e as $,f as q}from"./chunk-wc8sc9r9.js";import{fa as j}from"./chunk-nhsqp8jc.js";import{Va as t}from"./chunk-srn8t0v7.js";import"./chunk-kfhtk3eh.js";import{Za as x}from"./chunk-b8js74jk.js";import"./chunk-0xbf8bcg.js";import{jf as l}from"./chunk-wfx81mfv.js";import{zf as o}from"./chunk-3qks722n.js";import{og as d,pg as i}from"./chunk-3n1rezd0.js";import{Qg as m,bh as h}from"./chunk-gswbc6y9.js";import{Bh as C,Gh as P,Gi as b,Ki as g,Qh as B,Sh as A,Xi as I,ai as f,hk as p,ik as c,jk as n,mh as qG,mk as X,nh as k,oh as G,ph as K,qh as y,ti as T,uh as L,uj as u,vh as F,wh as S}from"./chunk-nyhqy6q2.js";import{Vk as $G}from"./chunk-0qkj838r.js";var _=$G(qG(),1);var OG=(Y)=>{if(!Y)return"??";return Y.split(" ").map((O)=>O[0]).slice(0,2).join("").toUpperCase()};function zG(){let{projectId:Y}=BG.useParams(),{teamId:O,ensureTeamIdForProject:U}=h(),e=y(),GG=C();_.useEffect(()=>{U(Y)},[Y,U]);let{data:M}=L(l(Y)),D=M?.rootFolder,[JG,KG]=_.useState(240),{shareConfigLeftSidebarCollapsed:Q,setShareConfigLeftSidebarCollapsed:XG}=i(),{data:V,isLoading:YG,fetchNextPage:R,hasNextPage:v,isFetchingNextPage:W}=S({queryKey:["shares",Y],queryFn:async({pageParam:J})=>{let Z=await A.api.projects[":projectId"].shares.$get({param:{projectId:Y},query:{first:"20",after:J}});if(!Z.ok)throw Error("Failed to fetch share links");return await Z.json()},initialPageParam:"",getNextPageParam:(J)=>J.pageInfo?.cursor||void 0,enabled:!!Y}),{ref:ZG,inView:w}=d();_.useEffect(()=>{if(w&&v&&!W)R()},[w,v,W,R]);let H=_.useMemo(()=>V?.pages.flatMap((J)=>J.data)||[],[V]),{mutate:_G}=F({mutationFn:async({id:J,isDisabled:Z})=>{let z=await A.api.shares[":shareId"].$put({param:{shareId:J},json:{isDisabled:Z}});if(!z.ok)throw Error("Failed to update share link");return await z.json()},onSuccess:()=>{e.invalidateQueries({queryKey:["shares",Y]}),B.success(X.share_link_status_updated())},onError:(J)=>{B.error(X.error_message({message:J.message}))}});if(!O||!D||!M)return G(o,{});let N=(J)=>{let Z=`${window.location.origin}/share/${J}`;navigator.clipboard.writeText(Z),B.success(X.link_copied())};return G("div",{className:"flex flex-1 flex-col bg-background min-h-0",children:K("div",{className:"flex flex-1 overflow-hidden relative",children:[!Q&&G("div",{className:"md:hidden fixed inset-0 bg-black/50 z-40",onClick:()=>XG(!0)}),!Q&&K(k,{children:[G("div",{className:"bg-background",style:{width:JG},children:G(j,{teamId:O,projectId:Y,projectName:M.name??"",rootFolderId:D})}),G(t,{onResize:(J)=>{KG((Z)=>Math.max(180,Math.min(400,Z+J)))},className:"hidden md:block"})]}),K("div",{className:"flex-1 flex flex-col min-h-0 bg-card overflow-hidden",children:[G("header",{className:"h-14 border-b flex items-center justify-between px-6 shrink-0 bg-background/50 backdrop-blur-sm sticky top-0 z-10",children:K("div",{className:"flex items-center gap-2",children:[G(u,{className:"h-5 w-5 text-primary"}),G("h1",{className:"font-bold text-lg text-foreground",children:X.all_share_links()})]})}),G("div",{className:"flex-1 overflow-y-auto p-6",children:YG?G("div",{className:"flex justify-center items-center h-64",children:G("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-primary"})}):H.length===0?K("div",{className:"flex flex-col items-center justify-center h-64 text-muted-foreground gap-3",children:[G(I,{className:"h-10 w-10 text-muted-foreground/50"}),G("p",{children:X.no_share_links_yet()})]}):K("div",{className:"border border-border rounded-xl bg-background overflow-hidden shadow-xs",children:[K(r,{children:[G(a,{children:K(E,{className:"hover:bg-transparent bg-muted/20",children:[G($,{className:"font-semibold px-4 py-3",children:X.name()}),G($,{className:"font-semibold px-4 py-3",children:X.public_link()}),G($,{className:"font-semibold px-4 py-3",children:X.creator()}),G($,{className:"font-semibold px-4 py-3 w-[150px]",children:X.created_date()}),G($,{className:"font-semibold px-4 py-3 text-right w-[120px]",children:X.active()})]})}),G(s,{children:H.map((J)=>{let Z=`${window.location.origin}/share/${J.id}`;return K(E,{className:"hover:bg-muted/10 transition-colors",children:[G(q,{className:"font-medium px-4 py-3.5",children:G("span",{className:"cursor-pointer hover:underline text-foreground",onClick:()=>GG({to:"/projects/$projectId/shares/$shareId",params:{projectId:Y,shareId:J.id}}),children:J.name})}),G(q,{className:"px-4 py-3.5 max-w-[300px]",children:K("div",{className:"flex items-center gap-2 group",children:[G("span",{className:"truncate text-xs font-mono bg-muted/50 text-muted-foreground px-2 py-1 rounded-md border border-border cursor-pointer hover:bg-muted transition-colors flex-1",onClick:()=>N(J.id),title:X.click_to_copy_link(),children:Z}),G(m,{variant:"ghost",size:"icon-sm",className:"h-7 w-7 opacity-0 group-hover:opacity-100 transition-opacity",onClick:()=>N(J.id),children:G(b,{className:"h-3.5 w-3.5"})}),G("a",{href:Z,target:"_blank",rel:"noreferrer",className:"text-muted-foreground hover:text-foreground inline-flex items-center",children:G(g,{className:"h-3.5 w-3.5"})})]})}),G(q,{className:"px-4 py-3.5",children:K("div",{className:"flex items-center gap-2",children:[K(p,{className:"h-6 w-6",children:[J.creator?.image&&G(c,{src:J.creator.image,alt:J.creator.name,className:"object-cover"}),G(n,{className:"text-[10px]",children:OG(J.creator?.name)})]}),G("span",{className:"text-sm font-medium text-foreground truncate max-w-[150px]",children:J.creator?.name||X.unknown()})]})}),G(q,{className:"px-4 py-3.5 text-muted-foreground text-sm",children:K("div",{className:"flex items-center gap-2",children:[G(T,{className:"h-3.5 w-3.5 text-muted-foreground/70"}),G("span",{children:new Date(J.createdAt).toLocaleDateString()})]})}),G(q,{className:"px-4 py-3.5 text-right",children:G("div",{className:"flex justify-end",children:G(x,{checked:!J.isDisabled,onCheckedChange:(z)=>_G({id:J.id,isDisabled:!z})})})})]},J.id)})})]}),G("div",{ref:ZG,className:"h-10 w-full flex items-center justify-center",children:W&&G(f,{className:"h-6 w-6 animate-spin text-primary"})})]})})]})]})})}var BG=P("/projects/$projectId/shares/")({component:zG});export{BG as Route};
|