From b0ce7afb5884c1bba6d95c0b91590b89f009f2a5 Mon Sep 17 00:00:00 2001 From: Alex Hope-O'Connor Date: Sat, 28 Feb 2026 23:17:40 +1000 Subject: [PATCH] =?UTF-8?q?Reorganize:=20Hubs=E2=86=92Realtime,=20Dnsmasq?= =?UTF-8?q?=E2=86=92Status/Logs/AppLogs,=20Extensions=E2=86=92DI/Hosting/I?= =?UTF-8?q?nterop,=20EffectiveConfig=E2=86=92shared=20feature?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Dnsmasq/{ => AppLogs}/AppLogsFiltersModal.razor | 2 +- .../Dnsmasq/{ => AppLogs}/AppLogsFiltersModal.razor.cs | 4 ++-- .../Dnsmasq/{ => AppLogs}/AppLogsFiltersModal.razor.css | 0 .../Dnsmasq/{ => AppLogs}/AppLogsSection.razor | 2 +- .../Dnsmasq/{ => AppLogs}/AppLogsSection.razor.cs | 4 ++-- .../Dnsmasq/{ => AppLogs}/AppLogsSection.razor.css | 0 .../Components/Dnsmasq/{ => Logs}/LogsPreView.razor | 2 +- .../Components/Dnsmasq/{ => Logs}/LogsSection.razor | 2 +- .../Components/Dnsmasq/{ => Logs}/LogsSection.razor.cs | 4 ++-- .../Components/Dnsmasq/{ => Logs}/LogsSection.razor.css | 0 .../Components/Dnsmasq/{ => Status}/StatusSection.razor | 2 +- .../Dnsmasq/{ => Status}/StatusSection.razor.cs | 2 +- .../Dnsmasq/{ => Status}/StatusSection.razor.css | 0 .../Common}/CopyableCodeLine.razor | 2 +- .../Common}/EffectiveConfigValueDisplayBase.cs | 2 +- .../Composition}/EffectiveConfigPanels.razor | 2 +- .../Composition}/EffectiveConfigSection.razor | 2 +- .../Composition}/EffectiveConfigSection.razor.css | 0 .../Composition}/EffectiveConfigSectionPanel.razor | 2 +- .../Composition}/EffectiveConfigToolbar.razor | 2 +- .../CustomDisplays/FlagValueDisplay.razor | 2 +- .../CustomDisplays/IntegerValueDisplay.razor | 2 +- .../CustomDisplays/LocalServiceDisplay.razor | 2 +- .../CustomDisplays/LogQueriesDisplay.razor | 2 +- .../CustomDisplays/PortValueDisplay.razor | 2 +- .../Fields}/EffectiveConfigFieldDisplay.razor | 2 +- .../Fields}/EffectiveConfigMultiValueItem.razor | 2 +- .../Fields}/EffectiveConfigMultiValueRow.razor | 2 +- .../Fields}/EffectiveConfigOptionItem.razor | 2 +- .../Modals}/ConfigOptionHelpModal.razor | 4 ++-- .../Modals}/ConfigOptionHelpModal.razor.css | 0 .../Modals}/EffectiveConfigSaveFlow.razor | 2 +- .../Modals}/EffectiveConfigSaveModal.razor | 2 +- .../Modals}/EffectiveConfigSaveModal.razor.css | 0 .../Popovers}/OptionHelpController.razor | 2 +- .../Popovers}/OptionHelpLabel.razor | 2 +- .../Popovers}/OptionStateBadge.razor | 2 +- .../Popovers}/ReadonlyEditHint.razor | 2 +- .../Popovers}/ReadonlyEditPopover.razor | 2 +- .../Popovers}/ReadonlyEditPopover.razor.css | 0 .../Popovers}/ReadonlyPopoverController.razor | 2 +- .../Components/Modals/SettingsModal.razor.cs | 2 +- src/DnsmasqWebUI/Components/_Imports.razor | 9 +++++++-- .../LoggingBuilderExtensions.cs | 2 +- .../ServiceCollectionExtensions.cs | 2 +- .../Extensions/{ => Hosting}/CorsExtensions.cs | 2 +- .../Extensions/{ => Hosting}/WebApplicationExtensions.cs | 2 +- .../{ => Interop}/JSObjectReferenceExtensions.cs | 2 +- .../Extensions/{ => Interop}/JSRuntimeExtensions.cs | 2 +- .../{ => Infrastructure/Realtime}/Hubs/LogsHub.cs | 2 +- .../EffectiveConfigRenderFragmentRegistry.cs | 2 +- .../Infrastructure/Services/Logs/LogsService.cs | 5 +++-- .../Services/UI/Settings/ClientSettingsService.cs | 2 +- .../Services/Updates/UpdateCheckService.cs | 2 +- src/DnsmasqWebUI/Program.cs | 5 +++-- 55 files changed, 61 insertions(+), 54 deletions(-) rename src/DnsmasqWebUI/Components/Dnsmasq/{ => AppLogs}/AppLogsFiltersModal.razor (98%) rename src/DnsmasqWebUI/Components/Dnsmasq/{ => AppLogs}/AppLogsFiltersModal.razor.cs (97%) rename src/DnsmasqWebUI/Components/Dnsmasq/{ => AppLogs}/AppLogsFiltersModal.razor.css (100%) rename src/DnsmasqWebUI/Components/Dnsmasq/{ => AppLogs}/AppLogsSection.razor (97%) rename src/DnsmasqWebUI/Components/Dnsmasq/{ => AppLogs}/AppLogsSection.razor.cs (98%) rename src/DnsmasqWebUI/Components/Dnsmasq/{ => AppLogs}/AppLogsSection.razor.css (100%) rename src/DnsmasqWebUI/Components/Dnsmasq/{ => Logs}/LogsPreView.razor (90%) rename src/DnsmasqWebUI/Components/Dnsmasq/{ => Logs}/LogsSection.razor (97%) rename src/DnsmasqWebUI/Components/Dnsmasq/{ => Logs}/LogsSection.razor.cs (98%) rename src/DnsmasqWebUI/Components/Dnsmasq/{ => Logs}/LogsSection.razor.css (100%) rename src/DnsmasqWebUI/Components/Dnsmasq/{ => Status}/StatusSection.razor (97%) rename src/DnsmasqWebUI/Components/Dnsmasq/{ => Status}/StatusSection.razor.cs (98%) rename src/DnsmasqWebUI/Components/Dnsmasq/{ => Status}/StatusSection.razor.css (100%) rename src/DnsmasqWebUI/Components/{Dnsmasq/EffectiveConfig => EffectiveConfig/Common}/CopyableCodeLine.razor (93%) rename src/DnsmasqWebUI/Components/{Dnsmasq/EffectiveConfig => EffectiveConfig/Common}/EffectiveConfigValueDisplayBase.cs (96%) rename src/DnsmasqWebUI/Components/{Dnsmasq/EffectiveConfig => EffectiveConfig/Composition}/EffectiveConfigPanels.razor (97%) rename src/DnsmasqWebUI/Components/{Dnsmasq/EffectiveConfig => EffectiveConfig/Composition}/EffectiveConfigSection.razor (99%) rename src/DnsmasqWebUI/Components/{Dnsmasq/EffectiveConfig => EffectiveConfig/Composition}/EffectiveConfigSection.razor.css (100%) rename src/DnsmasqWebUI/Components/{Dnsmasq/EffectiveConfig => EffectiveConfig/Composition}/EffectiveConfigSectionPanel.razor (96%) rename src/DnsmasqWebUI/Components/{Dnsmasq/EffectiveConfig => EffectiveConfig/Composition}/EffectiveConfigToolbar.razor (97%) rename src/DnsmasqWebUI/Components/{Dnsmasq => }/EffectiveConfig/CustomDisplays/FlagValueDisplay.razor (90%) rename src/DnsmasqWebUI/Components/{Dnsmasq => }/EffectiveConfig/CustomDisplays/IntegerValueDisplay.razor (95%) rename src/DnsmasqWebUI/Components/{Dnsmasq => }/EffectiveConfig/CustomDisplays/LocalServiceDisplay.razor (92%) rename src/DnsmasqWebUI/Components/{Dnsmasq => }/EffectiveConfig/CustomDisplays/LogQueriesDisplay.razor (95%) rename src/DnsmasqWebUI/Components/{Dnsmasq => }/EffectiveConfig/CustomDisplays/PortValueDisplay.razor (91%) rename src/DnsmasqWebUI/Components/{Dnsmasq/EffectiveConfig => EffectiveConfig/Fields}/EffectiveConfigFieldDisplay.razor (99%) rename src/DnsmasqWebUI/Components/{Dnsmasq/EffectiveConfig => EffectiveConfig/Fields}/EffectiveConfigMultiValueItem.razor (92%) rename src/DnsmasqWebUI/Components/{Dnsmasq/EffectiveConfig => EffectiveConfig/Fields}/EffectiveConfigMultiValueRow.razor (97%) rename src/DnsmasqWebUI/Components/{Dnsmasq/EffectiveConfig => EffectiveConfig/Fields}/EffectiveConfigOptionItem.razor (98%) rename src/DnsmasqWebUI/Components/{Dnsmasq/EffectiveConfig => EffectiveConfig/Modals}/ConfigOptionHelpModal.razor (98%) rename src/DnsmasqWebUI/Components/{Dnsmasq/EffectiveConfig => EffectiveConfig/Modals}/ConfigOptionHelpModal.razor.css (100%) rename src/DnsmasqWebUI/Components/{Dnsmasq/EffectiveConfig => EffectiveConfig/Modals}/EffectiveConfigSaveFlow.razor (95%) rename src/DnsmasqWebUI/Components/{Dnsmasq/EffectiveConfig => EffectiveConfig/Modals}/EffectiveConfigSaveModal.razor (98%) rename src/DnsmasqWebUI/Components/{Dnsmasq/EffectiveConfig => EffectiveConfig/Modals}/EffectiveConfigSaveModal.razor.css (100%) rename src/DnsmasqWebUI/Components/{Dnsmasq/EffectiveConfig => EffectiveConfig/Popovers}/OptionHelpController.razor (97%) rename src/DnsmasqWebUI/Components/{Dnsmasq/EffectiveConfig => EffectiveConfig/Popovers}/OptionHelpLabel.razor (95%) rename src/DnsmasqWebUI/Components/{Dnsmasq/EffectiveConfig => EffectiveConfig/Popovers}/OptionStateBadge.razor (98%) rename src/DnsmasqWebUI/Components/{Dnsmasq/EffectiveConfig => EffectiveConfig/Popovers}/ReadonlyEditHint.razor (96%) rename src/DnsmasqWebUI/Components/{Dnsmasq/EffectiveConfig => EffectiveConfig/Popovers}/ReadonlyEditPopover.razor (99%) rename src/DnsmasqWebUI/Components/{Dnsmasq/EffectiveConfig => EffectiveConfig/Popovers}/ReadonlyEditPopover.razor.css (100%) rename src/DnsmasqWebUI/Components/{Dnsmasq/EffectiveConfig => EffectiveConfig/Popovers}/ReadonlyPopoverController.razor (97%) rename src/DnsmasqWebUI/Extensions/{ => DependencyInjection}/LoggingBuilderExtensions.cs (96%) rename src/DnsmasqWebUI/Extensions/{ => DependencyInjection}/ServiceCollectionExtensions.cs (99%) rename src/DnsmasqWebUI/Extensions/{ => Hosting}/CorsExtensions.cs (98%) rename src/DnsmasqWebUI/Extensions/{ => Hosting}/WebApplicationExtensions.cs (96%) rename src/DnsmasqWebUI/Extensions/{ => Interop}/JSObjectReferenceExtensions.cs (98%) rename src/DnsmasqWebUI/Extensions/{ => Interop}/JSRuntimeExtensions.cs (97%) rename src/DnsmasqWebUI/{ => Infrastructure/Realtime}/Hubs/LogsHub.cs (95%) diff --git a/src/DnsmasqWebUI/Components/Dnsmasq/AppLogsFiltersModal.razor b/src/DnsmasqWebUI/Components/Dnsmasq/AppLogs/AppLogsFiltersModal.razor similarity index 98% rename from src/DnsmasqWebUI/Components/Dnsmasq/AppLogsFiltersModal.razor rename to src/DnsmasqWebUI/Components/Dnsmasq/AppLogs/AppLogsFiltersModal.razor index eaeed2e..9291ab9 100644 --- a/src/DnsmasqWebUI/Components/Dnsmasq/AppLogsFiltersModal.razor +++ b/src/DnsmasqWebUI/Components/Dnsmasq/AppLogs/AppLogsFiltersModal.razor @@ -1,4 +1,4 @@ -@namespace DnsmasqWebUI.Components.Dnsmasq +@namespace DnsmasqWebUI.Components.Dnsmasq.AppLogs @inject ILoggingClient LoggingClient @inject IJSRuntime JSRuntime @implements IAsyncDisposable diff --git a/src/DnsmasqWebUI/Components/Dnsmasq/AppLogsFiltersModal.razor.cs b/src/DnsmasqWebUI/Components/Dnsmasq/AppLogs/AppLogsFiltersModal.razor.cs similarity index 97% rename from src/DnsmasqWebUI/Components/Dnsmasq/AppLogsFiltersModal.razor.cs rename to src/DnsmasqWebUI/Components/Dnsmasq/AppLogs/AppLogsFiltersModal.razor.cs index 3a01791..7f5d446 100644 --- a/src/DnsmasqWebUI/Components/Dnsmasq/AppLogsFiltersModal.razor.cs +++ b/src/DnsmasqWebUI/Components/Dnsmasq/AppLogs/AppLogsFiltersModal.razor.cs @@ -1,10 +1,10 @@ -using DnsmasqWebUI.Extensions; +using DnsmasqWebUI.Extensions.Interop; using DnsmasqWebUI.Infrastructure.Client.Abstractions; using Microsoft.AspNetCore.Components; using Microsoft.AspNetCore.Components.Web; using Microsoft.JSInterop; -namespace DnsmasqWebUI.Components.Dnsmasq; +namespace DnsmasqWebUI.Components.Dnsmasq.AppLogs; public partial class AppLogsFiltersModal : IAsyncDisposable { diff --git a/src/DnsmasqWebUI/Components/Dnsmasq/AppLogsFiltersModal.razor.css b/src/DnsmasqWebUI/Components/Dnsmasq/AppLogs/AppLogsFiltersModal.razor.css similarity index 100% rename from src/DnsmasqWebUI/Components/Dnsmasq/AppLogsFiltersModal.razor.css rename to src/DnsmasqWebUI/Components/Dnsmasq/AppLogs/AppLogsFiltersModal.razor.css diff --git a/src/DnsmasqWebUI/Components/Dnsmasq/AppLogsSection.razor b/src/DnsmasqWebUI/Components/Dnsmasq/AppLogs/AppLogsSection.razor similarity index 97% rename from src/DnsmasqWebUI/Components/Dnsmasq/AppLogsSection.razor rename to src/DnsmasqWebUI/Components/Dnsmasq/AppLogs/AppLogsSection.razor index 5c94319..26b430f 100644 --- a/src/DnsmasqWebUI/Components/Dnsmasq/AppLogsSection.razor +++ b/src/DnsmasqWebUI/Components/Dnsmasq/AppLogs/AppLogsSection.razor @@ -1,4 +1,4 @@ -@namespace DnsmasqWebUI.Components.Dnsmasq +@namespace DnsmasqWebUI.Components.Dnsmasq.AppLogs @* App logs — live view via SignalR from ILogger *@ @using DnsmasqWebUI.Models.Logs @using Microsoft.AspNetCore.SignalR.Client diff --git a/src/DnsmasqWebUI/Components/Dnsmasq/AppLogsSection.razor.cs b/src/DnsmasqWebUI/Components/Dnsmasq/AppLogs/AppLogsSection.razor.cs similarity index 98% rename from src/DnsmasqWebUI/Components/Dnsmasq/AppLogsSection.razor.cs rename to src/DnsmasqWebUI/Components/Dnsmasq/AppLogs/AppLogsSection.razor.cs index fca825e..07040bb 100644 --- a/src/DnsmasqWebUI/Components/Dnsmasq/AppLogsSection.razor.cs +++ b/src/DnsmasqWebUI/Components/Dnsmasq/AppLogs/AppLogsSection.razor.cs @@ -1,11 +1,11 @@ -using DnsmasqWebUI.Extensions; +using DnsmasqWebUI.Extensions.Interop; using DnsmasqWebUI.Infrastructure.Client.Abstractions; using DnsmasqWebUI.Models.Logs; using Microsoft.AspNetCore.Components; using Microsoft.AspNetCore.SignalR.Client; using Microsoft.JSInterop; -namespace DnsmasqWebUI.Components.Dnsmasq; +namespace DnsmasqWebUI.Components.Dnsmasq.AppLogs; /// /// App logs block: connects to LogsHub, receives AppLogsUpdate pushes, polls at interval as fallback. diff --git a/src/DnsmasqWebUI/Components/Dnsmasq/AppLogsSection.razor.css b/src/DnsmasqWebUI/Components/Dnsmasq/AppLogs/AppLogsSection.razor.css similarity index 100% rename from src/DnsmasqWebUI/Components/Dnsmasq/AppLogsSection.razor.css rename to src/DnsmasqWebUI/Components/Dnsmasq/AppLogs/AppLogsSection.razor.css diff --git a/src/DnsmasqWebUI/Components/Dnsmasq/LogsPreView.razor b/src/DnsmasqWebUI/Components/Dnsmasq/Logs/LogsPreView.razor similarity index 90% rename from src/DnsmasqWebUI/Components/Dnsmasq/LogsPreView.razor rename to src/DnsmasqWebUI/Components/Dnsmasq/Logs/LogsPreView.razor index b4f2baa..0579765 100644 --- a/src/DnsmasqWebUI/Components/Dnsmasq/LogsPreView.razor +++ b/src/DnsmasqWebUI/Components/Dnsmasq/Logs/LogsPreView.razor @@ -1,4 +1,4 @@ -@namespace DnsmasqWebUI.Components.Dnsmasq +@namespace DnsmasqWebUI.Components.Dnsmasq.Logs @* Renders a pre element for logs. Once Freeze is true, stops re-rendering so Blazor does not overwrite JS-owned content. *@
@Placeholder
diff --git a/src/DnsmasqWebUI/Components/Dnsmasq/LogsSection.razor b/src/DnsmasqWebUI/Components/Dnsmasq/Logs/LogsSection.razor similarity index 97% rename from src/DnsmasqWebUI/Components/Dnsmasq/LogsSection.razor rename to src/DnsmasqWebUI/Components/Dnsmasq/Logs/LogsSection.razor index fff60fc..5c1a872 100644 --- a/src/DnsmasqWebUI/Components/Dnsmasq/LogsSection.razor +++ b/src/DnsmasqWebUI/Components/Dnsmasq/Logs/LogsSection.razor @@ -1,4 +1,4 @@ -@namespace DnsmasqWebUI.Components.Dnsmasq +@namespace DnsmasqWebUI.Components.Dnsmasq.Logs @* Recent logs — live view via SignalR from LogsCommand; client polls at interval, server pushes deltas *@ @using DnsmasqWebUI.Models.Logs @using Microsoft.AspNetCore.SignalR.Client diff --git a/src/DnsmasqWebUI/Components/Dnsmasq/LogsSection.razor.cs b/src/DnsmasqWebUI/Components/Dnsmasq/Logs/LogsSection.razor.cs similarity index 98% rename from src/DnsmasqWebUI/Components/Dnsmasq/LogsSection.razor.cs rename to src/DnsmasqWebUI/Components/Dnsmasq/Logs/LogsSection.razor.cs index 07c0fdc..442c62e 100644 --- a/src/DnsmasqWebUI/Components/Dnsmasq/LogsSection.razor.cs +++ b/src/DnsmasqWebUI/Components/Dnsmasq/Logs/LogsSection.razor.cs @@ -1,11 +1,11 @@ -using DnsmasqWebUI.Extensions; +using DnsmasqWebUI.Extensions.Interop; using DnsmasqWebUI.Models.Dnsmasq; using DnsmasqWebUI.Models.Logs; using Microsoft.AspNetCore.Components; using Microsoft.AspNetCore.SignalR.Client; using Microsoft.JSInterop; -namespace DnsmasqWebUI.Components.Dnsmasq; +namespace DnsmasqWebUI.Components.Dnsmasq.Logs; /// /// Recent logs block: connects to LogsHub, polls at interval via RequestDnsmasqLogs, diff --git a/src/DnsmasqWebUI/Components/Dnsmasq/LogsSection.razor.css b/src/DnsmasqWebUI/Components/Dnsmasq/Logs/LogsSection.razor.css similarity index 100% rename from src/DnsmasqWebUI/Components/Dnsmasq/LogsSection.razor.css rename to src/DnsmasqWebUI/Components/Dnsmasq/Logs/LogsSection.razor.css diff --git a/src/DnsmasqWebUI/Components/Dnsmasq/StatusSection.razor b/src/DnsmasqWebUI/Components/Dnsmasq/Status/StatusSection.razor similarity index 97% rename from src/DnsmasqWebUI/Components/Dnsmasq/StatusSection.razor rename to src/DnsmasqWebUI/Components/Dnsmasq/Status/StatusSection.razor index 365e228..7c9ad8e 100644 --- a/src/DnsmasqWebUI/Components/Dnsmasq/StatusSection.razor +++ b/src/DnsmasqWebUI/Components/Dnsmasq/Status/StatusSection.razor @@ -1,4 +1,4 @@ -@namespace DnsmasqWebUI.Components.Dnsmasq +@namespace DnsmasqWebUI.Components.Dnsmasq.Status @* Service status — output of StatusShowCommand; only this component re-renders on its timer *@ @if (_status != null && _status.StatusShowConfigured) { diff --git a/src/DnsmasqWebUI/Components/Dnsmasq/StatusSection.razor.cs b/src/DnsmasqWebUI/Components/Dnsmasq/Status/StatusSection.razor.cs similarity index 98% rename from src/DnsmasqWebUI/Components/Dnsmasq/StatusSection.razor.cs rename to src/DnsmasqWebUI/Components/Dnsmasq/Status/StatusSection.razor.cs index 9f9a7e7..99cc96d 100644 --- a/src/DnsmasqWebUI/Components/Dnsmasq/StatusSection.razor.cs +++ b/src/DnsmasqWebUI/Components/Dnsmasq/Status/StatusSection.razor.cs @@ -2,7 +2,7 @@ using DnsmasqWebUI.Infrastructure.Client.Abstractions; using DnsmasqWebUI.Models.Dnsmasq; using Microsoft.AspNetCore.Components; -namespace DnsmasqWebUI.Components.Dnsmasq; +namespace DnsmasqWebUI.Components.Dnsmasq.Status; /// /// Service status block: polls StatusShowCommand output at its own interval and re-renders only itself. diff --git a/src/DnsmasqWebUI/Components/Dnsmasq/StatusSection.razor.css b/src/DnsmasqWebUI/Components/Dnsmasq/Status/StatusSection.razor.css similarity index 100% rename from src/DnsmasqWebUI/Components/Dnsmasq/StatusSection.razor.css rename to src/DnsmasqWebUI/Components/Dnsmasq/Status/StatusSection.razor.css diff --git a/src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/CopyableCodeLine.razor b/src/DnsmasqWebUI/Components/EffectiveConfig/Common/CopyableCodeLine.razor similarity index 93% rename from src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/CopyableCodeLine.razor rename to src/DnsmasqWebUI/Components/EffectiveConfig/Common/CopyableCodeLine.razor index febb33c..cc7b300 100644 --- a/src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/CopyableCodeLine.razor +++ b/src/DnsmasqWebUI/Components/EffectiveConfig/Common/CopyableCodeLine.razor @@ -1,4 +1,4 @@ -@namespace DnsmasqWebUI.Components.Dnsmasq.EffectiveConfig +@namespace DnsmasqWebUI.Components.EffectiveConfig @inject IJSRuntime JSRuntime
diff --git a/src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/EffectiveConfigValueDisplayBase.cs b/src/DnsmasqWebUI/Components/EffectiveConfig/Common/EffectiveConfigValueDisplayBase.cs similarity index 96% rename from src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/EffectiveConfigValueDisplayBase.cs rename to src/DnsmasqWebUI/Components/EffectiveConfig/Common/EffectiveConfigValueDisplayBase.cs index 4a91221..8df9bdf 100644 --- a/src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/EffectiveConfigValueDisplayBase.cs +++ b/src/DnsmasqWebUI/Components/EffectiveConfig/Common/EffectiveConfigValueDisplayBase.cs @@ -3,7 +3,7 @@ using Microsoft.AspNetCore.Components.Web; using DnsmasqWebUI.Models.Dnsmasq.EffectiveConfig; using DnsmasqWebUI.Infrastructure.Services.EffectiveConfig.Abstractions; -namespace DnsmasqWebUI.Components.Dnsmasq.EffectiveConfig; +namespace DnsmasqWebUI.Components.EffectiveConfig; /// /// Base for effective-config custom value displays. Provides shared parameters, diff --git a/src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/EffectiveConfigPanels.razor b/src/DnsmasqWebUI/Components/EffectiveConfig/Composition/EffectiveConfigPanels.razor similarity index 97% rename from src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/EffectiveConfigPanels.razor rename to src/DnsmasqWebUI/Components/EffectiveConfig/Composition/EffectiveConfigPanels.razor index 46b21ad..6c8ec0c 100644 --- a/src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/EffectiveConfigPanels.razor +++ b/src/DnsmasqWebUI/Components/EffectiveConfig/Composition/EffectiveConfigPanels.razor @@ -1,4 +1,4 @@ -@namespace DnsmasqWebUI.Components.Dnsmasq.EffectiveConfig +@namespace DnsmasqWebUI.Components.EffectiveConfig @using DnsmasqWebUI.Models.Dnsmasq @using DnsmasqWebUI.Models.Dnsmasq.EffectiveConfig @using DnsmasqWebUI.Infrastructure.Helpers.Config diff --git a/src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/EffectiveConfigSection.razor b/src/DnsmasqWebUI/Components/EffectiveConfig/Composition/EffectiveConfigSection.razor similarity index 99% rename from src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/EffectiveConfigSection.razor rename to src/DnsmasqWebUI/Components/EffectiveConfig/Composition/EffectiveConfigSection.razor index e08f468..86a351a 100644 --- a/src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/EffectiveConfigSection.razor +++ b/src/DnsmasqWebUI/Components/EffectiveConfig/Composition/EffectiveConfigSection.razor @@ -1,4 +1,4 @@ -@namespace DnsmasqWebUI.Components.Dnsmasq.EffectiveConfig +@namespace DnsmasqWebUI.Components.EffectiveConfig @using DnsmasqWebUI.Models.Dnsmasq @using DnsmasqWebUI.Models.Dnsmasq.EffectiveConfig @using DnsmasqWebUI.Infrastructure.Helpers.Config diff --git a/src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/EffectiveConfigSection.razor.css b/src/DnsmasqWebUI/Components/EffectiveConfig/Composition/EffectiveConfigSection.razor.css similarity index 100% rename from src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/EffectiveConfigSection.razor.css rename to src/DnsmasqWebUI/Components/EffectiveConfig/Composition/EffectiveConfigSection.razor.css diff --git a/src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/EffectiveConfigSectionPanel.razor b/src/DnsmasqWebUI/Components/EffectiveConfig/Composition/EffectiveConfigSectionPanel.razor similarity index 96% rename from src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/EffectiveConfigSectionPanel.razor rename to src/DnsmasqWebUI/Components/EffectiveConfig/Composition/EffectiveConfigSectionPanel.razor index 2e0a157..9b2c732 100644 --- a/src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/EffectiveConfigSectionPanel.razor +++ b/src/DnsmasqWebUI/Components/EffectiveConfig/Composition/EffectiveConfigSectionPanel.razor @@ -1,4 +1,4 @@ -@namespace DnsmasqWebUI.Components.Dnsmasq.EffectiveConfig +@namespace DnsmasqWebUI.Components.EffectiveConfig @using DnsmasqWebUI.Models.Dnsmasq @using DnsmasqWebUI.Models.Dnsmasq.EffectiveConfig diff --git a/src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/EffectiveConfigToolbar.razor b/src/DnsmasqWebUI/Components/EffectiveConfig/Composition/EffectiveConfigToolbar.razor similarity index 97% rename from src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/EffectiveConfigToolbar.razor rename to src/DnsmasqWebUI/Components/EffectiveConfig/Composition/EffectiveConfigToolbar.razor index 4aab9e3..bc7278a 100644 --- a/src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/EffectiveConfigToolbar.razor +++ b/src/DnsmasqWebUI/Components/EffectiveConfig/Composition/EffectiveConfigToolbar.razor @@ -1,4 +1,4 @@ -@namespace DnsmasqWebUI.Components.Dnsmasq.EffectiveConfig +@namespace DnsmasqWebUI.Components.EffectiveConfig
@if (ShowSearchBox) diff --git a/src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/CustomDisplays/FlagValueDisplay.razor b/src/DnsmasqWebUI/Components/EffectiveConfig/CustomDisplays/FlagValueDisplay.razor similarity index 90% rename from src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/CustomDisplays/FlagValueDisplay.razor rename to src/DnsmasqWebUI/Components/EffectiveConfig/CustomDisplays/FlagValueDisplay.razor index a1bf030..51265fd 100644 --- a/src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/CustomDisplays/FlagValueDisplay.razor +++ b/src/DnsmasqWebUI/Components/EffectiveConfig/CustomDisplays/FlagValueDisplay.razor @@ -1,4 +1,4 @@ -@namespace DnsmasqWebUI.Components.Dnsmasq.EffectiveConfig.CustomDisplays +@namespace DnsmasqWebUI.Components.EffectiveConfig.CustomDisplays @using DnsmasqWebUI.Models.Dnsmasq @inherits EffectiveConfigValueDisplayBase diff --git a/src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/CustomDisplays/IntegerValueDisplay.razor b/src/DnsmasqWebUI/Components/EffectiveConfig/CustomDisplays/IntegerValueDisplay.razor similarity index 95% rename from src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/CustomDisplays/IntegerValueDisplay.razor rename to src/DnsmasqWebUI/Components/EffectiveConfig/CustomDisplays/IntegerValueDisplay.razor index 2609e4d..fce9338 100644 --- a/src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/CustomDisplays/IntegerValueDisplay.razor +++ b/src/DnsmasqWebUI/Components/EffectiveConfig/CustomDisplays/IntegerValueDisplay.razor @@ -1,4 +1,4 @@ -@namespace DnsmasqWebUI.Components.Dnsmasq.EffectiveConfig.CustomDisplays +@namespace DnsmasqWebUI.Components.EffectiveConfig.CustomDisplays @using DnsmasqWebUI.Models.Dnsmasq @inherits EffectiveConfigValueDisplayBase diff --git a/src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/CustomDisplays/LocalServiceDisplay.razor b/src/DnsmasqWebUI/Components/EffectiveConfig/CustomDisplays/LocalServiceDisplay.razor similarity index 92% rename from src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/CustomDisplays/LocalServiceDisplay.razor rename to src/DnsmasqWebUI/Components/EffectiveConfig/CustomDisplays/LocalServiceDisplay.razor index debb55b..1bb7746 100644 --- a/src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/CustomDisplays/LocalServiceDisplay.razor +++ b/src/DnsmasqWebUI/Components/EffectiveConfig/CustomDisplays/LocalServiceDisplay.razor @@ -1,4 +1,4 @@ -@namespace DnsmasqWebUI.Components.Dnsmasq.EffectiveConfig.CustomDisplays +@namespace DnsmasqWebUI.Components.EffectiveConfig.CustomDisplays @using DnsmasqWebUI.Models.Dnsmasq @inherits EffectiveConfigValueDisplayBase diff --git a/src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/CustomDisplays/LogQueriesDisplay.razor b/src/DnsmasqWebUI/Components/EffectiveConfig/CustomDisplays/LogQueriesDisplay.razor similarity index 95% rename from src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/CustomDisplays/LogQueriesDisplay.razor rename to src/DnsmasqWebUI/Components/EffectiveConfig/CustomDisplays/LogQueriesDisplay.razor index a8f3e4c..5073668 100644 --- a/src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/CustomDisplays/LogQueriesDisplay.razor +++ b/src/DnsmasqWebUI/Components/EffectiveConfig/CustomDisplays/LogQueriesDisplay.razor @@ -1,4 +1,4 @@ -@namespace DnsmasqWebUI.Components.Dnsmasq.EffectiveConfig.CustomDisplays +@namespace DnsmasqWebUI.Components.EffectiveConfig.CustomDisplays @using DnsmasqWebUI.Models.Dnsmasq @inherits EffectiveConfigValueDisplayBase diff --git a/src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/CustomDisplays/PortValueDisplay.razor b/src/DnsmasqWebUI/Components/EffectiveConfig/CustomDisplays/PortValueDisplay.razor similarity index 91% rename from src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/CustomDisplays/PortValueDisplay.razor rename to src/DnsmasqWebUI/Components/EffectiveConfig/CustomDisplays/PortValueDisplay.razor index bf23f42..83bc824 100644 --- a/src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/CustomDisplays/PortValueDisplay.razor +++ b/src/DnsmasqWebUI/Components/EffectiveConfig/CustomDisplays/PortValueDisplay.razor @@ -1,4 +1,4 @@ -@namespace DnsmasqWebUI.Components.Dnsmasq.EffectiveConfig.CustomDisplays +@namespace DnsmasqWebUI.Components.EffectiveConfig.CustomDisplays @using DnsmasqWebUI.Models.Dnsmasq @inherits EffectiveConfigValueDisplayBase diff --git a/src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/EffectiveConfigFieldDisplay.razor b/src/DnsmasqWebUI/Components/EffectiveConfig/Fields/EffectiveConfigFieldDisplay.razor similarity index 99% rename from src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/EffectiveConfigFieldDisplay.razor rename to src/DnsmasqWebUI/Components/EffectiveConfig/Fields/EffectiveConfigFieldDisplay.razor index 621ce95..d2169be 100644 --- a/src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/EffectiveConfigFieldDisplay.razor +++ b/src/DnsmasqWebUI/Components/EffectiveConfig/Fields/EffectiveConfigFieldDisplay.razor @@ -1,4 +1,4 @@ -@namespace DnsmasqWebUI.Components.Dnsmasq.EffectiveConfig +@namespace DnsmasqWebUI.Components.EffectiveConfig @using DnsmasqWebUI.Models.Dnsmasq @using DnsmasqWebUI.Models.Dnsmasq.EffectiveConfig @using DnsmasqWebUI.Models.Config diff --git a/src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/EffectiveConfigMultiValueItem.razor b/src/DnsmasqWebUI/Components/EffectiveConfig/Fields/EffectiveConfigMultiValueItem.razor similarity index 92% rename from src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/EffectiveConfigMultiValueItem.razor rename to src/DnsmasqWebUI/Components/EffectiveConfig/Fields/EffectiveConfigMultiValueItem.razor index 2a8ebd8..bc0bc2b 100644 --- a/src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/EffectiveConfigMultiValueItem.razor +++ b/src/DnsmasqWebUI/Components/EffectiveConfig/Fields/EffectiveConfigMultiValueItem.razor @@ -1,4 +1,4 @@ -@namespace DnsmasqWebUI.Components.Dnsmasq.EffectiveConfig +@namespace DnsmasqWebUI.Components.EffectiveConfig @using DnsmasqWebUI.Models.Dnsmasq @using DnsmasqWebUI.Models.Dnsmasq.EffectiveConfig diff --git a/src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/EffectiveConfigMultiValueRow.razor b/src/DnsmasqWebUI/Components/EffectiveConfig/Fields/EffectiveConfigMultiValueRow.razor similarity index 97% rename from src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/EffectiveConfigMultiValueRow.razor rename to src/DnsmasqWebUI/Components/EffectiveConfig/Fields/EffectiveConfigMultiValueRow.razor index 6e50126..0a34dc4 100644 --- a/src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/EffectiveConfigMultiValueRow.razor +++ b/src/DnsmasqWebUI/Components/EffectiveConfig/Fields/EffectiveConfigMultiValueRow.razor @@ -1,4 +1,4 @@ -@namespace DnsmasqWebUI.Components.Dnsmasq.EffectiveConfig +@namespace DnsmasqWebUI.Components.EffectiveConfig @using DnsmasqWebUI.Models.Dnsmasq @using DnsmasqWebUI.Models.Dnsmasq.EffectiveConfig diff --git a/src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/EffectiveConfigOptionItem.razor b/src/DnsmasqWebUI/Components/EffectiveConfig/Fields/EffectiveConfigOptionItem.razor similarity index 98% rename from src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/EffectiveConfigOptionItem.razor rename to src/DnsmasqWebUI/Components/EffectiveConfig/Fields/EffectiveConfigOptionItem.razor index a185ef1..b538559 100644 --- a/src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/EffectiveConfigOptionItem.razor +++ b/src/DnsmasqWebUI/Components/EffectiveConfig/Fields/EffectiveConfigOptionItem.razor @@ -1,4 +1,4 @@ -@namespace DnsmasqWebUI.Components.Dnsmasq.EffectiveConfig +@namespace DnsmasqWebUI.Components.EffectiveConfig @using DnsmasqWebUI.Models.Dnsmasq @using DnsmasqWebUI.Models.Dnsmasq.EffectiveConfig diff --git a/src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/ConfigOptionHelpModal.razor b/src/DnsmasqWebUI/Components/EffectiveConfig/Modals/ConfigOptionHelpModal.razor similarity index 98% rename from src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/ConfigOptionHelpModal.razor rename to src/DnsmasqWebUI/Components/EffectiveConfig/Modals/ConfigOptionHelpModal.razor index f1a14b7..991dccc 100644 --- a/src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/ConfigOptionHelpModal.razor +++ b/src/DnsmasqWebUI/Components/EffectiveConfig/Modals/ConfigOptionHelpModal.razor @@ -1,5 +1,5 @@ -@namespace DnsmasqWebUI.Components.Dnsmasq.EffectiveConfig -@using DnsmasqWebUI.Extensions +@namespace DnsmasqWebUI.Components.EffectiveConfig +@using DnsmasqWebUI.Extensions.DependencyInjection @using Microsoft.AspNetCore.Components @using Microsoft.JSInterop @using System.Text.Json.Serialization diff --git a/src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/ConfigOptionHelpModal.razor.css b/src/DnsmasqWebUI/Components/EffectiveConfig/Modals/ConfigOptionHelpModal.razor.css similarity index 100% rename from src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/ConfigOptionHelpModal.razor.css rename to src/DnsmasqWebUI/Components/EffectiveConfig/Modals/ConfigOptionHelpModal.razor.css diff --git a/src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/EffectiveConfigSaveFlow.razor b/src/DnsmasqWebUI/Components/EffectiveConfig/Modals/EffectiveConfigSaveFlow.razor similarity index 95% rename from src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/EffectiveConfigSaveFlow.razor rename to src/DnsmasqWebUI/Components/EffectiveConfig/Modals/EffectiveConfigSaveFlow.razor index 4bfb39d..ca64464 100644 --- a/src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/EffectiveConfigSaveFlow.razor +++ b/src/DnsmasqWebUI/Components/EffectiveConfig/Modals/EffectiveConfigSaveFlow.razor @@ -1,4 +1,4 @@ -@namespace DnsmasqWebUI.Components.Dnsmasq.EffectiveConfig +@namespace DnsmasqWebUI.Components.EffectiveConfig @using DnsmasqWebUI.Models.Dnsmasq @using DnsmasqWebUI.Models.Dnsmasq.EffectiveConfig @using DnsmasqWebUI.Infrastructure.Services.EffectiveConfig.Abstractions diff --git a/src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/EffectiveConfigSaveModal.razor b/src/DnsmasqWebUI/Components/EffectiveConfig/Modals/EffectiveConfigSaveModal.razor similarity index 98% rename from src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/EffectiveConfigSaveModal.razor rename to src/DnsmasqWebUI/Components/EffectiveConfig/Modals/EffectiveConfigSaveModal.razor index 9c49fe1..ce49040 100644 --- a/src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/EffectiveConfigSaveModal.razor +++ b/src/DnsmasqWebUI/Components/EffectiveConfig/Modals/EffectiveConfigSaveModal.razor @@ -1,4 +1,4 @@ -@namespace DnsmasqWebUI.Components.Dnsmasq.EffectiveConfig +@namespace DnsmasqWebUI.Components.EffectiveConfig @using DnsmasqWebUI.Models.Dnsmasq @using DnsmasqWebUI.Models.Dnsmasq.EffectiveConfig @using DnsmasqWebUI.Infrastructure.Services.EffectiveConfig.Abstractions diff --git a/src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/EffectiveConfigSaveModal.razor.css b/src/DnsmasqWebUI/Components/EffectiveConfig/Modals/EffectiveConfigSaveModal.razor.css similarity index 100% rename from src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/EffectiveConfigSaveModal.razor.css rename to src/DnsmasqWebUI/Components/EffectiveConfig/Modals/EffectiveConfigSaveModal.razor.css diff --git a/src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/OptionHelpController.razor b/src/DnsmasqWebUI/Components/EffectiveConfig/Popovers/OptionHelpController.razor similarity index 97% rename from src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/OptionHelpController.razor rename to src/DnsmasqWebUI/Components/EffectiveConfig/Popovers/OptionHelpController.razor index 914d718..b89d389 100644 --- a/src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/OptionHelpController.razor +++ b/src/DnsmasqWebUI/Components/EffectiveConfig/Popovers/OptionHelpController.razor @@ -1,4 +1,4 @@ -@namespace DnsmasqWebUI.Components.Dnsmasq.EffectiveConfig +@namespace DnsmasqWebUI.Components.EffectiveConfig @using DnsmasqWebUI.Models.Dnsmasq.EffectiveConfig diff --git a/src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/OptionStateBadge.razor b/src/DnsmasqWebUI/Components/EffectiveConfig/Popovers/OptionStateBadge.razor similarity index 98% rename from src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/OptionStateBadge.razor rename to src/DnsmasqWebUI/Components/EffectiveConfig/Popovers/OptionStateBadge.razor index d435a70..5f06319 100644 --- a/src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/OptionStateBadge.razor +++ b/src/DnsmasqWebUI/Components/EffectiveConfig/Popovers/OptionStateBadge.razor @@ -1,4 +1,4 @@ -@namespace DnsmasqWebUI.Components.Dnsmasq.EffectiveConfig +@namespace DnsmasqWebUI.Components.EffectiveConfig @using DnsmasqWebUI.Models.Dnsmasq @using DnsmasqWebUI.Models.Dnsmasq.EffectiveConfig diff --git a/src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/ReadonlyEditHint.razor b/src/DnsmasqWebUI/Components/EffectiveConfig/Popovers/ReadonlyEditHint.razor similarity index 96% rename from src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/ReadonlyEditHint.razor rename to src/DnsmasqWebUI/Components/EffectiveConfig/Popovers/ReadonlyEditHint.razor index a2fa94f..e4cb264 100644 --- a/src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/ReadonlyEditHint.razor +++ b/src/DnsmasqWebUI/Components/EffectiveConfig/Popovers/ReadonlyEditHint.razor @@ -1,4 +1,4 @@ -@namespace DnsmasqWebUI.Components.Dnsmasq.EffectiveConfig +@namespace DnsmasqWebUI.Components.EffectiveConfig @using DnsmasqWebUI.Models.Dnsmasq.EffectiveConfig @using DnsmasqWebUI.Infrastructure.Helpers.Config diff --git a/src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/ReadonlyEditPopover.razor b/src/DnsmasqWebUI/Components/EffectiveConfig/Popovers/ReadonlyEditPopover.razor similarity index 99% rename from src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/ReadonlyEditPopover.razor rename to src/DnsmasqWebUI/Components/EffectiveConfig/Popovers/ReadonlyEditPopover.razor index 47eb882..59d7879 100644 --- a/src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/ReadonlyEditPopover.razor +++ b/src/DnsmasqWebUI/Components/EffectiveConfig/Popovers/ReadonlyEditPopover.razor @@ -1,4 +1,4 @@ -@namespace DnsmasqWebUI.Components.Dnsmasq.EffectiveConfig +@namespace DnsmasqWebUI.Components.EffectiveConfig @using DnsmasqWebUI.Models.Dnsmasq.EffectiveConfig @using DnsmasqWebUI.Infrastructure.Helpers.Config @using DnsmasqWebUI.Extensions diff --git a/src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/ReadonlyEditPopover.razor.css b/src/DnsmasqWebUI/Components/EffectiveConfig/Popovers/ReadonlyEditPopover.razor.css similarity index 100% rename from src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/ReadonlyEditPopover.razor.css rename to src/DnsmasqWebUI/Components/EffectiveConfig/Popovers/ReadonlyEditPopover.razor.css diff --git a/src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/ReadonlyPopoverController.razor b/src/DnsmasqWebUI/Components/EffectiveConfig/Popovers/ReadonlyPopoverController.razor similarity index 97% rename from src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/ReadonlyPopoverController.razor rename to src/DnsmasqWebUI/Components/EffectiveConfig/Popovers/ReadonlyPopoverController.razor index f5a866a..70c2f85 100644 --- a/src/DnsmasqWebUI/Components/Dnsmasq/EffectiveConfig/ReadonlyPopoverController.razor +++ b/src/DnsmasqWebUI/Components/EffectiveConfig/Popovers/ReadonlyPopoverController.razor @@ -1,4 +1,4 @@ -@namespace DnsmasqWebUI.Components.Dnsmasq.EffectiveConfig +@namespace DnsmasqWebUI.Components.EffectiveConfig @using DnsmasqWebUI.Models.Dnsmasq @using DnsmasqWebUI.Models.Dnsmasq.EffectiveConfig diff --git a/src/DnsmasqWebUI/Components/Modals/SettingsModal.razor.cs b/src/DnsmasqWebUI/Components/Modals/SettingsModal.razor.cs index 40b3a56..17135b3 100644 --- a/src/DnsmasqWebUI/Components/Modals/SettingsModal.razor.cs +++ b/src/DnsmasqWebUI/Components/Modals/SettingsModal.razor.cs @@ -1,5 +1,5 @@ -using DnsmasqWebUI.Extensions; using DnsmasqWebUI.Models.Client; +using DnsmasqWebUI.Extensions.Interop; using DnsmasqWebUI.Infrastructure.Services.UI.Settings.Abstractions; using Microsoft.AspNetCore.Components; using Microsoft.AspNetCore.Components.Web; diff --git a/src/DnsmasqWebUI/Components/_Imports.razor b/src/DnsmasqWebUI/Components/_Imports.razor index 78fe6d8..260c1c2 100644 --- a/src/DnsmasqWebUI/Components/_Imports.razor +++ b/src/DnsmasqWebUI/Components/_Imports.razor @@ -7,7 +7,9 @@ @using Microsoft.AspNetCore.Components.Web.Virtualization @using Microsoft.JSInterop @using DnsmasqWebUI -@using DnsmasqWebUI.Extensions +@using DnsmasqWebUI.Extensions.DependencyInjection +@using DnsmasqWebUI.Extensions.Hosting +@using DnsmasqWebUI.Extensions.Interop @using DnsmasqWebUI.Models.Client @using DnsmasqWebUI.Models.Client.Abstractions @using DnsmasqWebUI.Infrastructure.Services.Common.Process.Abstractions @@ -23,7 +25,10 @@ @using DnsmasqWebUI.Components.Shared @using DnsmasqWebUI.Components.Modals @using DnsmasqWebUI.Components.Dnsmasq -@using DnsmasqWebUI.Components.Dnsmasq.EffectiveConfig +@using DnsmasqWebUI.Components.Dnsmasq.Status +@using DnsmasqWebUI.Components.Dnsmasq.Logs +@using DnsmasqWebUI.Components.Dnsmasq.AppLogs +@using DnsmasqWebUI.Components.EffectiveConfig @using DnsmasqWebUI.Components.Hosts @using DnsmasqWebUI.Infrastructure @using DnsmasqWebUI.Infrastructure.Helpers.Config diff --git a/src/DnsmasqWebUI/Extensions/LoggingBuilderExtensions.cs b/src/DnsmasqWebUI/Extensions/DependencyInjection/LoggingBuilderExtensions.cs similarity index 96% rename from src/DnsmasqWebUI/Extensions/LoggingBuilderExtensions.cs rename to src/DnsmasqWebUI/Extensions/DependencyInjection/LoggingBuilderExtensions.cs index 7937526..2b13f7b 100644 --- a/src/DnsmasqWebUI/Extensions/LoggingBuilderExtensions.cs +++ b/src/DnsmasqWebUI/Extensions/DependencyInjection/LoggingBuilderExtensions.cs @@ -7,7 +7,7 @@ using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; -namespace DnsmasqWebUI.Extensions; +namespace DnsmasqWebUI.Extensions.DependencyInjection; /// /// App logs setup: buffer, channel, and provider. diff --git a/src/DnsmasqWebUI/Extensions/ServiceCollectionExtensions.cs b/src/DnsmasqWebUI/Extensions/DependencyInjection/ServiceCollectionExtensions.cs similarity index 99% rename from src/DnsmasqWebUI/Extensions/ServiceCollectionExtensions.cs rename to src/DnsmasqWebUI/Extensions/DependencyInjection/ServiceCollectionExtensions.cs index 8303381..02b937e 100644 --- a/src/DnsmasqWebUI/Extensions/ServiceCollectionExtensions.cs +++ b/src/DnsmasqWebUI/Extensions/DependencyInjection/ServiceCollectionExtensions.cs @@ -5,7 +5,7 @@ using DnsmasqWebUI.Infrastructure.Services.Registration.Abstractions; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; -namespace DnsmasqWebUI.Extensions; +namespace DnsmasqWebUI.Extensions.DependencyInjection; public static class ServiceCollectionExtensions { diff --git a/src/DnsmasqWebUI/Extensions/CorsExtensions.cs b/src/DnsmasqWebUI/Extensions/Hosting/CorsExtensions.cs similarity index 98% rename from src/DnsmasqWebUI/Extensions/CorsExtensions.cs rename to src/DnsmasqWebUI/Extensions/Hosting/CorsExtensions.cs index 1eaf2ed..0dc81fb 100644 --- a/src/DnsmasqWebUI/Extensions/CorsExtensions.cs +++ b/src/DnsmasqWebUI/Extensions/Hosting/CorsExtensions.cs @@ -1,7 +1,7 @@ using Microsoft.AspNetCore.Builder; using Microsoft.Extensions.DependencyInjection; -namespace DnsmasqWebUI.Extensions; +namespace DnsmasqWebUI.Extensions.Hosting; /// /// CORS configuration from app settings (Cors:Enabled, Cors:PolicyName, Cors:AllowAnyOrigin, etc.). diff --git a/src/DnsmasqWebUI/Extensions/WebApplicationExtensions.cs b/src/DnsmasqWebUI/Extensions/Hosting/WebApplicationExtensions.cs similarity index 96% rename from src/DnsmasqWebUI/Extensions/WebApplicationExtensions.cs rename to src/DnsmasqWebUI/Extensions/Hosting/WebApplicationExtensions.cs index 439b334..c99cf81 100644 --- a/src/DnsmasqWebUI/Extensions/WebApplicationExtensions.cs +++ b/src/DnsmasqWebUI/Extensions/Hosting/WebApplicationExtensions.cs @@ -2,7 +2,7 @@ using System.Net; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.HttpOverrides; -namespace DnsmasqWebUI.Extensions; +namespace DnsmasqWebUI.Extensions.Hosting; /// /// Middleware configuration from app settings (forwarded headers, HTTPS, CORS). diff --git a/src/DnsmasqWebUI/Extensions/JSObjectReferenceExtensions.cs b/src/DnsmasqWebUI/Extensions/Interop/JSObjectReferenceExtensions.cs similarity index 98% rename from src/DnsmasqWebUI/Extensions/JSObjectReferenceExtensions.cs rename to src/DnsmasqWebUI/Extensions/Interop/JSObjectReferenceExtensions.cs index 0c0d42b..c96b7c1 100644 --- a/src/DnsmasqWebUI/Extensions/JSObjectReferenceExtensions.cs +++ b/src/DnsmasqWebUI/Extensions/Interop/JSObjectReferenceExtensions.cs @@ -1,6 +1,6 @@ using Microsoft.JSInterop; -namespace DnsmasqWebUI.Extensions; +namespace DnsmasqWebUI.Extensions.Interop; /// /// Safe JS module interop helpers that swallow disconnect/cancel/dispose exceptions. diff --git a/src/DnsmasqWebUI/Extensions/JSRuntimeExtensions.cs b/src/DnsmasqWebUI/Extensions/Interop/JSRuntimeExtensions.cs similarity index 97% rename from src/DnsmasqWebUI/Extensions/JSRuntimeExtensions.cs rename to src/DnsmasqWebUI/Extensions/Interop/JSRuntimeExtensions.cs index f4c9905..bbf5dde 100644 --- a/src/DnsmasqWebUI/Extensions/JSRuntimeExtensions.cs +++ b/src/DnsmasqWebUI/Extensions/Interop/JSRuntimeExtensions.cs @@ -1,6 +1,6 @@ using Microsoft.JSInterop; -namespace DnsmasqWebUI.Extensions; +namespace DnsmasqWebUI.Extensions.Interop; /// /// Safe JS interop helpers that swallow disconnect/cancel/dispose exceptions. diff --git a/src/DnsmasqWebUI/Hubs/LogsHub.cs b/src/DnsmasqWebUI/Infrastructure/Realtime/Hubs/LogsHub.cs similarity index 95% rename from src/DnsmasqWebUI/Hubs/LogsHub.cs rename to src/DnsmasqWebUI/Infrastructure/Realtime/Hubs/LogsHub.cs index 461a658..dfe4f08 100644 --- a/src/DnsmasqWebUI/Hubs/LogsHub.cs +++ b/src/DnsmasqWebUI/Infrastructure/Realtime/Hubs/LogsHub.cs @@ -1,7 +1,7 @@ using DnsmasqWebUI.Infrastructure.Services.Logs.Abstractions; using Microsoft.AspNetCore.SignalR; -namespace DnsmasqWebUI.Hubs; +namespace DnsmasqWebUI.Infrastructure.Realtime.Hubs; /// /// SignalR hub for log streaming. Clients receive DnsmasqLogsUpdate and AppLogsUpdate. diff --git a/src/DnsmasqWebUI/Infrastructure/Services/EffectiveConfig/EffectiveConfigRenderFragmentRegistry.cs b/src/DnsmasqWebUI/Infrastructure/Services/EffectiveConfig/EffectiveConfigRenderFragmentRegistry.cs index d8768d4..74e8e33 100644 --- a/src/DnsmasqWebUI/Infrastructure/Services/EffectiveConfig/EffectiveConfigRenderFragmentRegistry.cs +++ b/src/DnsmasqWebUI/Infrastructure/Services/EffectiveConfig/EffectiveConfigRenderFragmentRegistry.cs @@ -4,7 +4,7 @@ using DnsmasqWebUI.Models.Dnsmasq; using DnsmasqWebUI.Models.Dnsmasq.EffectiveConfig; using DnsmasqWebUI.Models.Dnsmasq.EffectiveConfig.Abstractions; using DnsmasqWebUI.Infrastructure.Services.EffectiveConfig.Abstractions; -using DnsmasqWebUI.Components.Dnsmasq.EffectiveConfig.CustomDisplays; +using DnsmasqWebUI.Components.EffectiveConfig.CustomDisplays; namespace DnsmasqWebUI.Infrastructure.Services.EffectiveConfig; diff --git a/src/DnsmasqWebUI/Infrastructure/Services/Logs/LogsService.cs b/src/DnsmasqWebUI/Infrastructure/Services/Logs/LogsService.cs index 372067e..e72870c 100644 --- a/src/DnsmasqWebUI/Infrastructure/Services/Logs/LogsService.cs +++ b/src/DnsmasqWebUI/Infrastructure/Services/Logs/LogsService.cs @@ -2,6 +2,7 @@ using System.Text; using DnsmasqWebUI.Infrastructure.Services.Common.Process.Abstractions; using DnsmasqWebUI.Infrastructure.Services.Logs.Abstractions; using DnsmasqWebUI.Models.Config; +using DnsmasqWebUI.Infrastructure.Realtime.Hubs; using DnsmasqWebUI.Models.Logs; using Microsoft.AspNetCore.SignalR; using Microsoft.Extensions.DependencyInjection; @@ -21,7 +22,7 @@ public sealed class LogsService : ILogsService /// Max bytes per SignalR message (under 32KB default). private const int MaxMessageContentBytes = 28 * 1024; - private readonly IHubContext _hubContext; + private readonly IHubContext _hubContext; private readonly IServiceScopeFactory _scopeFactory; private readonly IOptions _options; private readonly IAppLogsBuffer _appLogsBuffer; @@ -30,7 +31,7 @@ public sealed class LogsService : ILogsService private string _lastDnsmasqOutput = ""; public LogsService( - IHubContext hubContext, + IHubContext hubContext, IServiceScopeFactory scopeFactory, IOptions options, IAppLogsBuffer appLogsBuffer, diff --git a/src/DnsmasqWebUI/Infrastructure/Services/UI/Settings/ClientSettingsService.cs b/src/DnsmasqWebUI/Infrastructure/Services/UI/Settings/ClientSettingsService.cs index 05cd6b2..a80c4f0 100644 --- a/src/DnsmasqWebUI/Infrastructure/Services/UI/Settings/ClientSettingsService.cs +++ b/src/DnsmasqWebUI/Infrastructure/Services/UI/Settings/ClientSettingsService.cs @@ -1,5 +1,5 @@ using System.Text.Json; -using DnsmasqWebUI.Extensions; +using DnsmasqWebUI.Extensions.Interop; using DnsmasqWebUI.Models.Client; using DnsmasqWebUI.Infrastructure.Services.UI.Settings.Abstractions; using Microsoft.JSInterop; diff --git a/src/DnsmasqWebUI/Infrastructure/Services/Updates/UpdateCheckService.cs b/src/DnsmasqWebUI/Infrastructure/Services/Updates/UpdateCheckService.cs index 0d4eeca..eb3bf86 100644 --- a/src/DnsmasqWebUI/Infrastructure/Services/Updates/UpdateCheckService.cs +++ b/src/DnsmasqWebUI/Infrastructure/Services/Updates/UpdateCheckService.cs @@ -1,6 +1,6 @@ using System.Reflection; using System.Text.Json; -using DnsmasqWebUI.Extensions; +using DnsmasqWebUI.Extensions.DependencyInjection; using DnsmasqWebUI.Infrastructure.Services.Updates.Abstractions; using DnsmasqWebUI.Models.Config; using Microsoft.Extensions.Options; diff --git a/src/DnsmasqWebUI/Program.cs b/src/DnsmasqWebUI/Program.cs index 80401eb..a3d8e11 100644 --- a/src/DnsmasqWebUI/Program.cs +++ b/src/DnsmasqWebUI/Program.cs @@ -1,7 +1,8 @@ using DnsmasqWebUI.Components; -using DnsmasqWebUI.Hubs; +using DnsmasqWebUI.Infrastructure.Realtime.Hubs; using DnsmasqWebUI.Models.Config; -using DnsmasqWebUI.Extensions; +using DnsmasqWebUI.Extensions.DependencyInjection; +using DnsmasqWebUI.Extensions.Hosting; using DnsmasqWebUI.Infrastructure.Helpers.Http; using DnsmasqWebUI.Infrastructure.Services.UI.Settings; using DnsmasqWebUI.Infrastructure.Services.UI.Settings.Abstractions;