using Microsoft.AspNetCore.Components.Forms; namespace DeepDrftManager.Components.Pages.Tracks; /// /// A single track row shared by BatchUpload (all rows are new uploads) and /// BatchEdit (existing rows carry ; admins may also add new upload rows). /// public class BatchRowModel { /// SQL id of an existing track. null means a new row to upload. public long? Id { get; set; } /// Vault entry key — existing rows only. public string? EntryKey { get; set; } /// Original upload filename — existing rows only, read-only display. public string? OriginalFileName { get; set; } /// Selected WAV — new rows only. public IBrowserFile? WavFile { get; set; } public string TrackName { get; set; } = string.Empty; public int TrackNumber { get; set; } public BatchRowStatus Status { get; set; } = BatchRowStatus.Queued; public string? ErrorMessage { get; set; } } public enum BatchRowStatus { Queued, Uploading, Done, Failed }