Implement functional Fazor-based RTXLauncher with Core service integration and mod browser#13
Conversation
Co-authored-by: Xenthio <28588188+Xenthio@users.noreply.github.com>
Co-authored-by: Xenthio <28588188+Xenthio@users.noreply.github.com>
Co-authored-by: Xenthio <28588188+Xenthio@users.noreply.github.com>
Updated all usages of the <groupbox> component to use the 'title' property instead of 'text' for consistency. Improved MainWindow layout by replacing the logo <img> with a styled div, adjusted progress area structure, and updated related SCSS for better alignment and appearance. Added min-height to text entries for improved UI consistency.
Replaces the div-based logo with an img tag in MainWindow.razor for better image handling. Updates the logo styling to use max-width and removes background-image CSS. Adds $theme-foreground variable to SimpleDarkTheme.scss and corrects the import path in MainWindow.razor.scss.
Removed SimpleTheme.scss and consolidated styling into SimpleDarkTheme.scss. Updated MainWindow to use the new theme file and added 'simple-border' class for content area. Adjusted SCSS variables and selectors for improved consistency and appearance, and replaced theme variable usage with hardcoded colors in MainWindow.razor.scss for better maintainability.
|
@copilot okay I made some changes of my own. Ok first off, I want you to swap out @bind-value with an alternative, since Fazor doesn't support it. |
Co-authored-by: Xenthio <28588188+Xenthio@users.noreply.github.com>
Done! Replaced all Commit: 3e7308d |
|
@copilot Is there anything more you want to port from avalonia? I think there's still more to be done. |
Yes, there are several features from Avalonia that could be ported: Missing Views:
Incomplete Features:
I'll start implementing the most impactful features. Would you like me to focus on any specific one, or should I prioritize the mod browser integration first? |
|
@copilot just do them in whatever order you'd like.👍 |
Co-authored-by: Xenthio <28588188+Xenthio@users.noreply.github.com>
Implemented mod browser with real ModDB integration! Added:
Commit: f3a4dd1 Still to implement:
Working on the Advanced Install features next. |
|
@copilot [WARNING] Error when building render tree on RTXLauncher.Fazor.SettingsPage - Unable to cast object of type 'Fazor.Controls.CheckBox' to type 'System.Boolean'.: System.InvalidCastException: Unable to cast object of type 'Fazor.Controls.CheckBox' to type 'System.Boolean'. |
Co-authored-by: Xenthio <28588188+Xenthio@users.noreply.github.com>
Fixed! The issue was that Fazor's Pattern changed from: <check value="@value" @onchange="@((bool v) => { value = v; StateHasChanged(); })">To: <check value="@value" @onchange="OnValueChanged">Where the handler method reads the bound field directly and calls Commit: 427c060 |
|
@copilot I'm not seeing values be set to their defaults, |
I see the issue - when I removed Could you clarify how Fazor expects two-way binding to work? Should I:
I want to make sure I use the correct Fazor pattern for updating values when controls change. |
|
@copilot OK clone fazor repo, and look at docs/VALUE_BINDING.md |
Co-authored-by: Xenthio <28588188+Xenthio@users.noreply.github.com>
Fixed! Read the Fazor VALUE_BINDING.md documentation and implemented the correct Pattern 2 (Parameter Callback): Changed from:
To:
Event handlers now receive the new values as parameters and properly update the bound variables, enabling true two-way binding. Commit: 0d165d1 |
Use correct Fazor value binding pattern
Implemented proper two-way data binding using Fazor's recommended Pattern 2 (Parameter Callback) as documented in Fazor's VALUE_BINDING.md.
Changes Made:
Pattern Used (following Fazor documentation):
Event Handlers Now Receive Values:
Files Updated:
@onchangetoValueChanged/OnTextEditedfor all controlsWhat This Fixes:
Build Status: ✅ Success
Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.