Skip to content

Update Bootswatch to 3.4.1 (latest Bootstrap 3 line) - #208

Draft
benkaiser with Copilot wants to merge 5 commits into
masterfrom
copilot/update-bootswatch-theme-selector
Draft

Update Bootswatch to 3.4.1 (latest Bootstrap 3 line)#208
benkaiser with Copilot wants to merge 5 commits into
masterfrom
copilot/update-bootswatch-theme-selector

Conversation

Copilot AI commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Resolves #207 — bumps Bootswatch from 3.3.7 to the newest release compatible with the app's Bootstrap 3 / react-bootstrap 0.32 stack, preserving the existing theme selector.

Changes

  • src/js/theme.js — runtime theme loader now targets https://cdn.jsdelivr.net/npm/bootswatch@3.4.1/${theme}/bootstrap.min.css (switched to jsDelivr; cdnjs only hosts up to 3.3.7).
  • views/index.pug — initial <link id='theme'> uses the 3.4.1 jsDelivr URL.
  • src/js/serviceworker.js — offline third-party cache matcher updated to //cdn.jsdelivr.net/npm/bootswatch@3.4.1/ so themes stay cached.

The theme selector is unchanged: all 16 themes exist identically in 3.4.1, so Theme.themes(), per-theme app colors, and navbar overrides remain valid.

Scope note

The absolute latest Bootswatch (5.3.x) targets Bootstrap 5. Adopting it is not a version bump — it requires migrating react-bootstrap 0.32 → 2.x (bsStylevariant, rewritten Modal/Navbar/Panel APIs across ~31 components) and reworking BS3 grid/utility markup throughout the SPA and Pug templates. That's a separate, large migration; this PR intentionally lands the newest release that keeps the current stack intact while picking up Bootstrap 3.4.1's XSS fixes.

privacy_policy.html (standalone, pinned to Bootswatch 4.2.1) is left untouched as it's independent of the app's theming.

Copilot AI changed the title [WIP] Update Bootswatch to latest version including theme selector Update Bootswatch to 3.4.1 (latest Bootstrap 3 line) Jul 1, 2026
Copilot AI requested a review from benkaiser July 1, 2026 23:37
@benkaiser

Copy link
Copy Markdown
Owner

No, I mean update it ALL to bootstrap 5!! @copilot

Copilot AI commented Jul 2, 2026

Copy link
Copy Markdown
Contributor Author

No, I mean update it ALL to bootstrap 5!! @copilot

Done — the app is now on Bootstrap 5 (dbbe563). I bumped react-bootstrap 0.32 → 2.10.10, moved theming to Bootswatch 5.3.3 (keeping the theme selector with the 25 BS5 themes), and migrated all ~30 react-bootstrap components to the 2.x API (bsStyle→variant, Panel→Card, MenuItem→Dropdown.Item, NavItem→Nav.Link, Label→Badge, Glyphicon→FontAwesome, Media→flex, Navbar 2.x, Modal-based bootbox) plus the corresponding BS3→BS5 CSS class updates. bootstrap.native is removed and yarn.lock was regenerated for the new tree. Webpack build and yarn --frozen-lockfile both pass.

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.

Update Bootswatch to latest version including the theme selector like we have currently

2 participants