<Project Sdk="Microsoft.NET.Sdk">
	<PropertyGroup>
		<TargetFrameworks>net7.0-ios;net7.0-android;net7.0-maccatalyst</TargetFrameworks>
		<SingleProject>true</SingleProject>
		<OutputType>Exe</OutputType>
		<!-- Display name -->
		<ApplicationTitle>FrontendPlatformUno</ApplicationTitle>
		<!-- App Identifier -->
		<ApplicationId>FrontendPlatformUno</ApplicationId>
		<ApplicationIdGuid>36537AB1-6EE7-4E43-9642-A94BA47355DA</ApplicationIdGuid>
		<!-- Versions -->
		<ApplicationDisplayVersion>1.0</ApplicationDisplayVersion>
		<ApplicationVersion>1</ApplicationVersion>

		<AndroidManifest>Android\AndroidManifest.xml</AndroidManifest>

		<!-- Debugger workaround https://github.com/dotnet/maui-samples/blob/8aa6b8780b12e97b157514c3bdc54bb4a13001cd/HelloMacCatalyst/HelloMacCatalyst.csproj#L7 -->
		<!-- <MtouchExtraArgs Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'maccatalyst'">$(MtouchExtraArgs) -setenv:MONO_THREADS_SUSPEND=preemptive</MtouchExtraArgs> -->
		<!-- Required for C# Hot Reload -->
		<UseInterpreter Condition="'$(Configuration)' == 'Debug' and $([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) != 'maccatalyst'">True</UseInterpreter>
		<IsUnoHead>true</IsUnoHead>
	</PropertyGroup>

	<ItemGroup>
		<PackageReference Include="Uno.Resizetizer" Version="1.0.2" />
		<PackageReference Include="Uno.WinUI" Version="4.8.24" />
		<PackageReference Include="CommunityToolkit.Mvvm" Version="8.1.0" />
		<PackageReference Include="Uno.Extensions.Configuration" Version="2.3.6" />
		<PackageReference Include="Uno.Extensions.Http" Version="2.3.6" />
		<PackageReference Include="Uno.Extensions.Http.Refit" Version="2.3.6" />
		<PackageReference Include="Uno.Extensions.Logging.WinUI" Version="2.3.6" />
		<PackageReference Include="Uno.Extensions.Serialization.Http" Version="2.3.6" />
		<PackageReference Include="Uno.Extensions.Serialization.Refit" Version="2.3.6" />
		<PackageReference Include="Uno.Material.WinUI" Version="2.5.3" />
		<PackageReference Include="Uno.Toolkit.WinUI.Material" Version="2.5.5" />
		<PackageReference Include="Uno.Toolkit.WinUI" Version="2.5.5" />
		<PackageReference Include="Uno.Extensions.Authentication.WinUI" Version="2.3.6" />
		<PackageReference Include="Uno.Extensions.Hosting.WinUI" Version="2.3.6" />
		<PackageReference Include="Uno.Extensions.Localization.WinUI" Version="2.3.6" />
		<PackageReference Include="Uno.Extensions.Navigation.Toolkit.WinUI" Version="2.3.6" />
		<PackageReference Include="Uno.Extensions.Navigation.WinUI" Version="2.3.6" />
		<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="7.0.0" />
		<PackageReference Include="Uno.Extensions.Logging.OSLog" Version="1.4.0" />
		<PackageReference Include="Uno.UI.Adapter.Microsoft.Extensions.Logging" Version="4.8.24" />
		<PackageReference Include="Uno.WinUI.RemoteControl" Version="4.8.24" Condition="'$(Configuration)'=='Debug'" />
	</ItemGroup>
	<Choose>
		<When Condition="$(IsAndroid)">
			<ItemGroup>
				<PackageReference Include="Xamarin.Google.Android.Material" Version="1.8.0" />
				<PackageReference Include="Uno.UniversalImageLoader" Version="1.9.36" />
			</ItemGroup>
			<ItemGroup>
				<AndroidEnvironment Include="Android/environment.conf" />
			</ItemGroup>
		</When>
		<When Condition="$(IsIOS)">
			<PropertyGroup>
				<MtouchExtraArgs>$(MtouchExtraArgs) --setenv=MONO_GC_PARAMS=soft-heap-limit=512m,nursery-size=64m,evacuation-threshold=66,major=marksweep,concurrent-sweep</MtouchExtraArgs>
				<!-- See https://github.com/unoplatform/uno/issues/9430 for more details. -->
				<MtouchExtraArgs>$(MtouchExtraArgs) --registrar:static</MtouchExtraArgs>
				<!-- https://github.com/xamarin/xamarin-macios/issues/14812 -->
				<MtouchExtraArgs>$(MtouchExtraArgs) --marshal-objectivec-exceptions:disable</MtouchExtraArgs>
			</PropertyGroup>
		</When>
		<When Condition="$(IsMacCatalyst)">
			<PropertyGroup>
				<!-- Configure the GC -->
				<MtouchExtraArgs>$(MtouchExtraArgs) --setenv=MONO_GC_PARAMS=soft-heap-limit=512m,nursery-size=64m,evacuation-threshold=66,major=marksweep,concurrent-sweep</MtouchExtraArgs>
				<!-- Required for unknown crash as of .NET 6 Mobile Preview 13 -->
				<MtouchExtraArgs>$(MtouchExtraArgs) --registrar:static</MtouchExtraArgs>
				<!-- https://github.com/xamarin/xamarin-macios/issues/14812 -->
				<MtouchExtraArgs>$(MtouchExtraArgs) --marshal-objectivec-exceptions:disable</MtouchExtraArgs>
				<!-- Full globalization is required for Uno -->
				<InvariantGlobalization>false</InvariantGlobalization>
			</PropertyGroup>
		</When>
	</Choose>
	<ItemGroup>
		<ProjectReference Include="..\FrontendPlatformUno\FrontendPlatformUno.csproj" />
		<ProjectReference Include="..\FrontendPlatformUno.DataContracts\FrontendPlatformUno.DataContracts.csproj" />
	</ItemGroup>
	<Import Project="..\FrontendPlatformUno.Base\base.props" />
</Project>