Web layer cleanup: remove Bootstrap, split JS, consolidate CSS, deduplicate legal pages #31

Closed
opened 2026-05-28 07:10:29 +00:00 by gelu · 0 comments
Owner

What

Full front-end cleanup of the web/wwwroot layer — no functionality changes.

Why

The web layer has accumulated technical debt: Bootstrap (271 KB) loaded for only 4 utility classes; inline styles block jQuery 4.0 CSS-based visibility; JS is a single 722-line file mixing i18n, CV logic, and shared utilities; legal pages duplicate topbar/footer across 6 files; style.css is dead (unreferenced); myai.css lacks structure comments.

Scope

  • Remove Bootstrap CSS (232 KB) + JS (39 KB); add 4 replacement rules to myai.css
  • Delete dead style.css (784 lines)
  • myai.css: section comments, merge duplicate @media blocks, remove dead .ai-mark, move inline hidden-state to CSS
  • HTML: remove 7 style="display:none;" attrs; remove orphan footer-legal class; update script tags
  • Split main.js into i18n.js + cv-matcher.js + slim main.js (~350 lines)
  • Add JSDoc + section comments; add runWithCaptcha, setFormBusy, setFormIdle helpers
  • legal.js: inject topbar + language-aware footer; strip duplication from all 6 legal pages
  • Includes jQuery 4.0.0 upgrade

Success criteria

  • dotnet build myAi.sln passes
  • All pages and forms work identically
  • Bootstrap files gone from wwwroot
  • main.js ≤ 350 lines
  • Legal pages render topbar/footer from legal.js

Time tracking

Started: 2026-05-28 10:10

## What Full front-end cleanup of the `web/wwwroot` layer — no functionality changes. ## Why The web layer has accumulated technical debt: Bootstrap (271 KB) loaded for only 4 utility classes; inline styles block jQuery 4.0 CSS-based visibility; JS is a single 722-line file mixing i18n, CV logic, and shared utilities; legal pages duplicate topbar/footer across 6 files; `style.css` is dead (unreferenced); `myai.css` lacks structure comments. ## Scope - Remove Bootstrap CSS (232 KB) + JS (39 KB); add 4 replacement rules to `myai.css` - Delete dead `style.css` (784 lines) - `myai.css`: section comments, merge duplicate @media blocks, remove dead `.ai-mark`, move inline hidden-state to CSS - HTML: remove 7 `style="display:none;"` attrs; remove orphan `footer-legal` class; update script tags - Split `main.js` into `i18n.js` + `cv-matcher.js` + slim `main.js` (~350 lines) - Add JSDoc + section comments; add `runWithCaptcha`, `setFormBusy`, `setFormIdle` helpers - `legal.js`: inject topbar + language-aware footer; strip duplication from all 6 legal pages - Includes jQuery 4.0.0 upgrade ## Success criteria - `dotnet build myAi.sln` passes - All pages and forms work identically - Bootstrap files gone from wwwroot - `main.js` ≤ 350 lines - Legal pages render topbar/footer from `legal.js` ## Time tracking Started: 2026-05-28 10:10
gelu closed this issue 2026-05-28 10:39:58 +00:00
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: AI/myAi#31