WIP: Dioxus Bootstrap migration — hero_os (Phase 4 shell) #26
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "development_dioxus_bootstrap"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
DO NOT MERGE
Phase 4: OS shell migration to Dioxus WASM per lhumina_code/home#26
This provides the outer shell that will natively host all migrated service UIs.
Dioxus Bootstrap Migration — Full Component Conversion Complete
Summary
All 16 service UIs + 44 archipelago islands = 60 UI crates are now using
dioxus-bootstrap-csscomponents instead of raw Bootstrap HTML.Audit Results
Service UIs (14 repos, 77 files changed):
Archipelagos (53 files, 210 insertions, 260 deletions):
<a>link-buttons — library limitation)Shell Fixes (this repo)
.desktopbottom gap: 112px → 130px (prevents dock overlap)py-3top padding across all service UIsKnown Gap — dioxus-bootstrap-css
Buttoncomponent needshrefprop to render<a>for link-buttons (Bootstrap 5.3 pattern:<a class="btn btn-primary" href="...">).Branch:
development_dioxus_bootstrap_2Deployed and tested at https://herodevbootstrap.gent04.grid.tf
Status Update — 100% dioxus-bootstrap-css Components
Achieved
All 16 service UIs + 44 archipelago islands now use dioxus-bootstrap-css components exclusively:
div { class: "alert/btn/card/row/col/table/badge/spinner" }patterns remainingButton { href, target, download }(library 0.2.3)Alert { dismissible, on_dismiss }(library 0.2.4)Toast/ToastContainerfrom the library (0.2.5)small,py-2) instead of custom CSS — matching the Embedder gold standarddioxus-bootstrap-css improvements published
Button { href }— link-buttons render<a>Button { target, download }— complete anchor supportAlert { on_dismiss }— callback for external stateon_dismissRemaining: Custom CSS Cleanup
Audit found 10 of 16 service UIs have a copy-pasted "compact sizing" CSS block that globally overrides Bootstrap component font-sizes (
body,.form-control,.btn,.nav-tabs .nav-linkall set to0.85rem). This fights Bootstrap's own styling.The fix (proven with Auth): Replace custom CSS font-size overrides with Bootstrap utility classes (
small,btn-sm,form-control-sm) directly on dioxus-bootstrap-css component props. This is the pure dioxus-bootstrap approach.Priority: zinit (worst, 1070 lines reimplements Bootstrap), then hero_redis/embedder/indexer/aibroker/services/shrimp/inspector (shared pattern), then forge/books/osis/cloud/proxy.
Branches
development_dioxus_bootstrapdevelopment_dioxus_bootstrap_2Live at https://herodevbootstrap.gent04.grid.tf
Final Phase: Custom CSS Cleanup
Goal
Remove ALL custom CSS that reimplements Bootstrap. After this, every service UI uses only dioxus-bootstrap-css components + Bootstrap utility classes for Bootstrap-equivalent styling. Custom CSS remains only for genuinely app-specific patterns.
What gets removed (10 service UIs)
The compact sizing anti-pattern (copy-pasted in 10 files):
Replacement:
smallclass,btn-sm,form-control-sm,py-1 px-3on nav-links.Bootstrap component reimplementations:
.stats-card/.sidebar-card→Card { }with utility classesBadge { color }component propProgress/ProgressBarcomponents[data-bs-theme]overrides → Bootstrap handles this natively.card,.card-header,.form-control,.toast,.navbar!importantoverridesWhat legitimately stays
@keyframes, hover lifts)Approach
Same pattern proven with Auth: replace CSS rules with Bootstrap utility classes directly on dioxus-bootstrap-css component props.
Priority
Starting now.
Final Phase Complete: Pure dioxus-bootstrap-css
All custom CSS that reimplemented Bootstrap has been removed across all 16 service UIs. Every Bootstrap-equivalent style now comes from dioxus-bootstrap-css components + Bootstrap utility classes.
Changes
13 service UIs cleaned (hero_foundry was already clean, hero_voice/hero_auth already done):
small,btn-sm,form-control-sm,bg-body-tertiary,fw-semibold,text-secondary, etc.)What remains in CSS (all genuinely app-specific)
Status: COMPLETE
Deployed at https://herodevbootstrap.gent04.grid.tf
Branches:
development_dioxus_bootstrap(services),development_dioxus_bootstrap_2(hero_os, archipelagos)Pull request closed