Skip to content

feat(stats): hide nav + minimize footer + add orange glow on /stats only#82

Merged
LakshmanTurlapati merged 4 commits into
mainfrom
feat/showcase-stats-aesthetics
May 26, 2026
Merged

feat(stats): hide nav + minimize footer + add orange glow on /stats only#82
LakshmanTurlapati merged 4 commits into
mainfrom
feat/showcase-stats-aesthetics

Conversation

@LakshmanTurlapati

Copy link
Copy Markdown
Collaborator

Summary

Aesthetic overhaul of /stats (showcase), scoped strictly to that route — zero bleed to home, agents, dashboard, etc.

  • Hide navbar on /stats, replace with a minimal top-left back button (Location.back() when in-app navigation history exists, fallback to / for deep-link entry).
  • Minimize footer on /stats — keeps only "Made by Lakshman Turlapati", "FSB v0.9.72", and the language picker. Hides the brand block and Pages / Project columns.
  • Add subtle orange glow background on /stats — mirrors the home hero's rgba(255,107,53,0.18) + rgba(255,140,66,0.12) radial gradients + 12s ease-in-out animation. Same intensity, not amplified.

All three are driven from a single isStatsRoute signal in ShowcaseShellComponent — no new component, no global CSS, no fork of the footer.

Implementation notes

  • isStatsRoute derives from a NavigationEnd subscription using urlNoQs.endsWith('/stats') (forward-compatible with future locale prefixes like /fr/stats).
  • Back-button fallback uses an in-app navigationCount (not window.history.length, which is polluted by pre-app history).
  • Glow keyframes renamed statsGlow (not heroGlow) because Angular's emulated encapsulation does not scope @keyframes — same-named keyframes across components collide globally.
  • <main> gets [class.stats-main] with position:relative; z-index:1 so content stacks above the z-index:0 glow on /stats only.

Test plan

  • Visit /stats: nav hidden, back button visible top-left, orange glow visible behind charts, footer shows only credit + version + language picker.
  • Click back button from /stats reached via in-app nav → returns to previous page.
  • Open /stats directly (fresh tab / deep link) → back button falls back to /.
  • Visit /, /agents, /dashboard, /about, /privacy, /support: nav visible, full footer renders with both columns, no orange glow appears.
  • npm run build (showcase/angular) — exit 0, 30 routes prerendered, zero errors.

Lakshman added 3 commits May 26, 2026 10:54
…to shell

- Add Router.events NavigationEnd subscription -> isStatsRoute signal
- Track navigationCount to drive goBack() fallback behavior
- goBack() calls Location.back() when in-app history exists, else router.navigate(['/'])
- HTML wraps <nav> and .nav-mobile in @if (!isStatsRoute)
- HTML wraps .footer-inner in @if (!isStatsRoute); .footer-bottom stays untouched
- HTML adds .stats-glow-bg and .stats-back-btn gated by @if (isStatsRoute)
- <main> gets [class.stats-main] binding for stacking-context lift (used in Task 2 SCSS)
- Other routes are visually and behaviorally unchanged (zero-bleed)
… to shell SCSS

- Append .stats-back-btn (position:fixed top-left, mirrors .theme-toggle-btn aesthetic)
- Append .stats-glow-bg with rgba(255,107,53,0.18) primary + rgba(255,140,66,0.12) secondary
  radial-gradient blobs (matches home .hero-bg exactly)
- @Keyframes statsGlow (renamed from heroGlow to avoid global keyframe collision -- Angular
  emulated encapsulation does NOT scope @Keyframes)
- prefers-reduced-motion disables the glow animation
- :host > main.stats-main { position:relative; z-index:1 } lifts /stats content above the
  fixed z-index:0 glow without disturbing main on any other route
- All existing shell rules left untouched -- append-only for zero bleed
- stats-page.component.scss intentionally NOT modified (per plan default disposition --
  existing var(--section-padding) becomes acceptable top breathing room with nav gone)

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: a867bd6a88

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

<i class="fa-brands fa-github"></i> GitHub
@if (isStatsRoute) {
<div class="stats-glow-bg" aria-hidden="true"></div>
<button type="button" class="stats-back-btn" (click)="goBack()" aria-label="Go back">

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Localize back-button aria-label

The new /stats back button adds aria-label="Go back" without a matching i18n-aria-label, which violates the template i18n rule used in CI (@angular-eslint/template/i18n checks attributes, and aria-label is not in the ignore list). Because .github/workflows/ci.yml runs npm --prefix showcase/angular run lint:i18n, this change can fail the pipeline and also leaves the label untranslated in non-English builds.

Useful? React with 👍 / 👎.

@LakshmanTurlapati

Copy link
Copy Markdown
Collaborator Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Nice work!

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@LakshmanTurlapati LakshmanTurlapati merged commit ed877b0 into main May 26, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant