BogaNet.Avalonia.Browser 1.4.0

dotnet add package BogaNet.Avalonia.Browser --version 1.4.0                
NuGet\Install-Package BogaNet.Avalonia.Browser -Version 1.4.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="BogaNet.Avalonia.Browser" Version="1.4.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add BogaNet.Avalonia.Browser --version 1.4.0                
#r "nuget: BogaNet.Avalonia.Browser, 1.4.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install BogaNet.Avalonia.Browser as a Cake Addin
#addin nuget:?package=BogaNet.Avalonia.Browser&version=1.4.0

// Install BogaNet.Avalonia.Browser as a Cake Tool
#tool nuget:?package=BogaNet.Avalonia.Browser&version=1.4.0                

BogaNet.Avalonia.Browser

Browser-specific helpers for Avalonia development. It also contains various JavaScript-helper files. This package most likely works with other C# web-technologies like Blazor and Razor, but its untested outside of Avalonia.

Main classes and usage

JavaScript-files:

Unfortunately, you have to manually copy the desired files to "wwwroot" since I don't know how to include it in the Nuget-package correctly... Tips are welcome! 😃

Exit

This callback prevents close and reload-operations in the browser. Add/modify the following code to in "Program.cs" from the Avalonia Browser-project and handle the case (e.g saving data etc.):

private static async Task Main(string[] args)
{
    await JSHost.ImportAsync("boganet_exit", "../boganet_exit.js");
    //...rest of the Main-code
}

[JSExport]
internal static void Exit()
{
    Preferences.Instance.Save();
    //... your code (e.g. saving data etc.)
}

Preferences

To use the BogaNet.Prefs, add/modify "Program.cs" from the Avalonia Browser-project:

private static async Task Main(string[] args)
{
    await JSHost.ImportAsync("boganet_prefs", "../boganet_prefs.js");
    Preferences.Instance.Container = new BrowserPreferencesContainer();
    await Preferences.Instance.LoadAsync();
    //...rest of the Main-code
}

TTS

To use the BogaNet.TTS, add/modify "Program.cs" from the Avalonia Browser-project:

private static async Task Main(string[] args)
{
    await JSHost.ImportAsync("boganet_tts", "../boganet_tts.js");
    Speaker.Instance.CustomVoiceProvider = new BrowserVoiceProvider();
    //...rest of the Main-code
}

URL

To set/get the application URL, add/modify "Program.cs" from the Avalonia Browser-project:

private static async Task Main(string[] args)
{
    await JSHost.ImportAsync("boganet_url", "../boganet_url.js");
    //...rest of the Main-code
}

The URL can then be accessed via UrlHelper:

Console.WriteLine("Browser-URL: " + UrlHelper.URL);

Nuget:

BogaNet.Avalonia.Browser

API:

https://www.crosstales.com/media/data/BogaNet/api/

GitHub:

https://github.com/slaubenberger/BogaNet/

Product Compatible and additional computed target framework versions.
.NET net8.0-browser1.0 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.4.0 86 8/5/2024
0.6.1 50 7/31/2024
0.6.0 81 7/27/2024
0.5.8 85 7/26/2024
0.5.7 80 7/25/2024
0.5.6 80 7/25/2024
0.5.5 75 7/25/2024
0.5.4 74 7/25/2024
0.5.3 73 7/25/2024
0.5.2 73 7/25/2024
0.5.1 71 7/25/2024
0.5.0 76 7/25/2024

Release Common 1.4.0.