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

    <PropertyGroup>
        <TargetFramework>net10.0</TargetFramework>
        <OutputType>WinExe</OutputType>
        <Nullable>enable</Nullable>
        <ImplicitUsings>enable</ImplicitUsings>
        <BuiltInComInteropSupport>true</BuiltInComInteropSupport>
        <ApplicationManifest>app.manifest</ApplicationManifest>
        <AvaloniaUseCompiledBindingsByDefault>true</AvaloniaUseCompiledBindingsByDefault>
    </PropertyGroup>

    <ItemGroup>
        <!-- Avalonia -->
        <PackageReference Include="Avalonia" />
        <PackageReference Include="Avalonia.Desktop" />
        <PackageReference Include="Avalonia.Themes.Fluent" />
        <PackageReference Include="Avalonia.Fonts.Inter" />
        <PackageReference Include="Avalonia.Controls.DataGrid" />
        <PackageReference Include="Avalonia.Diagnostics" Condition="'$(Configuration)' == 'Debug'" />
        <!-- MVVM -->
        <PackageReference Include="CommunityToolkit.Mvvm" />
        <!-- DI & Hosting -->
        <PackageReference Include="Microsoft.Extensions.DependencyInjection" />
        <PackageReference Include="Microsoft.Extensions.Hosting" />
        <!-- Logging -->
        <PackageReference Include="Serilog.Extensions.Hosting" />
        <PackageReference Include="Serilog.Sinks.File" />
        <!-- Encoding -->
        <PackageReference Include="System.Text.Encoding.CodePages" />
        <!-- Localization -->
        <PackageReference Include="Microsoft.Extensions.Localization" />
    </ItemGroup>

    <ItemGroup>
        <ProjectReference Include="..\ZonyLrcTools.Common\ZonyLrcTools.Common.csproj" />
    </ItemGroup>

    <ItemGroup>
        <Content Include="..\ZonyLrcTools.Cli\config.yaml" Link="config.yaml">
            <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
        </Content>
        <Content Include="..\ZonyLrcTools.Cli\BlockWords.json" Link="BlockWords.json">
            <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
        </Content>
    </ItemGroup>

</Project>
