WIP: Dioxus Bootstrap migration — hero_services_ui #54

Draft
mik-tf wants to merge 26 commits from development_dioxus_bootstrap into development
Owner

Summary

Pure dioxus-bootstrap-css migration for hero_services_ui_wasm and hero_shrimp_ui_wasm.

Part of the full Hero OS migration tracked in hero_os #27 — see that issue for the complete plan, all PRs, merge strategy, and technical details.

This repo

  • Branch: development_dioxus_bootstrap
  • Crates: hero_services_ui_wasm, hero_shrimp_ui_wasm
  • All Bootstrap HTML converted to dioxus-bootstrap-css components
  • Custom CSS cleaned (compact sizing anti-pattern removed, utility classes used instead)
  • Toast converted to library Toast/ToastContainer

DO NOT MERGE to development — see merge plan in hero_os #27.

## Summary Pure dioxus-bootstrap-css migration for hero_services_ui_wasm and hero_shrimp_ui_wasm. Part of the full Hero OS migration tracked in **[hero_os #27](https://forge.ourworld.tf/lhumina_code/hero_os/issues/27)** — see that issue for the complete plan, all PRs, merge strategy, and technical details. ### This repo - Branch: `development_dioxus_bootstrap` - Crates: hero_services_ui_wasm, hero_shrimp_ui_wasm - All Bootstrap HTML converted to dioxus-bootstrap-css components - Custom CSS cleaned (compact sizing anti-pattern removed, utility classes used instead) - Toast converted to library Toast/ToastContainer ### DO NOT MERGE to development — see merge plan in hero_os #27.
feat: add Dioxus WASM frontend for hero_services_ui (Phase 1)
Some checks failed
Build and Test / build (pull_request) Failing after 1m25s
4080fe4259
Migrate hero_services_ui from Askama/JS templates to Dioxus 0.7 WASM
using dioxus-bootstrap-css v0.1.6. Translates base.html, index.html,
and all partials (navbar, sidebar) plus dashboard.js (1034 lines) into
type-safe Rust RSX components with signal-driven interactivity — zero
JavaScript required.

New crate: hero_services_ui_wasm
- navbar, sidebar, services/repos/logs tabs, 5 modals, toast system
- JSON-RPC client calling /rpc proxy
- Polling via use_future (services 5s, profiles 10s, logs 2s)

Server changes: hero_services_ui
- --dist flag to serve WASM dist instead of Askama templates
- /assets/{*path} route for WASM bundle files
- askama made optional behind feature flag for backward compat

Tracking: lhumina_code/home#26
refactor: convert hero_services_ui_wasm to archipelago library crate
Some checks failed
Build and Test / build (pull_request) Failing after 1m29s
9779bfa789
- Change from [[bin]] to [lib] with cdylib+rlib crate types
- Split main.rs into lib.rs (module root) + app.rs (HeroServicesApp component)
- Accept IslandContext from hero_archipelagos_core as a prop
- Make rpc.rs configurable with rpc_with_base() for custom endpoints
- Add [package.metadata.island] for archipelago registry
- Add web/standalone feature flags
- Add standalone entry point behind #[cfg(feature = "standalone")]
- Keep Dioxus.toml for standalone builds
fix: add hero_archipelagos_core/web to web feature
Some checks failed
Build and Test / build (pull_request) Failing after 1m36s
0848554d98
Ensure hero_archipelagos_core web feature is activated when the crate's
web feature is enabled, so it works correctly as a git dependency.
fix: use single-segment route params for Axum 0.7 compat
Some checks failed
Build and Test / build (pull_request) Failing after 2m8s
d4bfcbf9e8
fix: RPC routing + conditional BootstrapHead for hero_os integration
Some checks failed
Build and Test / build (pull_request) Failing after 2m37s
d4f2aa4037
fix: build pipeline fixes for devbootstrap deployment
Some checks failed
Build and Test / build (pull_request) Failing after 2m35s
2a4e7f0d32
fix: synchronous RPC base init (before first render)
Some checks failed
Build and Test / build (pull_request) Failing after 2m26s
9771008631
feat: add hero_shrimp_ui_wasm — dioxus-bootstrap admin UI for Shrimp
Some checks failed
Build and Test / build (pull_request) Failing after 1m32s
2a323664dc
Add message input with model selector to Shrimp messages tab
Some checks failed
Build and Test / build (pull_request) Failing after 1m30s
37f0d004f3
Match the herodev2 reference UI: add a textarea for sending messages
to HeroShrimp, a model selector dropdown (claude-sonnet/haiku/opus),
and a Send button. Also add admin channel filter option. Messages are
posted to /api/message and the list is refreshed after sending.
chore: bump dioxus-bootstrap-css to 0.1.7
Some checks failed
Build and Test / build (pull_request) Failing after 2m55s
c5c70ad83c
refactor: pure dioxus-bootstrap-css 0.1.8 — TabList, Card header_class
Some checks failed
Build and Test / build (pull_request) Has been cancelled
2f8a983545
chore: bump dioxus-bootstrap-css to 0.1.8
Some checks failed
Build and Test / build (pull_request) Failing after 1m51s
41efb16a74
Convert raw HTML div/table/button elements to proper dioxus-bootstrap-css
components (Card, Table, Button, Row, Col) for pixel-perfect Bootstrap 5.3.
refactor: convert raw button elements to Button component
Some checks failed
Build and Test / build (pull_request) Failing after 56s
451a798021
Convert remaining button { class: "btn..." } to Button { color, outline, size }
using dioxus-bootstrap-css components.
chore: bump dioxus-bootstrap-css to 0.1.9
Some checks failed
Build and Test / build (pull_request) Failing after 56s
37c0fcb1d5
fix: use raw button for dropdown toggle (data-bs-toggle)
Some checks failed
Build and Test / build (pull_request) Failing after 1m44s
7132bb8d1d
chore: bump dioxus-bootstrap-css to 0.2.0 (extends GlobalAttributes)
Some checks failed
Build and Test / build (pull_request) Failing after 2m57s
971d08f508
chore: bump dioxus-bootstrap-css to 0.2.1
Some checks failed
Build and Test / build (pull_request) Failing after 1m35s
26ae075036
fix: pixel-perfect sidebar matching Askama template
Some checks failed
Build and Test / build (pull_request) Has been cancelled
77506f5197
- Add header_class/body_class with py-2 matching Askama
- Remove extra wrapper divs from card headers
- Use header_class for d-flex layout instead of inner div
- Use native HTML buttons for refresh matching Askama
fix: pixel-perfect shrimp sidebar matching aibroker pattern
Some checks failed
Build and Test / build (pull_request) Failing after 1m44s
4c0d5e1b66
- Use sidebar-card p-2 layout matching aibroker sidebar
- Use h6 headings with text-muted instead of Card header/body
- Use label/value CSS classes for stat-row
refactor: convert raw Bootstrap HTML to dioxus-bootstrap-css components
Some checks failed
Build and Test / build (pull_request) Failing after 1m58s
c07856d049
fix: increase shrimp container top padding for consistent spacing in hero_os window
Some checks failed
Build and Test / build (pull_request) Failing after 1m37s
cb12c29260
refactor: convert toast to dioxus-bootstrap-css Toast/ToastContainer (0.2.5)
Some checks failed
Build and Test / build (pull_request) Failing after 1m38s
a8f3faf392
refactor: remove Bootstrap-overriding CSS, use pure dioxus-bootstrap utility classes
Some checks failed
Build and Test / build (pull_request) Failing after 1m46s
475993fc5c
Some checks failed
Build and Test / build (pull_request) Failing after 1m46s
This pull request has changes conflicting with the target branch.
  • Makefile
  • deploy/single-vm/Makefile
  • docker/build-local.sh
  • docker/build-wasm.sh
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin development_dioxus_bootstrap:development_dioxus_bootstrap
git switch development_dioxus_bootstrap

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch development
git merge --no-ff development_dioxus_bootstrap
git switch development_dioxus_bootstrap
git rebase development
git switch development
git merge --ff-only development_dioxus_bootstrap
git switch development_dioxus_bootstrap
git rebase development
git switch development
git merge --no-ff development_dioxus_bootstrap
git switch development
git merge --squash development_dioxus_bootstrap
git switch development
git merge --ff-only development_dioxus_bootstrap
git switch development
git merge development_dioxus_bootstrap
git push origin development
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
lhumina_code/hero_services!54
No description provided.