Files
BimAI/BimAI.UI.Mobile/MauiProgram.cs

67 lines
1.9 KiB
C#
Raw Normal View History

2025-10-10 16:00:52 +02:00
using System.Reflection;
2025-10-11 11:33:46 +02:00
using BimAI.UI.Mobile.Services;
using BimAI.UI.Shared.Extensions;
using BimAI.UI.Shared.Interfaces;
using BimAI.UI.Shared.Services;
2025-10-10 16:00:52 +02:00
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
2025-07-17 14:29:02 +02:00
using Microsoft.Extensions.Logging;
2025-10-10 16:00:52 +02:00
using Microsoft.Maui.Controls.Hosting;
using Microsoft.Maui.Devices;
using Microsoft.Maui.Hosting;
2025-06-23 15:07:13 +02:00
using MudBlazor.Services;
2025-07-17 19:17:27 +02:00
using ZXing.Net.Maui.Controls;
2025-10-11 11:33:46 +02:00
namespace BimAI.UI.Mobile;
public static class MauiProgram
{
public static MauiApp CreateMauiApp()
{
var builder = MauiApp.CreateBuilder();
builder
.UseMauiApp<App>()
2025-07-17 19:17:27 +02:00
.UseBarcodeReader()
.ConfigureFonts(fonts => { fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular"); });
2025-10-10 16:00:52 +02:00
builder.Configuration
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: false)
.AddJsonFile($"appsettings.Development.json", optional: true, reloadOnChange: false)
.AddEnvironmentVariables();
builder.Services.AddMauiBlazorWebView();
2025-06-23 15:53:46 +02:00
builder.Services.AddMudServices();
2025-07-17 19:17:27 +02:00
if (DeviceInfo.Platform == DevicePlatform.iOS)
{
builder.Services.AddSingleton<IScannerService, ScannerService>();
}
else
{
builder.Services.AddSingleton<IScannerService, NoOpScannerService>();
}
2025-10-10 16:00:52 +02:00
builder.Services.AddScoped<AuthService>();
2025-06-23 15:53:46 +02:00
var baseUrl = GetApiBaseUrl();
2025-07-17 14:29:02 +02:00
builder.Services.AddSharedServices(baseUrl);
2025-10-10 16:00:52 +02:00
#if DEBUG
builder.Services.AddBlazorWebViewDeveloperTools();
builder.Logging.AddDebug();
2025-10-10 16:00:52 +02:00
builder.Logging.SetMinimumLevel(LogLevel.Debug);
#endif
return builder.Build();
}
2025-10-10 16:00:52 +02:00
2025-06-23 15:53:46 +02:00
private static string GetApiBaseUrl()
{
#if IOS
2025-10-10 16:00:52 +02:00
// iOS symulator
return "http://192.168.29.140:7142/";
2025-06-23 15:53:46 +02:00
#else
2025-07-17 14:29:02 +02:00
return "https://localhost:7142/";
2025-06-23 15:53:46 +02:00
#endif
}
}