Compare commits
21
Commits
0d3bd52581
..
1.21
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4470c2cdb2 | ||
|
|
66081eead5 | ||
|
|
b8a5d81856 | ||
|
|
184ce1854e | ||
|
|
d8964da36f | ||
|
|
cf0d6ee62a | ||
|
|
029f5b5d8a | ||
|
|
3e1b2eb48c | ||
|
|
2d833d3a90 | ||
|
|
aa7b3f3d68 | ||
|
|
e24a0a3144 | ||
|
|
76fe6886f2 | ||
|
|
bbc724957a | ||
|
|
47418a60ad | ||
|
|
a5f397e388 | ||
|
|
ea77dfa4af | ||
|
|
a002323d69 | ||
|
|
519ef68ef8 | ||
|
|
98eefa89b4 | ||
|
|
3b632a5bc7 | ||
|
|
f19eaa75ae |
@@ -93,7 +93,6 @@
|
|||||||
<label class="console-field-label">Primary Cover</label>
|
<label class="console-field-label">Primary Cover</label>
|
||||||
<div class="book-cover-dropzone">
|
<div class="book-cover-dropzone">
|
||||||
<InputFile OnChange="HandleMainImageUpload" accept=".png,.jpg,.jpeg,.webp" class="hidden-file-input" id="main-image-file" />
|
<InputFile OnChange="HandleMainImageUpload" accept=".png,.jpg,.jpeg,.webp" class="hidden-file-input" id="main-image-file" />
|
||||||
<ValidationMessage For="@(() => ProductModel.ImageUrl)" style="color: #ff5722; font-size: 0.75rem;" />
|
|
||||||
|
|
||||||
@if (string.IsNullOrEmpty(ProductModel.ImageUrl))
|
@if (string.IsNullOrEmpty(ProductModel.ImageUrl))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
using LiteCharms.Features.S3.Abstractions;
|
using LiteCharms.Features.S3.Abstractions;
|
||||||
using LiteCharms.Features.Shop.Products.Models;
|
|
||||||
using static LiteCharms.Features.S3.Constants;
|
using static LiteCharms.Features.S3.Constants;
|
||||||
|
|
||||||
namespace ShopAdmin.Components;
|
namespace ShopAdmin.Components;
|
||||||
@@ -9,6 +8,7 @@ public partial class CreateProduct([FromKeyedServices(BookshopBucketName)] IS3Se
|
|||||||
private bool isCalendarOpen = false;
|
private bool isCalendarOpen = false;
|
||||||
private DateTime calendarViewingMonth = DateTime.Today;
|
private DateTime calendarViewingMonth = DateTime.Today;
|
||||||
private List<DateTime?> calendarDays = new();
|
private List<DateTime?> calendarDays = new();
|
||||||
|
private string currentCalendarMonthYearText => calendarViewingMonth.ToString("MMMM yyyy");
|
||||||
|
|
||||||
private readonly CancellationTokenSource cancellationTokenSource = new();
|
private readonly CancellationTokenSource cancellationTokenSource = new();
|
||||||
private CancellationToken cancellationToken;
|
private CancellationToken cancellationToken;
|
||||||
@@ -186,3 +186,36 @@ public partial class CreateProduct([FromKeyedServices(BookshopBucketName)] IS3Se
|
|||||||
StateHasChanged();
|
StateHasChanged();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public class CreateProductModel
|
||||||
|
{
|
||||||
|
[Required(ErrorMessage = "Product name is required.")]
|
||||||
|
public string? Name { get; set; }
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "Summary is required.")]
|
||||||
|
public string? Summary { get; set; }
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "Description is required.")]
|
||||||
|
public string? Description { get; set; }
|
||||||
|
|
||||||
|
[Range(0.01, double.MaxValue, ErrorMessage = "Price must be greater than zero.")]
|
||||||
|
public decimal Price { get; set; }
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "Author metadata is required.")]
|
||||||
|
public string? Author { get; set; }
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "Publication Date is required.")]
|
||||||
|
public DateTime PublishDate { get; set; } = DateTime.Today;
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "Copyright Information field is required.")]
|
||||||
|
public string? CopyrightInfo { get; set; }
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "ISBN code is required.")]
|
||||||
|
[RegularExpression(@"^(?=(?:\D*\d){10}(?:(?:\D*\d){3})?$)[\d-]+$", ErrorMessage = "Please enter a valid ISBN-10 or ISBN-13 string.")]
|
||||||
|
public string? Isbn { get; set; }
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "Primary image is required.")]
|
||||||
|
public string? ImageUrl { get; set; }
|
||||||
|
|
||||||
|
public List<string> Thumbnails { get; set; } = [];
|
||||||
|
}
|
||||||
@@ -16,7 +16,7 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="LiteCharms.Features" Version="1.41.0" />
|
<PackageReference Include="LiteCharms.Features" Version="1.40.0" />
|
||||||
<PackageReference Include="Microsoft.AspNetCore.Components.QuickGrid" Version="10.0.8" />
|
<PackageReference Include="Microsoft.AspNetCore.Components.QuickGrid" Version="10.0.8" />
|
||||||
<PackageReference Include="Polly" Version="8.6.6" />
|
<PackageReference Include="Polly" Version="8.6.6" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|||||||
Reference in New Issue
Block a user