From b5479d0e7a6fb19621a84fba2bf4e0c93ba1e4e4 Mon Sep 17 00:00:00 2001 From: Gustavo Caetano Date: Fri, 6 Nov 2026 14:29:00 -0300 Subject: [PATCH] feat(shell): persistent "Powered by ZeroAgency.ai" footer on Home MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The attribution only existed in onboarding (seen once) and Settings > About (buried). Add a subtle footer pinned to the bottom of the Home content column — visible on the recents, folder, and cloud-projects views — that opens zeroagency.ai like the existing entry points. .content becomes a column flex container so margin-top:auto pins the footer to the bottom when the list is short; long lists scroll to it. Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- apps/shell/src/renderer/src/Home.tsx | 15 +++++++++++++++ apps/shell/src/renderer/src/home.css | 27 +++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) diff --git a/apps/shell/src/renderer/src/Home.tsx b/apps/shell/src/renderer/src/Home.tsx index 0f2aa26a8..3da63f0f5 100644 --- a/apps/shell/src/renderer/src/Home.tsx +++ b/apps/shell/src/renderer/src/Home.tsx @@ -1260,6 +1260,11 @@ function CloudProjectsView() { {renderBody()} + ) } @@ -2546,6 +2551,14 @@ export function Home() { ) } + const renderPoweredBy = () => ( + + ) + const renderEmpty = (hint: string) => (

)} + {renderPoweredBy()} ) } @@ -2775,6 +2789,7 @@ export function Home() { )} + {renderPoweredBy()} ) } diff --git a/apps/shell/src/renderer/src/home.css b/apps/shell/src/renderer/src/home.css index e596f68a9..d62f2c35b 100644 --- a/apps/shell/src/renderer/src/home.css +++ b/apps/shell/src/renderer/src/home.css @@ -348,6 +348,33 @@ body.vib .home { padding: 28px 36px 40px; overflow-y: auto; background: var(--bg-content); + /* column flex so .powered-by can pin to the bottom of short content */ + display: flex; + flex-direction: column; +} + +/* product credit pinned to the bottom of the content column */ +.powered-by { + margin-top: auto; + padding-top: 28px; + display: flex; + justify-content: center; +} + +.powered-by button { + border: none; + background: none; + font: inherit; + font-size: 12px; + color: var(--text-muted); + cursor: pointer; + padding: 4px 10px; + border-radius: 6px; +} + +.powered-by button:hover { + color: var(--accent); + background: var(--bg-hover); } .section-head {