diff --git a/I18N Commander/UI MAUI/Pages/LoadProject.razor b/I18N Commander/UI MAUI/Pages/LoadProject.razor
index 5912809..f1adf22 100644
--- a/I18N Commander/UI MAUI/Pages/LoadProject.razor
+++ b/I18N Commander/UI MAUI/Pages/LoadProject.razor
@@ -24,7 +24,7 @@
-
+
@if (DeviceInfo.Idiom == DeviceIdiom.Desktop)
@@ -38,5 +38,5 @@
}
-
+
\ No newline at end of file
diff --git a/I18N Commander/UI MAUI/Pages/LoadProject.razor.cs b/I18N Commander/UI MAUI/Pages/LoadProject.razor.cs
index 49512f8..93a9dc0 100644
--- a/I18N Commander/UI MAUI/Pages/LoadProject.razor.cs
+++ b/I18N Commander/UI MAUI/Pages/LoadProject.razor.cs
@@ -7,6 +7,7 @@ public partial class LoadProject
{
private readonly List recentProjects = new();
+ private string newProjectName = string.Empty;
private string newProjectDestination = string.Empty;
#region Overrides of ComponentBase
@@ -39,17 +40,36 @@ public partial class LoadProject
private Task ChooseProjectDestination()
{
+ try
+ {
#if WINDOWS
- return this.ChooseProjectDestinationWindows();
+ return this.ChooseProjectDestinationWindows();
#elif MACCATALYST
- return this.ChooseProjectDestinationMacOS();
+ return this.ChooseProjectDestinationMacOS();
#else
- return Task.CompletedTask;
+ return Task.CompletedTask;
#endif
+ }
+ finally
+ {
+ this.StateHasChanged();
+ }
}
private Task CreateProject()
{
return Task.CompletedTask;
}
+
+ private bool CannotCreateProject()
+ {
+ if (DeviceInfo.Idiom == DeviceIdiom.Desktop)
+ return string.IsNullOrWhiteSpace(this.newProjectName) || string.IsNullOrWhiteSpace(this.newProjectDestination);
+ else if (DeviceInfo.Idiom == DeviceIdiom.Phone || DeviceInfo.Idiom == DeviceIdiom.Tablet)
+ return string.IsNullOrWhiteSpace(this.newProjectName);
+ else
+ return true;
+ }
+
+ private void ReevaluateState() => this.StateHasChanged();
}
\ No newline at end of file