@using System.Diagnostics @using LANCommander.Launcher.Data.Models @using LANCommander.Launcher.Models @inherits FeedbackComponent @inject LibraryService LibraryService @foreach (var directory in Settings.Games.InstallDirectories) { @directory @ByteSizeLib.ByteSize.FromBytes(GetFreeSpace(directory)) } @code { Settings Settings = SettingService.GetSettings(); string SelectedDirectory = ""; protected override void OnInitialized() { SelectedDirectory = Settings.Games.InstallDirectories.First(); } public override async Task OnFeedbackOkAsync(ModalClosingEventArgs args) { LibraryService.Install(Options, SelectedDirectory); } long GetFreeSpace(string path) { var root = Path.GetPathRoot(path); var drive = new DriveInfo(path); return drive.AvailableFreeSpace; } }