refactor: fully integrate Browser Client into main Web server
TaxBaik CI/CD / build-and-deploy (push) Failing after 48s
TaxBaik CI/CD / build-and-deploy (push) Failing after 48s
BREAKING CHANGE: Removed TaxBaik.Web.Client project (separate WASM app) Changes: - Migrated all Blazor components to TaxBaik.Web/Components/Admin - Migrated all Browser Client services to Components/Admin/Services - Updated Program.cs to use integrated components (same assembly) - Removed AddAdditionalAssemblies (no longer needed) - Updated _Imports.razor with correct namespaces Architecture: ✅ API-First: REST endpoints in TaxBaik.Web (ASP.NET Core) ✅ Client-Side: Blazor WASM components in TaxBaik.Web/Components ✅ Unified: Both API and UI served from single web server ✅ No separation: No separate client project Result: - Single deploy unit (TaxBaik.Web) - API served only from web server - Blazor renders client-side (prerender: false for protected pages) - Monolithic web app architecture Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,56 +0,0 @@
|
||||
@using TaxBaik.Domain.Entities
|
||||
@using TaxBaik.Web.Services.AdminClients
|
||||
@inject ICommonCodeBrowserClient CommonCodeClient
|
||||
|
||||
<MudSelect T="string"
|
||||
Value="Value"
|
||||
ValueChanged="ValueChanged"
|
||||
Label="@Label"
|
||||
Variant="@Variant"
|
||||
FullWidth="@FullWidth"
|
||||
Class="@Class"
|
||||
Required="@Required"
|
||||
Clearable="@Clearable"
|
||||
Disabled="@Disabled">
|
||||
@if (!string.IsNullOrWhiteSpace(Placeholder))
|
||||
{
|
||||
<MudSelectItem Value="@string.Empty">@Placeholder</MudSelectItem>
|
||||
}
|
||||
@foreach (var item in items)
|
||||
{
|
||||
<MudSelectItem Value="@item.CodeValue">@item.CodeName</MudSelectItem>
|
||||
}
|
||||
</MudSelect>
|
||||
|
||||
@code {
|
||||
[Parameter] public string? Value { get; set; }
|
||||
[Parameter] public EventCallback<string?> ValueChanged { get; set; }
|
||||
[Parameter] public string Group { get; set; } = string.Empty;
|
||||
[Parameter] public string Label { get; set; } = string.Empty;
|
||||
[Parameter] public Variant Variant { get; set; } = Variant.Outlined;
|
||||
[Parameter] public bool FullWidth { get; set; } = true;
|
||||
[Parameter] public string? Class { get; set; }
|
||||
[Parameter] public bool Required { get; set; }
|
||||
[Parameter] public bool Clearable { get; set; }
|
||||
[Parameter] public bool Disabled { get; set; }
|
||||
[Parameter] public string? Placeholder { get; set; }
|
||||
|
||||
private List<CommonCode> items = [];
|
||||
|
||||
protected override async Task OnParametersSetAsync()
|
||||
{
|
||||
var normalizedGroup = Group?.Trim() ?? string.Empty;
|
||||
if (!string.Equals(normalizedGroup, _loadedGroup, StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
_loadedGroup = normalizedGroup;
|
||||
items = string.IsNullOrWhiteSpace(normalizedGroup)
|
||||
? []
|
||||
: (await CommonCodeClient.GetByGroupAsync(normalizedGroup))
|
||||
.OrderBy(x => x.SortOrder)
|
||||
.ThenBy(x => x.CodeName)
|
||||
.ToList();
|
||||
}
|
||||
}
|
||||
|
||||
private string? _loadedGroup;
|
||||
}
|
||||
Reference in New Issue
Block a user