diff --git a/src/client/components/AppDetail.tsx b/src/client/components/AppDetail.tsx index 77f5079..edecd9c 100644 --- a/src/client/components/AppDetail.tsx +++ b/src/client/components/AppDetail.tsx @@ -64,7 +64,7 @@ export function AppDetail({ app, render }: { app: App, render: () => void }) { openRenameAppModal(app)}>{app.name} - {!app.tool && ( + {(!app.tool || app.share) && ( app.tunnelUrl ? : app.tunnelEnabled diff --git a/src/server/api/apps.ts b/src/server/api/apps.ts index f8bd9b7..5f9a54c 100644 --- a/src/server/api/apps.ts +++ b/src/server/api/apps.ts @@ -29,9 +29,9 @@ router.sse('/stream', (send) => { let queue = Promise.resolve() const broadcast = () => { const apps: SharedApp[] = allApps().map(({ - name, state, icon, error, port, started, logs, tool, apps: apps_, dashboard, tunnelEnabled, tunnelUrl + name, state, icon, error, port, started, logs, tool, apps: apps_, dashboard, share, tunnelEnabled, tunnelUrl }) => ({ - name, state, icon, error, port, started, logs, tool, apps: apps_, dashboard, tunnelEnabled, tunnelUrl, + name, state, icon, error, port, started, logs, tool, apps: apps_, dashboard, share, tunnelEnabled, tunnelUrl, })) queue = queue.then(() => send(apps)) } diff --git a/src/server/apps.ts b/src/server/apps.ts index 1382c46..5fee129 100644 --- a/src/server/apps.ts +++ b/src/server/apps.ts @@ -162,7 +162,8 @@ export function registerApp(dir: string) { const tool = pkg.toes?.tool const apps = pkg.toes?.apps const dashboard = pkg.toes?.dashboard - _apps.set(dir, { name: dir, state, icon, error, tool, apps, dashboard }) + const share = pkg.toes?.share + _apps.set(dir, { name: dir, state, icon, error, tool, apps, dashboard, share }) update() emit({ type: 'app:create', app: dir }) if (!error) { @@ -353,7 +354,8 @@ function discoverApps() { const tool = pkg.toes?.tool const apps = pkg.toes?.apps const dashboard = pkg.toes?.dashboard - _apps.set(dir, { name: dir, state, icon, error, tool, apps, dashboard }) + const share = pkg.toes?.share + _apps.set(dir, { name: dir, state, icon, error, tool, apps, dashboard, share }) } update() } diff --git a/src/shared/types.ts b/src/shared/types.ts index 5438fa6..43f8fb9 100644 --- a/src/shared/types.ts +++ b/src/shared/types.ts @@ -31,6 +31,7 @@ export type App = { tool?: boolean | string apps?: boolean dashboard?: boolean + share?: boolean tunnelEnabled?: boolean tunnelUrl?: string }