From 3110e8f81049f24549cacbbdc85ab08fa4128ed4 Mon Sep 17 00:00:00 2001 From: K <84141602+krikera@users.noreply.github.com> Date: Mon, 14 Jul 2025 10:07:31 +0530 Subject: feat(cli): add hideBanner setting to disable startup banner (#2803) Co-authored-by: Pascal Birchler --- packages/cli/src/ui/App.test.tsx | 36 ++++++++++++++++++++++++++++++++++++ packages/cli/src/ui/App.tsx | 12 +++++++----- 2 files changed, 43 insertions(+), 5 deletions(-) (limited to 'packages/cli/src/ui') diff --git a/packages/cli/src/ui/App.test.tsx b/packages/cli/src/ui/App.test.tsx index c64b526e..4b65603b 100644 --- a/packages/cli/src/ui/App.test.tsx +++ b/packages/cli/src/ui/App.test.tsx @@ -187,6 +187,10 @@ vi.mock('./components/Tips.js', () => ({ Tips: vi.fn(() => null), })); +vi.mock('./components/Header.js', () => ({ + Header: vi.fn(() => null), +})); + describe('App UI', () => { let mockConfig: MockServerConfig; let mockSettings: LoadedSettings; @@ -445,6 +449,38 @@ describe('App UI', () => { expect(vi.mocked(Tips)).not.toHaveBeenCalled(); }); + it('should display Header component by default', async () => { + const { Header } = await import('./components/Header.js'); + const { unmount } = render( + , + ); + currentUnmount = unmount; + await Promise.resolve(); + expect(vi.mocked(Header)).toHaveBeenCalled(); + }); + + it('should not display Header component when hideBanner is true', async () => { + const { Header } = await import('./components/Header.js'); + mockSettings = createMockSettings({ + user: { hideBanner: true }, + }); + + const { unmount } = render( + , + ); + currentUnmount = unmount; + await Promise.resolve(); + expect(vi.mocked(Header)).not.toHaveBeenCalled(); + }); + it('should show tips if system says show, but workspace and user settings say hide', async () => { mockSettings = createMockSettings({ system: { hideTips: false }, diff --git a/packages/cli/src/ui/App.tsx b/packages/cli/src/ui/App.tsx index 6c32c1ea..cd94311b 100644 --- a/packages/cli/src/ui/App.tsx +++ b/packages/cli/src/ui/App.tsx @@ -716,11 +716,13 @@ const App = ({ config, settings, startupWarnings = [], version }: AppProps) => { key={staticKey} items={[ -
+ {!settings.merged.hideBanner && ( +
+ )} {!settings.merged.hideTips && } , ...history.map((h) => ( -- cgit v1.2.3