Commit e09dfcf
feat(gui): migrate from iced 0.14.0 to Dioxus 0.7.3 + Axum
Complete GUI framework migration (Phases 0-4):
Phase 0: Reset dioxus branch to main (v0.4.2 baseline)
Phase 1: Replace iced with dioxus 0.7.3 + axum 0.8 in workspace deps
- Remove iced, iced_glyphon vendor patch
- Add dioxus with fullstack, desktop, server, web feature flags
- Add Dioxus.toml configuration
- Bump MSRV to 1.80.0 for Dioxus compatibility
Phase 2: Core-to-Dioxus state bridge
- Signal<AppState> context provider architecture
- use_coroutine EventBus listener (hooks/use_irc.rs)
- IrcActions (Copy) for direct core method calls
- Theme hook with FromStr trait for 22 themes
Phase 3: Dioxus RSX component rebuild
- 3-pane layout (server tree, messages, user list) via CSS flexbox
- TabBar, StatusBar, MenuBar, ServerTree, UserList
- MessageView with IRC formatting -> styled HTML spans
- InputArea with history, command parsing, tab completion
- Connect, Preferences, About dialogs
- Context menu component
Phase 4: CSS theme system
- 22 themes as CSS custom properties ([data-theme] selectors)
- IRC mIRC color codes 0-15 as CSS classes
- Tailwind CSS utility classes throughout components
All 234 workspace tests passing, zero clippy warnings, zero fmt issues.
Removed: iced, iced_glyphon vendor, Material Design 3 iced components
Kept: ratatui TUI, CLI mode, all non-GUI crates unchanged
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>1 parent 70cbafd commit e09dfcf
96 files changed
Lines changed: 5903 additions & 24463 deletions
File tree
- assets
- themes
- crates/rustirc-gui
- src
- components
- atoms
- canvas
- dialogs
- molecules
- organisms
- hooks
- themes
- widgets
- src
- vendor/iced_glyphon
- .github
- workflows
- examples
- src
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
49 | 49 | | |
50 | 50 | | |
51 | 51 | | |
52 | | - | |
53 | | - | |
| 52 | + | |
| 53 | + | |
54 | 54 | | |
55 | 55 | | |
56 | 56 | | |
| |||
71 | 71 | | |
72 | 72 | | |
73 | 73 | | |
74 | | - | |
| 74 | + | |
75 | 75 | | |
76 | 76 | | |
77 | 77 | | |
| |||
114 | 114 | | |
115 | 115 | | |
116 | 116 | | |
117 | | - | |
118 | | - | |
119 | | - | |
120 | | - | |
121 | | - | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
0 commit comments