Artemis-RGB / Artemis

Provides advanced unified lighting across many different brands RGB peripherals
https://artemis-rgb.com
Other
931 stars 67 forks source link

UI - Added routing #802

Closed RobertBeekman closed 1 year ago

RobertBeekman commented 1 year ago

In preparation for the workshop I wrote a router for the UI.

The main features are

The fact that it uses URLs is so that in the future users can link to a profile directly using an URI like artemis://workshop/profile/{guid}. Artemis can associate to that protocol and bob's your uncle.

The URL isn't meant to be entered manually like in a browser, although you can currently use the test Workshop to do so for debugging.

I've updated the existing VMs to use the new routing, the settings tabs are each their own route. The releases tab even supporting deep linking to a specific release, this is used by the release notifications. The profile editor also uses the router to navigate between profiles.

I moved to using FluentAvalonia's frame which supports some nice animations. This did highlight some performance issues that I mostly addressed in this PR. The only remaining issue is the profile editor the first time it opens.