diff --git a/EbayListingTool/Views/SavedListingsView.xaml b/EbayListingTool/Views/SavedListingsView.xaml
index c286413..bdd50ca 100644
--- a/EbayListingTool/Views/SavedListingsView.xaml
+++ b/EbayListingTool/Views/SavedListingsView.xaml
@@ -305,6 +305,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/EbayListingTool/Views/SavedListingsView.xaml.cs b/EbayListingTool/Views/SavedListingsView.xaml.cs
index a9240fa..d753eca 100644
--- a/EbayListingTool/Views/SavedListingsView.xaml.cs
+++ b/EbayListingTool/Views/SavedListingsView.xaml.cs
@@ -1,3 +1,4 @@
+using System.Linq;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
@@ -16,6 +17,8 @@ public partial class SavedListingsView : UserControl
private PriceLookupService? _priceLookup;
private SavedListing? _selected;
+ public event Action? RelistRequested;
+
// Edit mode working state
private List _editPhotoPaths = new();
private List _pendingDeletes = new();
@@ -286,6 +289,42 @@ public partial class SavedListingsView : UserControl
DetailConditionRow.Visibility = Visibility.Collapsed;
}
+ // Postage + shipping
+ if (listing.Postage == PostageOption.FreePostage)
+ {
+ DetailPostage.Text = "Postage: Free";
+ DetailPostage.Visibility = Visibility.Visible;
+ }
+ else if (listing.Postage == PostageOption.CollectionOnly)
+ {
+ DetailPostage.Text = "Postage: Collection Only";
+ DetailPostage.Visibility = Visibility.Visible;
+ }
+ else if (listing.ShippingCost > 0)
+ {
+ var label = listing.Postage.ToString()
+ .Replace("RoyalMail", "Royal Mail ")
+ .Replace("Tracked", "Tracked ");
+ DetailPostage.Text = $"Postage: {label} — £{listing.ShippingCost:F2}";
+ DetailPostage.Visibility = Visibility.Visible;
+ }
+ else
+ {
+ DetailPostage.Visibility = Visibility.Collapsed;
+ }
+
+ // Aspects
+ if (listing.Aspects.Count > 0)
+ {
+ DetailAspectsText.Text = string.Join(" • ",
+ listing.Aspects.Select(kv => $"{kv.Key}: {kv.Value}"));
+ DetailAspectsPanel.Visibility = Visibility.Visible;
+ }
+ else
+ {
+ DetailAspectsPanel.Visibility = Visibility.Collapsed;
+ }
+
// Photos strip
DetailPhotosPanel.Children.Clear();
foreach (var path in listing.PhotoPaths)
@@ -339,6 +378,8 @@ public partial class SavedListingsView : UserControl
EmptyDetail.Visibility = Visibility.Visible;
DetailPanel.Visibility = Visibility.Collapsed;
DetailPanel.Opacity = 0;
+ DetailPostage.Visibility = Visibility.Collapsed;
+ DetailAspectsPanel.Visibility = Visibility.Collapsed;
}
private static void OpenImage(string path)
@@ -762,4 +803,9 @@ public partial class SavedListingsView : UserControl
ClearDetail();
RefreshList();
}
+
+ private void RelistBtn_Click(object sender, RoutedEventArgs e)
+ {
+ // TODO: implement in Task 5
+ }
}