Skip to content

Clean up F1ServerApp: dead code, orphaned assets, inline styles - #592

Merged
LarsLaskowski merged 1 commit into
mainfrom
claude/fix-multiple-issues-lfk6c2
Aug 15, 2026
Merged

Clean up F1ServerApp: dead code, orphaned assets, inline styles#592
LarsLaskowski merged 1 commit into
mainfrom
claude/fix-multiple-issues-lfk6c2

Conversation

@LarsLaskowski

@LarsLaskowski LarsLaskowski commented Aug 15, 2026

Copy link
Copy Markdown
Owner

📖 Description

Resolves a batch of low-severity findings from the frontend review report (docs/review/FINDINGS-OVERVIEW.md), all scoped to F1ServerApp:

  • Removes CSS rules the templates never reference: the fully orphaned championships.component.css (deleted, was a copy of statistics.component.css), the unused title-*/loader/hcenter/@keyframes spin rules in statistics.component.css, and the unused layout-row/cards-*/track-card/track-container/track-row/track-column*/track-table/track-th/track-td rules in tracks.component.css.
  • Removes the dead layout="row" attribute in tracks.component.html (no effect without @angular/flex-layout).
  • Populates the previously empty "Difficulty" column in the championships table with entry.raceDifficulty.
  • Replaces extensive inline style attributes with CSS classes in sessions.component.html, createchampionship.component.html (new createchampionship.component.css) and showsession.component.html.
  • Removes dead @if (!x) { Loading... } guards in livesession, lastsession, games and tracksessions components, since the underlying fields are always initialized (constructor-instantiated or default []/Set). Also fixes the inconsistent guarding of aiDifficulty in lastsession.component.html.
  • Moves the Material Symbols font stylesheet link out of nav-menu.component.html and sessions.component.html into index.html, and moves the global html/body element selectors out of nav-menu.component.css (into styles.css) and tracksessions.component.css (already duplicated in styles.css, so just removed there).
  • Removes assets referenced nowhere in the app: the flags/ SVG directory, the legacy live_on/live_off PNGs, and telemetry.png.
  • Resizes tyre_hypersoft.png from 457×457 (327 KB) down to 200×200 (~70 KB), matching its sibling tyre assets.
  • Documents the still-missing track map artwork for the short-layout circuits (track IDs 23–26: Silverstone Short, Texas Short, Suzuka Short, Hanoi) as a known gap with a code comment, since no real map source is available.

🎫 Issues

Closes #261, Closes #263, Closes #264, Closes #265, Closes #271, Closes #279, Closes #288, Closes #290, Closes #292, Closes #299, Closes #300, Closes #301, Closes #302, Closes #303

👩‍💻 Reviewer Notes

All changes are visual/dead-code cleanup with no intended behavior change, except the championship difficulty column (now shows a value) and the tyre_hypersoft.png resize (visually identical at the small display size it's used at). Worth a quick smoke test of the Sessions, Championships, Tracks, Statistics, Games, Track sessions and Nav menu pages.

📑 Test Plan

Manually reviewed each affected template/stylesheet against its usage to confirm no visual regression, and confirmed the Angular app still compiles.

✅ Checklist

General

  • I have added tests for my changes.
  • I have tested my changes.
  • I have updated the project documentation to reflect my changes.
  • I have read the CONTRIBUTING documentation and followed the project's code style guidelines.

Frontend-specific (Angular)

  • I have modified an existing Angular component or service.
  • I have kept the frontend models/services in sync with the backend Data/ViewData contracts.

⏭ Next Steps

Sourcing real track map artwork for the short-layout circuits (track IDs 23–26) is left as follow-up, since no map source was available in this change.

Resolves a batch of low-severity findings from the frontend review report.
Removes CSS rules and markup attributes that the templates never use
(championships, statistics, tracks components), drops dead "Loading..."
guards for fields that are always initialized, and moves the Material
Symbols font link and a couple of global element selectors out of
component templates/styles into index.html/styles.css. Populates the
previously empty championship difficulty column, replaces extensive
inline style attributes with CSS classes in the sessions, create
championship and show session components, and removes assets that are
referenced nowhere in the app (flag SVGs, legacy live status PNGs,
telemetry.png). Resizes the oversized tyre_hypersoft.png down to match
its sibling tyre assets, and documents the still-missing track map
images for the short-layout circuits as a known gap.

Closes #261, #263, #264, #265, #271, #279, #288, #290, #292, #299, #300, #301, #302, #303
@sonarqubecloud

Copy link
Copy Markdown

@LarsLaskowski
LarsLaskowski merged commit e9a6b26 into main Aug 15, 2026
6 checks passed
@LarsLaskowski
LarsLaskowski deleted the claude/fix-multiple-issues-lfk6c2 branch August 15, 2026 20:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment