52 lines
1.4 KiB
C#
52 lines
1.4 KiB
C#
|
using System.Text;
|
|||
|
using System.Text.Json.Serialization;
|
|||
|
|
|||
|
namespace UI_MAUI.Pages;
|
|||
|
|
|||
|
public partial class LoadProject
|
|||
|
{
|
|||
|
private readonly List<RecentProject> recentProjects = new();
|
|||
|
|
|||
|
private string newProjectDestination = string.Empty;
|
|||
|
|
|||
|
#region Overrides of ComponentBase
|
|||
|
|
|||
|
protected override async Task OnInitializedAsync()
|
|||
|
{
|
|||
|
await base.OnInitializedAsync();
|
|||
|
await this.LoadRecentProjects();
|
|||
|
}
|
|||
|
|
|||
|
#endregion
|
|||
|
|
|||
|
private readonly record struct RecentProject(string Path, string Name, bool Available);
|
|||
|
|
|||
|
private async Task LoadRecentProjects()
|
|||
|
{
|
|||
|
var appDataDirectory = FileSystem.Current.AppDataDirectory;
|
|||
|
var recentProjectsFile = Path.Join(appDataDirectory, "recentProjects.json");
|
|||
|
if (!File.Exists(recentProjectsFile))
|
|||
|
await File.WriteAllTextAsync(recentProjectsFile, string.Empty, Encoding.UTF8);
|
|||
|
|
|||
|
// Read the JSON data from that file & decode it to an array of recent projects:
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
private async Task WriteRecentProjects()
|
|||
|
{
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
private async Task ChooseProjectDestination()
|
|||
|
{
|
|||
|
var projectDestination = await FilePicker.PickAsync(new PickOptions
|
|||
|
{
|
|||
|
PickerTitle = "Choose the project destination",
|
|||
|
});
|
|||
|
|
|||
|
if(projectDestination is null)
|
|||
|
return;
|
|||
|
|
|||
|
this.newProjectDestination = projectDestination!.FullPath;
|
|||
|
}
|
|||
|
}
|