From 98977c8ed57e398731aa592da17a61e96e9e21e4 Mon Sep 17 00:00:00 2001 From: ebolo Date: Thu, 23 Jan 2025 23:18:23 +0700 Subject: [PATCH] feat: init new config dialog --- .../CaddyfileEditor/CaddyfileEditor.razor | 8 ++++++- .../CaddyfileEditor/CaddyfileEditor.razor.cs | 8 ++++++- .../ReverseProxies/ReverseProxiesPage.razor | 5 ++++- .../ReverseProxiesPage.razor.cs | 22 ++++++++++++++++++- 4 files changed, 39 insertions(+), 4 deletions(-) diff --git a/CaddyManager/Components/Pages/CaddyfileEditor/CaddyfileEditor.razor b/CaddyManager/Components/Pages/CaddyfileEditor/CaddyfileEditor.razor index aedbcda..c7d3fe1 100644 --- a/CaddyManager/Components/Pages/CaddyfileEditor/CaddyfileEditor.razor +++ b/CaddyManager/Components/Pages/CaddyfileEditor/CaddyfileEditor.razor @@ -4,9 +4,15 @@ + @if (IsNew) + { + + } + File content - Cancel diff --git a/CaddyManager/Components/Pages/CaddyfileEditor/CaddyfileEditor.razor.cs b/CaddyManager/Components/Pages/CaddyfileEditor/CaddyfileEditor.razor.cs index 81c6dfc..1ab61ae 100644 --- a/CaddyManager/Components/Pages/CaddyfileEditor/CaddyfileEditor.razor.cs +++ b/CaddyManager/Components/Pages/CaddyfileEditor/CaddyfileEditor.razor.cs @@ -12,6 +12,11 @@ public partial class CaddyfileEditor : ComponentBase [CascadingParameter] private IMudDialogInstance MudDialog { get; set; } = null!; + /// + /// Determines if the Caddy configuration file is new + /// + private bool IsNew => string.IsNullOrWhiteSpace(FileName); + [Parameter] public string FileName { get; set; } = string.Empty; @@ -27,8 +32,9 @@ public partial class CaddyfileEditor : ComponentBase return new StandaloneEditorConstructionOptions { AutomaticLayout = true, - Language = "plaintext", + Language = "graphql", Value = _caddyConfigurationContent, + Theme = "vs-dark", }; } diff --git a/CaddyManager/Components/Pages/ReverseProxies/ReverseProxiesPage.razor b/CaddyManager/Components/Pages/ReverseProxies/ReverseProxiesPage.razor index 4397234..1160356 100644 --- a/CaddyManager/Components/Pages/ReverseProxies/ReverseProxiesPage.razor +++ b/CaddyManager/Components/Pages/ReverseProxies/ReverseProxiesPage.razor @@ -2,11 +2,14 @@ @attribute [StreamRendering] @using CaddyManager.Contracts.Caddy @inject ICaddyService CaddyService +@inject IDialogService DialogService Reverse proxy configurations - New... + New... + Delete diff --git a/CaddyManager/Components/Pages/ReverseProxies/ReverseProxiesPage.razor.cs b/CaddyManager/Components/Pages/ReverseProxies/ReverseProxiesPage.razor.cs index a48535d..7209d69 100644 --- a/CaddyManager/Components/Pages/ReverseProxies/ReverseProxiesPage.razor.cs +++ b/CaddyManager/Components/Pages/ReverseProxies/ReverseProxiesPage.razor.cs @@ -1,6 +1,9 @@ +using Microsoft.AspNetCore.Components; +using MudBlazor; + namespace CaddyManager.Components.Pages.ReverseProxies; -public partial class ReverseProxiesPage +public partial class ReverseProxiesPage : ComponentBase { private List _availableCaddyConfigurations = []; private IReadOnlyCollection _selectedCaddyConfigurations = []; @@ -10,4 +13,21 @@ public partial class ReverseProxiesPage _availableCaddyConfigurations = CaddyService.GetExistingCaddyConfigurations(); return base.OnInitializedAsync(); } + + /// + /// Method to help open the dialog to create a new reverse proxy configuration + /// + /// + private Task NewReverseProxy() + { + return DialogService.ShowAsync("New configuration", + options: new DialogOptions + { + FullWidth = true, + MaxWidth = MaxWidth.Medium, + }, parameters: new DialogParameters + { + { "FileName", string.Empty } + }); + } } \ No newline at end of file