@inherits FeedbackComponent @foreach (var variable in LanCommanderVariables) { @variable.Value } @foreach (var variable in EnvironmentVariables) { @variable } @foreach (var variable in SpecialFolderVariables) { @variable } @code { Input? _input; string _value = ""; static readonly (string Value, string Description)[] LanCommanderVariables = [ ("{InstallDir}", "The game's installation directory"), ("{DisplayWidth}", "Primary display width in pixels"), ("{DisplayHeight}", "Primary display height in pixels"), ("{DisplayRefreshRate}", "Primary display refresh rate in Hz"), ("{DisplayBitDepth}", "Primary display bit depth in bpp"), ("{ServerAddress}", "LANCommander server address"), ("{IPXRelayHost}", "IPX relay host address"), ("{IPXRelayPort}", "IPX relay port"), ]; static readonly string[] EnvironmentVariables = [ "%TEMP%", "%TMP%", "%LOCALAPPDATA%", "%APPDATA%", "%USERPROFILE%", "%PUBLIC%", "%ProgramData%", "%CommonProgramFiles(x86)%", "%CommonProgramFiles%", "%ProgramFiles(x86)%", "%ProgramFiles%", "%SystemRoot%", "%windir%", "%USERNAME%", "%SystemDrive%", ]; static readonly string[] SpecialFolderVariables = [ "%MyDocuments%", "%Desktop%", "%MyMusic%", "%MyPictures%", "%MyVideos%", "%CommonApplicationData%", "%CommonDesktopDirectory%", "%CommonDocuments%", "%CommonMusic%", "%CommonPictures%", "%CommonPrograms%", "%CommonStartMenu%", "%CommonStartup%", "%CommonVideos%", "%Fonts%", "%StartMenu%", ]; protected override void OnInitialized() { _value = Options?.Value ?? ""; } void InsertVariable(string variable) { _value += variable; StateHasChanged(); } public override async Task OnFeedbackOkAsync(ModalClosingEventArgs args) { await base.OkCancelRefWithResult!.OnOk(_value); } }