00bf8a4cd0
Each catalog item now supports one optional image (jpg/jpeg/png/gif/webp,
max 10 MB). Uploading generates a 200x200 JPEG thumbnail automatically via
SixLabors.ImageSharp. Images are stored in Azure Blob Storage under a new
catalogimages container, keyed by {companyId}/catalog/{itemId}/.
- CatalogItem entity: ImagePath + ThumbnailPath (nullable string fields)
- Migration: AddCatalogItemImages applied
- ICatalogImageService / CatalogImageService: upload, thumbnail generation,
delete; old blobs replaced atomically on re-upload
- CatalogItemsController: Create/Edit accept optional IFormFile image;
Image(id, thumbnail) action serves blobs with [Authorize] so wizard users
can load thumbnails without CanManageProducts policy
- Catalog index (_CategoryNode): 40x40 thumbnail (or placeholder icon)
left of each item name
- Details view: image card in right column with click-to-full-size link
- Create/Edit views: file picker with live preview; Edit shows current
thumbnail with Remove checkbox
- Wizard (item-wizard.js): thumbnails in product list with hover preview
that follows the cursor (showCatalogPreview / moveCatalogPreview);
fixed Bootstrap d-flex !important bug that broke the filter box by
moving flex layout to an inner wrapper div
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
37 lines
1.4 KiB
XML
37 lines
1.4 KiB
XML
<Project Sdk="Microsoft.NET.Sdk">
|
|
|
|
<PropertyGroup>
|
|
<TargetFramework>net8.0</TargetFramework>
|
|
<ImplicitUsings>enable</ImplicitUsings>
|
|
<Nullable>enable</Nullable>
|
|
</PropertyGroup>
|
|
|
|
<ItemGroup>
|
|
<PackageReference Include="AutoMapper" Version="16.1.1" />
|
|
<PackageReference Include="Azure.Storage.Blobs" Version="12.22.0" />
|
|
<PackageReference Include="CsvHelper" Version="33.1.0" />
|
|
<PackageReference Include="EPPlus" Version="7.0.0" />
|
|
<PackageReference Include="ExcelDataReader" Version="3.7.0" />
|
|
<PackageReference Include="ExcelDataReader.DataSet" Version="3.7.0" />
|
|
<PackageReference Include="FluentValidation" Version="11.11.0" />
|
|
<PackageReference Include="FluentValidation.DependencyInjectionExtensions" Version="11.11.0" />
|
|
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="10.0.0" />
|
|
|
|
<PackageReference Include="QuestPDF" Version="2024.12.3" />
|
|
|
|
<PackageReference Include="SixLabors.ImageSharp" Version="3.1.12" />
|
|
<!-- Force newer versions of transitive packages with known CVEs -->
|
|
<PackageReference Include="System.Formats.Asn1" Version="8.0.1" />
|
|
<PackageReference Include="System.Text.Json" Version="8.0.5" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<FrameworkReference Include="Microsoft.AspNetCore.App" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<ProjectReference Include="..\PowderCoating.Core\PowderCoating.Core.csproj" />
|
|
</ItemGroup>
|
|
|
|
</Project>
|