📄 app/src/Pages/StartPage.axaml.cs
using Avalonia.Controls;
using Avalonia.Interactivity;
using Avalonia.Platform.Storage;

namespace BookScanner.App.Pages;

public partial class StartPage : ContentPage
{
    private static readonly FolderPickerOpenOptions projectFolderPickerOptions = new()
    {
        Title = "Open Project folder",
    };

    public StartPage()
    {
        InitializeComponent();
    }

    private async void OnOpenProjectClick(object? sender, RoutedEventArgs args)
    {
        var topLevel = TopLevel.GetTopLevel(this)!;
        var documentsFolder = await topLevel.StorageProvider.TryGetWellKnownFolderAsync(WellKnownFolder.Documents);
        var folderPickerResult = await topLevel.StorageProvider.OpenFolderPickerAsync(
            new() { Title = "Open Project folder", SuggestedStartLocation = documentsFolder }
        );
        if (folderPickerResult is not [var folder])
        {
            return;
        }
        await Navigation!.PushAsync(new RecordingPage(folder));
    }
}