<Project Sdk="Microsoft.NET.Sdk.BlazorWebAssembly">

  <PropertyGroup>
    <TargetFramework>net10.0</TargetFramework>
    <Nullable>enable</Nullable>
    <ImplicitUsings>enable</ImplicitUsings>
    <!--
      Empreintes WASM désactivées, et donc pas d'import map ni de placeholders dans index.html.
      Raison : quand c'est MaBibli.Api qui publie ce projet, le SDK .NET 10 n'exécute jamais la
      réécriture des placeholders et recopie index.html brut (voir CLAUDE.md). Des noms de
      fichiers stables suppriment le problème à la racine. Le cache-busting reste assuré par le
      service worker, qui compare les empreintes de service-worker-assets.js.
    -->
    <WasmFingerprintAssets>false</WasmFingerprintAssets>
    <ServiceWorkerAssetsManifest>service-worker-assets.js</ServiceWorkerAssetsManifest>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="10.0.8" />
    <PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="10.0.8" PrivateAssets="all" />
    <!--
      Décodage des codes-barres : moteur zbar (LGPL-2.1) compilé en WebAssembly.

      ⚠️ Le paquet est référencé pour ses ASSETS STATIQUES (_content/ZBar.Blazor/zbar.js et
      zbar.wasm), pas pour ses composants Blazor. Son composant ZBarCamera ouvre lui-même la
      caméra et AVALE les erreurs (« catch { console.log(error) } ») : on perdrait les messages
      qui distinguent permission refusée, absence de caméra, caméra occupée et contexte non
      sécurisé — précisément ce que CLAUDE.md documente comme durement acquis. On garde donc
      notre scanner-camera.js et on n'emprunte que le décodeur.

      Remplace ZXing.Net, qui ne lisait pas certains codes-barres pourtant lus par zbar sur le
      même livre et le même appareil (voir CLAUDE.md).
    -->
    <PackageReference Include="ZBar.Blazor" Version="1.1.0" />
  </ItemGroup>

  <ItemGroup>
    <ServiceWorker Include="wwwroot\service-worker.js" PublishedContent="wwwroot\service-worker.published.js" />
  </ItemGroup>

  <ItemGroup>
    <ProjectReference Include="..\MaBibli.Shared\MaBibli.Shared.csproj" />
  </ItemGroup>

</Project>
