Merge branch 'investigate/portless' into dev
# Conflicts: # packages/app/e2e/helpers/workspace-setup.ts # packages/app/src/components/sidebar-workspace-list.tsx # packages/app/src/contexts/session-context.tsx # packages/app/src/hooks/use-sidebar-workspaces-list.test.ts # packages/app/src/screens/workspace/workspace-tab-menu.ts # packages/app/src/stores/workspace-setup-store.ts # packages/app/src/stores/workspace-tabs-store.ts # packages/app/src/utils/sidebar-project-row-model.test.ts # packages/app/src/utils/sidebar-shortcuts.test.ts # packages/app/src/utils/workspace-tab-identity.ts # packages/server/src/server/bootstrap.ts # packages/server/src/server/worktree-session.ts
This commit is contained in:
@@ -59,6 +59,7 @@ export function LandingPage({ title, subtitle }: LandingPageProps) {
|
||||
<div className="space-y-24">
|
||||
<MultiProviderSection />
|
||||
<SelfHostedSection />
|
||||
<ServiceProxySection />
|
||||
<ShortcutsSection />
|
||||
<LocalVoiceSection />
|
||||
<CLISection />
|
||||
@@ -475,6 +476,52 @@ function SelfHostedSection() {
|
||||
}
|
||||
|
||||
|
||||
function ServiceProxySection() {
|
||||
const workspaces = [
|
||||
{ name: "fix-auth", url: "fix-auth.my-app.localhost" },
|
||||
{ name: "add-search", url: "add-search.my-app.localhost" },
|
||||
{ name: "upgrade-deps", url: "upgrade-deps.my-app.localhost" },
|
||||
];
|
||||
|
||||
return (
|
||||
<FeatureSection
|
||||
title="Forget about ports"
|
||||
description="When agents work in parallel, they all run dev servers. Paseo gives each one a URL based on the branch name, no port conflicts, no guessing."
|
||||
>
|
||||
<div className="rounded-2xl border border-white/10 bg-white/[0.02] overflow-hidden">
|
||||
<div className="px-5 py-4 space-y-3">
|
||||
{/* Project */}
|
||||
<div className="flex items-center gap-2.5">
|
||||
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round" className="text-white/40">
|
||||
<path d="M3 7V17C3 18.1046 3.89543 19 5 19H19C20.1046 19 21 18.1046 21 17V9C21 7.89543 20.1046 7 19 7H13L11 5H5C3.89543 5 3 5.89543 3 7Z" />
|
||||
</svg>
|
||||
<span className="text-sm font-medium text-white/60">my-app</span>
|
||||
</div>
|
||||
|
||||
{/* Workspaces indented */}
|
||||
<div className="pl-6 space-y-2">
|
||||
{workspaces.map((ws) => (
|
||||
<div
|
||||
key={ws.name}
|
||||
className="flex items-center justify-between"
|
||||
>
|
||||
<div className="flex items-center gap-2.5">
|
||||
<div className="w-1.5 h-1.5 rounded-full bg-emerald-400" />
|
||||
<span className="text-sm text-white/80">{ws.name}</span>
|
||||
<span className="text-xs text-white/25 font-mono">npm run dev</span>
|
||||
</div>
|
||||
<span className="text-xs font-mono text-white/30">
|
||||
{ws.url}
|
||||
</span>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</FeatureSection>
|
||||
);
|
||||
}
|
||||
|
||||
function ShortcutsSection() {
|
||||
const shortcuts = [
|
||||
{ keys: ["⌘", "1-9"], action: "Switch panels" },
|
||||
|
||||
Reference in New Issue
Block a user