feat(wizard): #162 OpenOva brand mark on wizard top bar

Phase 4 of issue #162.

The wizard's top bar already rendered the OpenOva infinity-loop mark
via <OOLogo h={22} />. This bumps it to the spec'd 32px height and
adds a `data-testid="wizard-logo"` hook for end-to-end tests.

Also vendors the canonical brand SVG to
`products/catalyst/bootstrap/ui/public/openova-logo.svg` (sourced from
the marketing repo's logo-icon.svg). Static pages bundled with the
wizard (e.g. provision.html) and any future non-React surface can now
reference `/openova-logo.svg` directly without duplicating the path
data — single source of truth for the brand mark.

The link target is unchanged: `/app/dashboard` for SaaS, `/` for
self-hosted (which redirects to the wizard root). Both effectively
land back at the wizard home, matching the issue's "link to wizard
home" requirement.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
hatiyildiz 2026-04-29 06:32:56 +02:00
parent c3b36cb170
commit 8ee52e6500
2 changed files with 19 additions and 2 deletions

View File

@ -0,0 +1,10 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 700 400" fill="none">
<defs>
<linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" stop-color="#3B82F6"/>
<stop offset="100%" stop-color="#818CF8"/>
</linearGradient>
</defs>
<path d="M 300 88.1966 A 150 150 0 1 0 350 200 A 150 150 0 1 1 400 311.8034"
fill="none" stroke="url(#grad)" stroke-width="100" stroke-linecap="butt"/>
</svg>

After

Width:  |  Height:  |  Size: 469 B

View File

@ -32,8 +32,15 @@ export function WizardLayout() {
<div className="corp-body">
{/* ── Header ─────────────────────────────────────────────── */}
<header className="corp-header">
<Link to={IS_SAAS ? '/app/dashboard' : '/'} className="corp-logo">
<OOLogo h={22} id="wiz-logo" />
{/* Brand mark 32px target height per issue #162 spec.
The route `/` redirects to the wizard home for non-SaaS;
for SaaS it lands on the dashboard from where the wizard
is reachable. The canonical brand SVG is also vendored at
/openova-logo.svg under the wizard's public dir, so the
same mark can be used by static pages (e.g. provision.html)
that don't run React. */}
<Link to={IS_SAAS ? '/app/dashboard' : '/'} className="corp-logo" data-testid="wizard-logo">
<OOLogo h={32} id="wiz-logo" />
<div className="corp-brand">
<div className="corp-brand-primary">OpenOva</div>
<div className="corp-brand-secondary">Corporate</div>