feat: upgrade Angular 19→21, extract inline templates, add charcoal/amber theme, restructure home page#85
Draft
Copilot wants to merge 58 commits into
Draft
feat: upgrade Angular 19→21, extract inline templates, add charcoal/amber theme, restructure home page#85Copilot wants to merge 58 commits into
Copilot wants to merge 58 commits into
Conversation
- Replace Spring Boot parent POM with Quarkus BOM 3.19.1 - Add Quarkus extensions: arc, rest, rest-jackson, scheduler, cache, websockets-next, smallrye-health, vertx, quinoa 2.3.10 - Remove Spring Boot, JavaFX, Jetty WebSocket, OBS client dependencies - Rewrite application.properties with Quarkus configuration - Replace Main.java: remove @SpringBootApplication, implement QuarkusApplication with @QuarkusMain - Delete MainFX.java (JavaFX entry point no longer needed) - Add AppEvents.java: static CDI event accessor for non-CDI contexts - Add ShowMainEvent.java: record replacing HomePage.ShowMainEvent - Update FileChecker.java: replace MainFX/Spring event publishing with AppEvents.fire(new ShowMainEvent()) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: nvdweem <830783+nvdweem@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: nvdweem <830783+nvdweem@users.noreply.github.com>
- Delete JavaFX UI files (ui/, wavelink/ui/, PCPanelMiniUI, PCPanelProUI, PCPanelRGBUI) - Replace Spring @conditional annotations with CDI @qualifier annotations - Create PlatformProducer for CDI-based OS-conditional bean selection - Create ITrayService interface; TrayServiceAwt/Wayland implement it - Replace @Service/@component with @ApplicationScoped - Replace @Autowired with @Inject; fix @requiredargsconstructor for CDI - Replace ApplicationEventPublisher with CDI Event<Object> - Replace @eventlistener with @observes parameter pattern - Replace @value with @ConfigProperty - Replace @scheduled with Quarkus @scheduled - Replace @Cacheable/@CacheEvict with Quarkus cache annotations - Rewrite VersionChecker to use java.net.http.HttpClient - Stub OBS integration (javax/jakarta conflict) - Create stub device implementations (PCPanelRGBDevice, Mini, Pro) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: nvdweem <830783+nvdweem@users.noreply.github.com>
…ffolding Agent-Logs-Url: https://github.com/nvdweem/PCPanel/sessions/df13e8c6-7886-42bb-8aea-b13ac65d97e3 Co-authored-by: nvdweem <830783+nvdweem@users.noreply.github.com>
…layPosition, accessor changes Agent-Logs-Url: https://github.com/nvdweem/PCPanel/sessions/4547ee3a-bdc7-4f95-b883-542b1b369516 Co-authored-by: nvdweem <830783+nvdweem@users.noreply.github.com>
…x IconService, Log4j2 dep Agent-Logs-Url: https://github.com/nvdweem/PCPanel/sessions/6541f8c6-f13c-4843-aba4-7b7384af8e2b Co-authored-by: nvdweem <830783+nvdweem@users.noreply.github.com>
…from BOM Agent-Logs-Url: https://github.com/nvdweem/PCPanel/sessions/745c8bc7-c721-4d3a-b19d-d1a9ff8708f5 Co-authored-by: nvdweem <830783+nvdweem@users.noreply.github.com>
…hods, Java 17 compat Agent-Logs-Url: https://github.com/nvdweem/PCPanel/sessions/745c8bc7-c721-4d3a-b19d-d1a9ff8708f5 Co-authored-by: nvdweem <830783+nvdweem@users.noreply.github.com>
…rn, getBrightness→brightness() Agent-Logs-Url: https://github.com/nvdweem/PCPanel/sessions/17386653-b863-4b2b-ab17-6ed9cfd944a7 Co-authored-by: nvdweem <830783+nvdweem@users.noreply.github.com>
Agent-Logs-Url: https://github.com/nvdweem/PCPanel/sessions/0e5ae93e-8c2a-4765-a63d-890f6529251e Co-authored-by: nvdweem <830783+nvdweem@users.noreply.github.com>
Agent-Logs-Url: https://github.com/nvdweem/PCPanel/sessions/24f2933c-4ef4-4652-8001-2ebad82b8b6f Co-authored-by: nvdweem <830783+nvdweem@users.noreply.github.com>
…SRF vulnerabilities Agent-Logs-Url: https://github.com/nvdweem/PCPanel/sessions/24f2933c-4ef4-4652-8001-2ebad82b8b6f Co-authored-by: nvdweem <830783+nvdweem@users.noreply.github.com>
…remaining work) Agent-Logs-Url: https://github.com/nvdweem/PCPanel/sessions/bff466cc-bc07-4fcc-916d-4374ac7754dd Co-authored-by: nvdweem <830783+nvdweem@users.noreply.github.com>
…d Quinoa to make them compile on Windows (still not running)
… Device hierarchy Agent-Logs-Url: https://github.com/nvdweem/PCPanel/sessions/92f3a44b-38b3-46f0-add8-47c7078402bc Co-authored-by: nvdweem <830783+nvdweem@users.noreply.github.com>
…icons) Agent-Logs-Url: https://github.com/nvdweem/PCPanel/sessions/460d7e8f-9505-4ff7-ae21-ebb42b527ad4 Co-authored-by: nvdweem <830783+nvdweem@users.noreply.github.com>
…EditorComponent, ProcessService Agent-Logs-Url: https://github.com/nvdweem/PCPanel/sessions/563402e3-eb30-4191-905c-9433a15b2d70 Co-authored-by: nvdweem <830783+nvdweem@users.noreply.github.com>
…ainted-cast issues Agent-Logs-Url: https://github.com/nvdweem/PCPanel/sessions/6bfd189a-c4a3-4f11-82fd-3f8165ebb011 Co-authored-by: nvdweem <830783+nvdweem@users.noreply.github.com>
… documented Agent-Logs-Url: https://github.com/nvdweem/PCPanel/sessions/4ba29c6b-a510-4bbc-83db-6e06375d2483 Co-authored-by: nvdweem <830783+nvdweem@users.noreply.github.com>
Agent-Logs-Url: https://github.com/nvdweem/PCPanel/sessions/02061bb3-02da-43bf-a74b-140b46ba6264 Co-authored-by: nvdweem <830783+nvdweem@users.noreply.github.com>
Agent-Logs-Url: https://github.com/nvdweem/PCPanel/sessions/80e06ea0-6c64-408c-a8c9-dcc849c4f42a Co-authored-by: nvdweem <830783+nvdweem@users.noreply.github.com>
…mber theme, restructure home page - Upgrade all Angular packages from 19 to 21 (core/router/etc to 21.2.7, material/cli/build to 21.2.5/6, TypeScript to 5.9.2, zone.js to 0.15) - Move inline templates to separate .html files for all components (app, device, lighting, settings, home, audio-picker, command-config, dial-params-editor) - Convert *ngIf/*ngFor structural directives to new Angular control flow (@if/@for) - Remove CommonModule from all standalone components (not needed with new control flow) - Update color scheme from blue (#e94560/#0f3460) to charcoal/amber (#ffc940/#25262a) - Restructure home page with JavaFX-inspired sidebar + main layout - Add device visual representation (knobs, sliders) on home page - Add command config editing directly from home page - Extract inline styles to .scss files Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: nvdweem <830783+nvdweem@users.noreply.github.com>
…CSS written) Agent-Logs-Url: https://github.com/nvdweem/PCPanel/sessions/052bb40c-7f94-4567-86b4-7207c046b0d4 Co-authored-by: nvdweem <830783+nvdweem@users.noreply.github.com>
Copilot created this pull request from a session on behalf of
nvdweem
April 3, 2026 21:58
View session
…passing Agent-Logs-Url: https://github.com/nvdweem/PCPanel/sessions/a23493cc-a0dc-44cf-8a49-5dcb233dda9c Co-authored-by: nvdweem <830783+nvdweem@users.noreply.github.com>
added 8 commits
April 6, 2026 12:48
4e48444 to
04662f8
Compare
added 14 commits
April 25, 2026 15:00
89b23fa to
5e5063c
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
action_required— exe size not yet available (noted in CONTEXT.md)provideZoneChangeDetection→provideZonelessChangeDetection(Angular 18+ stable)zone.jsfrom app polyfills (keptzone.js/testingfor tests)@Input/@Output→input()/output()signals; removed NgFor/NgIf imports*ngIf→@if,*ngFor→@for ... trackAudioPickerComponent:model()for two-wayvaluebinding,input()for other inputs,signal()for async stateHomeComponent: fully signal-based state (signal(),computed(),inject());*ngIf/*ngFor→@if/@forSettingsComponent,LightingComponent,DeviceComponent: useinject()+ChangeDetectorRef.markForCheck()for zoneless compatibility with[(ngModel)]form patterns