From 4dba791ab95887f4e0d0ced86d47ebe13c108f4b Mon Sep 17 00:00:00 2001 From: patchzyy <64382339+patchzyy@users.noreply.github.com> Date: Sun, 27 Sep 2026 16:40:27 +0200 Subject: [PATCH] View on rwfc --- WheelWizard/Views/Pages/FriendsPage.axaml | 1 + WheelWizard/Views/Pages/FriendsPage.axaml.cs | 6 ++++++ WheelWizard/Views/Pages/LeaderboardPage.axaml | 8 ++++++++ WheelWizard/Views/Pages/LeaderboardPage.axaml.cs | 6 ++++++ WheelWizard/Views/Pages/RoomDetailsPage.axaml | 1 + WheelWizard/Views/Pages/RoomDetailsPage.axaml.cs | 6 ++++++ WheelWizard/Views/ViewUtils.cs | 9 +++++++++ 7 files changed, 37 insertions(+) diff --git a/WheelWizard/Views/Pages/FriendsPage.axaml b/WheelWizard/Views/Pages/FriendsPage.axaml index 216bc025c..cf0910bd4 100644 --- a/WheelWizard/Views/Pages/FriendsPage.axaml +++ b/WheelWizard/Views/Pages/FriendsPage.axaml @@ -91,6 +91,7 @@ + diff --git a/WheelWizard/Views/Pages/FriendsPage.axaml.cs b/WheelWizard/Views/Pages/FriendsPage.axaml.cs index d0546e068..d1097a77d 100644 --- a/WheelWizard/Views/Pages/FriendsPage.axaml.cs +++ b/WheelWizard/Views/Pages/FriendsPage.axaml.cs @@ -340,6 +340,12 @@ private void ViewProfile_OnClick(object sender, RoutedEventArgs e) Popups.Create(selectedPlayer.FriendCode).Show(); } + private void ViewOnRwfc_OnClick(object sender, RoutedEventArgs e) + { + if (FriendsListView.SelectedItem is FriendProfile selectedPlayer) + ViewUtils.OpenRwfcPlayer(selectedPlayer.FriendCode); + } + private void RemoveFriend_OnClick(object sender, RoutedEventArgs e) { if (FriendsListView.SelectedItem is not FriendProfile selectedPlayer) diff --git a/WheelWizard/Views/Pages/LeaderboardPage.axaml b/WheelWizard/Views/Pages/LeaderboardPage.axaml index 0dc200d75..3f479fa05 100644 --- a/WheelWizard/Views/Pages/LeaderboardPage.axaml +++ b/WheelWizard/Views/Pages/LeaderboardPage.axaml @@ -198,6 +198,8 @@ + @@ -227,6 +229,8 @@ + @@ -255,6 +259,8 @@ + @@ -287,6 +293,8 @@ + diff --git a/WheelWizard/Views/Pages/LeaderboardPage.axaml.cs b/WheelWizard/Views/Pages/LeaderboardPage.axaml.cs index 4d6977a9c..280478829 100644 --- a/WheelWizard/Views/Pages/LeaderboardPage.axaml.cs +++ b/WheelWizard/Views/Pages/LeaderboardPage.axaml.cs @@ -463,6 +463,12 @@ private void ViewProfile_OnClick(object sender, RoutedEventArgs e) Popups.Create(player.FriendCode).Show(); } + private void ViewOnRwfc_OnClick(object sender, RoutedEventArgs e) + { + if (GetContextPlayer(sender) is { } player) + ViewUtils.OpenRwfcPlayer(player.FriendCode); + } + private async void AddFriend_OnClick(object sender, RoutedEventArgs e) { var player = GetContextPlayer(sender); diff --git a/WheelWizard/Views/Pages/RoomDetailsPage.axaml b/WheelWizard/Views/Pages/RoomDetailsPage.axaml index c580a9c5f..51e84e79a 100644 --- a/WheelWizard/Views/Pages/RoomDetailsPage.axaml +++ b/WheelWizard/Views/Pages/RoomDetailsPage.axaml @@ -106,6 +106,7 @@ + diff --git a/WheelWizard/Views/Pages/RoomDetailsPage.axaml.cs b/WheelWizard/Views/Pages/RoomDetailsPage.axaml.cs index 3573fca8d..98ddee158 100644 --- a/WheelWizard/Views/Pages/RoomDetailsPage.axaml.cs +++ b/WheelWizard/Views/Pages/RoomDetailsPage.axaml.cs @@ -141,6 +141,12 @@ private void ViewProfile_OnClick(object sender, RoutedEventArgs e) Popups.Create(selectedPlayer.FriendCode).Show(); } + private void ViewOnRwfc_OnClick(object sender, RoutedEventArgs e) + { + if (PlayersListView.SelectedItem is RrPlayer selectedPlayer) + ViewUtils.OpenRwfcPlayer(selectedPlayer.FriendCode); + } + private async void AddFriend_OnClick(object sender, RoutedEventArgs e) { if (PlayersListView.SelectedItem is not RrPlayer selectedPlayer) diff --git a/WheelWizard/Views/ViewUtils.cs b/WheelWizard/Views/ViewUtils.cs index 8ec0675db..675666da3 100644 --- a/WheelWizard/Views/ViewUtils.cs +++ b/WheelWizard/Views/ViewUtils.cs @@ -26,6 +26,15 @@ public static void OpenLink(string link) ShowSnackbar("Opened link"); } + public static void OpenRwfcPlayer(string? friendCode) + { + var digits = new string((friendCode ?? string.Empty).Where(char.IsAsciiDigit).ToArray()); + if (digits.Length != 12) + return; + + OpenLink($"https://rwfc.net/player/{digits[..4]}-{digits[4..8]}-{digits[8..]}"); + } + public static void ShowSnackbar(string message, SnackbarType type = SnackbarType.Success) => GetLayout().ShowSnackbar(message, type); public static Layout GetLayout() =>