Browse Source

Show Popi.TV in the header brand

The app header still exposed the internal popiart-node label while the requested product brand is Popi.TV. This keeps the existing icon asset but makes it decorative so the visible header label is the accessible brand signal.

Constraint: Keep the change scoped to the top-left header logo area.

Rejected: Rename all popiart-node strings globally | the request only targeted the top-left Logo.

Confidence: high

Scope-risk: narrow

Directive: Do not broaden this into a product-wide rename without checking welcome and onboarding copy.

Tested: npm run test:run -- src/components/__tests__/Header.test.tsx
test-0523
jiajia 2 months ago
parent
commit
72463af508
  1. 4
      src/components/Header.tsx
  2. 8
      src/components/__tests__/Header.test.tsx

4
src/components/Header.tsx

@ -251,9 +251,9 @@ export function Header() {
className="flex items-center gap-2 hover:opacity-80 transition-opacity"
title={t("header.openWelcome")}
>
<img src="/banana_icon.png" alt="PopiArt" className="w-6 h-6" />
<img src="/banana_icon.png" alt="" aria-hidden="true" className="w-6 h-6" />
<h1 className="text-xl font-semibold text-neutral-100 tracking-tight">
popiart-node
Popi.TV
</h1>
</button>

8
src/components/__tests__/Header.test.tsx

@ -75,14 +75,16 @@ describe("Header", () => {
describe("Basic Rendering", () => {
it("should render the app title", () => {
render(<Header />);
expect(screen.getByText("popiart-node")).toBeInTheDocument();
expect(screen.getByText("Popi.TV")).toBeInTheDocument();
});
it("should render the brand icon", () => {
render(<Header />);
const icon = screen.getByAltText("PopiArt");
const { container } = render(<Header />);
const icon = container.querySelector('img[src="/banana_icon.png"]');
expect(icon).toBeInTheDocument();
expect(icon).toHaveAttribute("src", "/banana_icon.png");
expect(icon).toHaveAttribute("alt", "");
expect(icon).toHaveAttribute("aria-hidden", "true");
});
it("should hide external author link", () => {

Loading…
Cancel
Save