Files
EbayListingTool/EbayListingTool/Models/SavedListing.cs
Peter Foster b3ef79e495 Add dyscalculia-friendly UI: card preview, verbal prices, relative dates
- NumberWords helper: decimal → "about seventeen pounds", DateTime → "3 days ago"
- PhotoAnalysisView: after analysis shows a card preview with large verbal price,
  photo dots, "Looks good ✓" to save instantly, "Change something ▼" to reveal
  a price slider (snaps to 50p, updates verbally as you drag) and title bar
- Card preview updates when live eBay price lookup completes
- SavedListingsView cards: verbal price as primary, £x.xx small beneath,
  relative date ("yesterday", "3 days ago") instead of raw timestamp
- Detail panel also shows relative date

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-15 03:00:36 +01:00

29 lines
1.1 KiB
C#

using EbayListingTool.Helpers;
namespace EbayListingTool.Models;
public class SavedListing
{
public string Id { get; set; } = Guid.NewGuid().ToString();
public DateTime SavedAt { get; set; } = DateTime.UtcNow; // Q4: store UTC, display local
public string Title { get; set; } = "";
public string Description { get; set; } = "";
public decimal Price { get; set; }
public string Category { get; set; } = "";
public string ConditionNotes { get; set; } = "";
public string ExportFolder { get; set; } = "";
/// <summary>Absolute paths to photos inside ExportFolder.</summary>
public List<string> PhotoPaths { get; set; } = new();
public string FirstPhotoPath => PhotoPaths.Count > 0 ? PhotoPaths[0] : "";
public string PriceDisplay => Price > 0 ? $"£{Price:F2}" : "—";
public string PriceWords => NumberWords.ToVerbalPrice(Price);
public string SavedAtDisplay => SavedAt.ToLocalTime().ToString("d MMM yyyy, HH:mm");
public string SavedAtRelative => NumberWords.ToRelativeDate(SavedAt);
}