Gallery View: Added grouped tile logic for packages with multiple versions

Implemented grouping of gallery tiles by package with a cleaned base name and an overlay UI for selection among multiple versions. Added new rendering logic, sorting and interaction for grouped tiles, including badges, a scrollable overlay, favorite context-menu support and release-notes updates on hover. Refactored a bit of code in GalleryView.
This commit is contained in:
jp64k
2026-01-29 18:47:08 +01:00
parent f91ee27c35
commit 8bd7efc22e
2 changed files with 746 additions and 426 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -7055,6 +7055,7 @@ function onYouTubeIframeAPIReady() {
_fastGallery.TileDoubleClicked += FastGallery_TileDoubleClicked;
_fastGallery.TileDeleteClicked += FastGallery_TileDeleteClicked;
_fastGallery.SortChanged += FastGallery_SortChanged;
_fastGallery.TileHovered += FastGallery_TileHovered;
// Apply current shared sort state to gallery
_fastGallery.SetSortState(_sharedSortField, _sharedSortDirection);
@@ -7088,6 +7089,14 @@ function onYouTubeIframeAPIReady() {
SaveWindowState();
}
private void FastGallery_TileHovered(object sender, string releaseName)
{
if (string.IsNullOrEmpty(releaseName)) return;
string notePath = Path.Combine(SideloaderRCLONE.NotesFolder, $"{releaseName}.txt");
UpdateReleaseNotes(notePath);
}
private void GamesGalleryView_Resize(object sender, EventArgs e)
{
if (_fastGallery != null && !_fastGallery.IsDisposed)