diff --git a/Marechai.App/Presentation/ViewModels/Admin/WwpcImportModels.cs b/Marechai.App/Presentation/ViewModels/Admin/WwpcImportModels.cs
index 1bb83e5b..329f3145 100644
--- a/Marechai.App/Presentation/ViewModels/Admin/WwpcImportModels.cs
+++ b/Marechai.App/Presentation/ViewModels/Admin/WwpcImportModels.cs
@@ -79,10 +79,24 @@ public sealed partial class WwpcScreenshotDecisionItem : ObservableObject
public string ImageUrl { get; init; } = string.Empty;
public string OriginalCaption { get; init; } = string.Empty;
+ public string ThumbnailUrl => AbsoluteWwpcUrl(ImageUrl);
+ public string SourcePageUrl => AbsoluteWwpcUrl(SourceUrl);
+ public bool HasThumbnail => !string.IsNullOrWhiteSpace(ThumbnailUrl);
+
[ObservableProperty] private bool _include;
[ObservableProperty] private string _captionOverride = string.Empty;
[ObservableProperty] private SoftwarePlatformDto? _platform;
[ObservableProperty] private WwpcVersionDecisionItem? _linkedVersion;
+
+ private static string AbsoluteWwpcUrl(string? url)
+ {
+ if(string.IsNullOrWhiteSpace(url)) return string.Empty;
+ if(url.StartsWith("http://", StringComparison.OrdinalIgnoreCase) ||
+ url.StartsWith("https://", StringComparison.OrdinalIgnoreCase))
+ return url;
+
+ return "https://winworldpc.com" + (url.StartsWith('/') ? url : "/" + url);
+ }
}
public sealed partial class WwpcGenreChipItem : ObservableObject
diff --git a/Marechai.App/Presentation/Views/Admin/AdminWwpcImportReviewPage.xaml b/Marechai.App/Presentation/Views/Admin/AdminWwpcImportReviewPage.xaml
index f6bece49..18dfa5e8 100644
--- a/Marechai.App/Presentation/Views/Admin/AdminWwpcImportReviewPage.xaml
+++ b/Marechai.App/Presentation/Views/Admin/AdminWwpcImportReviewPage.xaml
@@ -419,6 +419,30 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Marechai.App/Presentation/Views/Admin/AdminWwpcImportReviewPage.xaml.cs b/Marechai.App/Presentation/Views/Admin/AdminWwpcImportReviewPage.xaml.cs
index 84b49560..8f11e55f 100644
--- a/Marechai.App/Presentation/Views/Admin/AdminWwpcImportReviewPage.xaml.cs
+++ b/Marechai.App/Presentation/Views/Admin/AdminWwpcImportReviewPage.xaml.cs
@@ -64,8 +64,8 @@ public sealed partial class AdminWwpcImportReviewPage : Page
private async void OpenScreenshotSource_Click(object sender, RoutedEventArgs e)
{
if((sender as HyperlinkButton)?.CommandParameter is not WwpcScreenshotDecisionItem item) return;
- if(string.IsNullOrWhiteSpace(item.ImageUrl)) return;
- if(Uri.TryCreate(item.ImageUrl, UriKind.Absolute, out Uri? uri))
+ if(string.IsNullOrWhiteSpace(item.SourcePageUrl)) return;
+ if(Uri.TryCreate(item.SourcePageUrl, UriKind.Absolute, out Uri? uri))
await Launcher.LaunchUriAsync(uri);
}
}