diff --git a/LANCommander/Components/InputArchiveFile.razor b/LANCommander/Components/InputArchiveFile.razor
index b7775fe..8e19a4e 100644
--- a/LANCommander/Components/InputArchiveFile.razor
+++ b/LANCommander/Components/InputArchiveFile.razor
@@ -1,6 +1,7 @@
@using LANCommander.Models;
@using System.IO.Compression;
@inject ModalService ModalService
+@inject ArchiveService ArchiveService
@@ -8,7 +9,7 @@
@if (ArchiveId != Guid.Empty) {
-
+
}
@@ -20,6 +21,14 @@
[Parameter] public string ArchiveBrowserTitle { get; set; } = "Choose File";
[Parameter] public bool AllowDirectories { get; set; } = false;
+ bool ArchiveExists { get; set; } = false;
+
+ protected override async Task OnInitializedAsync()
+ {
+ if (ArchiveId != Guid.Empty)
+ ArchiveExists = await ArchiveService.Exists(ArchiveId);
+ }
+
private async void BrowseForFile()
{
var modalOptions = new ModalOptions()
diff --git a/LANCommander/Services/ArchiveService.cs b/LANCommander/Services/ArchiveService.cs
index 998266a..182c2a7 100644
--- a/LANCommander/Services/ArchiveService.cs
+++ b/LANCommander/Services/ArchiveService.cs
@@ -88,6 +88,15 @@ namespace LANCommander.Services
}
}
+ public async Task Exists(Guid archiveId)
+ {
+ var archive = await Get(archiveId);
+
+ var path = GetArchiveFileLocation(archive);
+
+ return File.Exists(path);
+ }
+
public async Task> GetContents(Guid archiveId)
{
var archive = await Get(archiveId);