@using Moonlight.App.Database.Entities @using Moonlight.Shared.Components.ServerControl.Settings @using Microsoft.AspNetCore.Components.Rendering @foreach (var setting in Settings) { @(setting.Key) @(GetComponent(setting.Value)) } @code { [CascadingParameter] public Server CurrentServer { get; set; } [CascadingParameter] public string[] Tags { get; set; } private Dictionary Settings = new(); private Task Load(LazyLoader lazyLoader) { if(Tags.Contains("paperversion")) Settings.Add("Paper version", typeof(PaperVersionSetting)); if(Tags.Contains("join2start")) Settings.Add("Join2Start", typeof(Join2StartSetting)); if(Tags.Contains("javascriptversion")) Settings.Add("Javascript version", typeof(JavascriptVersionSetting)); if(Tags.Contains("javascriptfile")) Settings.Add("Javascript file", typeof(JavascriptFileSetting)); if(Tags.Contains("pythonversion")) Settings.Add("Python version", typeof(PythonVersionSetting)); if(Tags.Contains("pythonfile")) Settings.Add("Python file", typeof(PythonFileSetting)); Settings.Add("Rename", typeof(ServerRenameSetting)); Settings.Add("Reset", typeof(ServerResetSetting)); Settings.Add("Delete", typeof(ServerDeleteSetting)); return Task.CompletedTask; } private RenderFragment GetComponent(Type type) => builder => { builder.OpenComponent(0, type); builder.CloseComponent(); }; }