UI touch ups
This commit is contained in:
51
openspec/specs/nav-hover-line/spec.md
Normal file
51
openspec/specs/nav-hover-line/spec.md
Normal file
@@ -0,0 +1,51 @@
|
||||
# nav-hover-line Specification
|
||||
|
||||
## Purpose
|
||||
TBD - created by archiving change final-touches. Update Purpose after archive.
|
||||
## Requirements
|
||||
### Requirement: Hover line appears only on hover for primary header titles
|
||||
The site MUST render a decorative animated line that appears only on hover for the primary header title links:
|
||||
|
||||
- SanthoshJ (center brand link)
|
||||
|
||||
- Videos
|
||||
- Podcast
|
||||
- Blog
|
||||
|
||||
The hover line MUST NOT cause layout shift.
|
||||
|
||||
#### Scenario: Hover line is hidden by default
|
||||
- **WHEN** the header renders
|
||||
- **THEN** the hover line is not visible on primary header title links until hover
|
||||
|
||||
#### Scenario: Hover line appears on hover
|
||||
- **WHEN** a pointer user hovers a primary header title link
|
||||
- **THEN** an animated line appears as a hover affordance for that title
|
||||
|
||||
### Requirement: Hover line applies to section/module titles for key surfaces
|
||||
The site MUST apply the same hover-line treatment to the titles for the Videos, Podcast, and Blog surfaces, but only on titles (not on card titles).
|
||||
|
||||
#### Scenario: Titles use hover line
|
||||
- **WHEN** a pointer user hovers the Videos/Podcast/Blog surface title element
|
||||
- **THEN** the hover line appears only for that title
|
||||
|
||||
#### Scenario: Card titles are unaffected
|
||||
- **WHEN** a pointer user hovers a content card title
|
||||
- **THEN** no hover line effect is applied (existing behavior remains)
|
||||
|
||||
### Requirement: Hover line is gated by a public env flag
|
||||
The hover-line effect MUST be controllable via a public environment variable `PUBLIC_ENABLE_NAV_HOVER_LINE`.
|
||||
|
||||
If `PUBLIC_ENABLE_NAV_HOVER_LINE` is set to the string `"false"`, the hover-line effect MUST be disabled and the current behavior MUST continue.
|
||||
|
||||
#### Scenario: Flag disables hover line
|
||||
- **WHEN** `PUBLIC_ENABLE_NAV_HOVER_LINE` is set to `"false"`
|
||||
- **THEN** hovering primary header title links and surface titles does not render the hover line effect
|
||||
|
||||
### Requirement: Reduced motion disables or substantially reduces animation
|
||||
If `prefers-reduced-motion: reduce` is set, the hover-line animation MUST be disabled or substantially reduced.
|
||||
|
||||
#### Scenario: Reduced motion disables noticeable hover animation
|
||||
- **WHEN** `prefers-reduced-motion: reduce` is set and a user hovers a nav title
|
||||
- **THEN** the hover line does not animate noticeably
|
||||
|
||||
29
openspec/specs/navbar-branding/spec.md
Normal file
29
openspec/specs/navbar-branding/spec.md
Normal file
@@ -0,0 +1,29 @@
|
||||
# navbar-branding Specification
|
||||
|
||||
## Purpose
|
||||
TBD - created by archiving change final-touches. Update Purpose after archive.
|
||||
## Requirements
|
||||
### Requirement: Primary header shows logo and centered brand
|
||||
The site MUST render a primary header that includes:
|
||||
|
||||
- a left-side logo that links to `/`
|
||||
- a centered brand label "SanthoshJ" that links to `/`
|
||||
- the primary navigation links (Videos, Podcast, Blog)
|
||||
|
||||
The logo MUST use the same visual asset as the site favicon.
|
||||
|
||||
#### Scenario: Desktop header layout
|
||||
- **WHEN** a user loads the home page on a desktop viewport
|
||||
- **THEN** the header shows the logo on the left, the brand label centered, and the nav links on the right
|
||||
|
||||
#### Scenario: Mobile header layout
|
||||
- **WHEN** a user loads the home page on a mobile viewport
|
||||
- **THEN** the header still shows the logo on the left and the brand label centered without overlapping the nav toggle
|
||||
|
||||
### Requirement: Logo size is visually aligned
|
||||
The header logo MUST be sized to match the header rhythm and MUST not cause layout shift.
|
||||
|
||||
#### Scenario: Logo has fixed dimensions
|
||||
- **WHEN** the header renders
|
||||
- **THEN** the logo element has explicit width and height and does not change size on load
|
||||
|
||||
Reference in New Issue
Block a user