Fixed directory selection logic

This commit is contained in:
Thorsten Sommer 2026-05-22 15:45:04 +02:00
parent 0fc78939b7
commit a997a965ad
Signed by untrusted user who does not match committer: tsommer
GPG Key ID: 371BBA77A02C0108

View File

@ -6,9 +6,11 @@ public sealed partial class RustService
{ {
public async Task<DirectorySelectionResponse> SelectDirectory(string title, string? initialDirectory = null) public async Task<DirectorySelectionResponse> SelectDirectory(string title, string? initialDirectory = null)
{ {
PreviousDirectory? previousDirectory = initialDirectory is null ? null : new (initialDirectory);
var encodedTitle = Uri.EscapeDataString(title); var encodedTitle = Uri.EscapeDataString(title);
var result = await this.http.PostAsJsonAsync($"/select/directory?title={encodedTitle}", previousDirectory, this.jsonRustSerializerOptions); var result = initialDirectory is null
? await this.http.PostAsync($"/select/directory?title={encodedTitle}", null)
: await this.http.PostAsJsonAsync($"/select/directory?title={encodedTitle}", new PreviousDirectory(initialDirectory), this.jsonRustSerializerOptions);
if (!result.IsSuccessStatusCode) if (!result.IsSuccessStatusCode)
{ {
this.logger!.LogError($"Failed to select a directory: '{result.StatusCode}'"); this.logger!.LogError($"Failed to select a directory: '{result.StatusCode}'");