Skip to content

Commit 48c351d

Browse files
Merge pull request #6 from drasticactions/maui-oauth
Add MAUI, Avalonia sample, experimental Browser DPop support
2 parents e431022 + a5d8044 commit 48c351d

64 files changed

Lines changed: 2785 additions & 137 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Directory.Packages.props

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,27 @@
44
<CentralPackageTransitivePinningEnabled>true</CentralPackageTransitivePinningEnabled>
55
</PropertyGroup>
66
<ItemGroup>
7-
<PackageVersion Include="System.Text.Json" Version="10.0.3" />
7+
<PackageVersion Include="System.Text.Json" Version="10.0.5" />
88
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp" Version="5.0.0" />
9-
<PackageVersion Include="System.Formats.Cbor" Version="10.0.3" />
10-
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="18.0.1" />
9+
<PackageVersion Include="System.Formats.Cbor" Version="10.0.5" />
10+
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="18.3.0" />
1111
<PackageVersion Include="xunit" Version="2.9.3" />
12-
<PackageVersion Include="xunit.runner.visualstudio" Version="2.8.2"/>
12+
<PackageVersion Include="xunit.runner.visualstudio" Version="3.1.5"/>
1313
<PackageVersion Include="coverlet.collector" Version="8.0.0"/>
14-
<PackageVersion Include="GitVersion.MSBuild" Version="6.6.0" />
14+
<PackageVersion Include="GitVersion.MSBuild" Version="6.6.1" />
1515
<PackageVersion Include="ZstdSharp.Port" Version="0.8.7" />
16-
<PackageVersion Include="Microsoft.Extensions.Logging.Abstractions" Version="10.0.3" />
17-
<PackageVersion Include="Microsoft.Extensions.Logging.Debug" Version="10.0.3" />
18-
<PackageVersion Include="Microsoft.Build.Framework" Version="18.3.3" />
19-
<PackageVersion Include="Microsoft.Build.Utilities.Core" Version="18.3.3" />
16+
<PackageVersion Include="Microsoft.Extensions.Logging" Version="10.0.5" />
17+
<PackageVersion Include="Microsoft.Extensions.Logging.Abstractions" Version="10.0.5" />
18+
<PackageVersion Include="Microsoft.Extensions.Logging.Console" Version="10.0.5" />
19+
<PackageVersion Include="Microsoft.Extensions.Logging.Debug" Version="10.0.5" />
20+
<PackageVersion Include="Microsoft.Build.Framework" Version="18.4.0" />
21+
<PackageVersion Include="Microsoft.Build.Utilities.Core" Version="18.4.0" />
2022
<PackageVersion Include="ConsoleAppFramework" Version="5.7.13"/>
23+
<PackageVersion Include="Microsoft.Maui.Controls" Version="10.0.50" />
24+
<PackageVersion Include="Avalonia" Version="12.0.0-preview2" />
25+
<PackageVersion Include="Avalonia.Desktop" Version="12.0.0-preview2" />
26+
<PackageVersion Include="Avalonia.Themes.Fluent" Version="12.0.0-preview2" />
27+
<PackageVersion Include="Avalonia.Browser" Version="12.0.0-preview2" />
28+
<PackageVersion Include="Avalonia.Controls.WebView" Version="12.0.999-cibuild0000026-alpha" />
2129
</ItemGroup>
2230
</Project>

NuGet.Config

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
<packageSources>
55
<clear />
66
<add key="api.nuget.org" value="https://api.nuget.org/v3/index.json" />
7+
<add key="avalonia-nightly" value="https://nuget-feed-nightly.avaloniaui.net/v3/index.json"
8+
protocolVersion="3" />
79
</packageSources>
810

911
<fallbackPackageFolders>
@@ -13,6 +15,10 @@
1315
<packageSourceMapping>
1416
<packageSource key="api.nuget.org">
1517
<package pattern="*" />
18+
<package pattern="Avalonia*" />
19+
</packageSource>
20+
<packageSource key="avalonia-nightly">
21+
<package pattern="Avalonia*" />
1622
</packageSource>
1723
</packageSourceMapping>
1824
</configuration>

samples/BSkyOAuth/BSkyOAuth.MacCatalyst/BSkyOAuth.MacCatalyst.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
<SupportedOSPlatformVersion>18.0</SupportedOSPlatformVersion>
1313
<ValidateXcodeVersion>false</ValidateXcodeVersion>
1414
<UseInterpreter>true</UseInterpreter>
15+
<NoWarn>$(NoWarn);CS8002</NoWarn>
1516

1617
<!--
1718
Enable full trimming in Release mode.
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<Project Sdk="Microsoft.NET.Sdk.WebAssembly">
2+
<PropertyGroup>
3+
<TargetFramework>net10.0-browser</TargetFramework>
4+
<OutputType>Exe</OutputType>
5+
<ImplicitUsings>enable</ImplicitUsings>
6+
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
7+
<Nullable>enable</Nullable>
8+
</PropertyGroup>
9+
10+
<ItemGroup>
11+
<ProjectReference Include="..\BSkyOAuthAvalonia\BSkyOAuthAvalonia.csproj" />
12+
</ItemGroup>
13+
14+
<ItemGroup>
15+
<PackageReference Update="Avalonia" />
16+
<PackageReference Include="Avalonia.Browser" />
17+
</ItemGroup>
18+
</Project>
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
using System.Threading.Tasks;
2+
using Avalonia;
3+
using Avalonia.Browser;
4+
using BSkyOAuthAvalonia;
5+
6+
internal sealed partial class Program
7+
{
8+
private static Task Main(string[] args) => BuildAvaloniaApp()
9+
.StartBrowserAppAsync("out");
10+
11+
public static AppBuilder BuildAvaloniaApp()
12+
=> AppBuilder.Configure<App>();
13+
}
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
.avalonia-splash {
2+
position: absolute;
3+
height: 100%;
4+
width: 100%;
5+
background: white;
6+
font-family: 'Outfit', sans-serif;
7+
justify-content: center;
8+
align-items: center;
9+
display: flex;
10+
pointer-events: none;
11+
}
12+
13+
@media (prefers-color-scheme: light) {
14+
.avalonia-splash {
15+
background: white;
16+
}
17+
18+
.avalonia-splash h2 {
19+
color: #1b2a4e;
20+
}
21+
}
22+
23+
@media (prefers-color-scheme: dark) {
24+
.avalonia-splash {
25+
background: #1b2a4e;
26+
}
27+
28+
.avalonia-splash h2 {
29+
color: white;
30+
}
31+
}
32+
33+
.avalonia-splash h2 {
34+
font-weight: 400;
35+
font-size: 1.5rem;
36+
}
37+
38+
.avalonia-splash.splash-close {
39+
transition: opacity 200ms, display 200ms;
40+
display: none;
41+
opacity: 0;
42+
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<!DOCTYPE html>
2+
<html>
3+
4+
<head>
5+
<title>BSkyOAuthAvalonia</title>
6+
<meta charset="UTF-8">
7+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
8+
<link rel="stylesheet" href="./app.css" />
9+
</head>
10+
11+
<body style="margin: 0; overflow: hidden">
12+
<div id="out">
13+
<div class="avalonia-splash">
14+
<h2>Loading...</h2>
15+
</div>
16+
</div>
17+
<script type='module' src="./main.js"></script>
18+
</body>
19+
20+
</html>
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import { dotnet } from './_framework/dotnet.js'
2+
3+
const is_browser = typeof window != "undefined";
4+
if (!is_browser) throw new Error(`Expected to be running in a browser`);
5+
6+
const dotnetRuntime = await dotnet
7+
.withDiagnosticTracing(false)
8+
.withApplicationArgumentsFromQuery()
9+
.create();
10+
11+
const config = dotnetRuntime.getConfig();
12+
13+
await dotnetRuntime.runMain(config.mainAssemblyName, [globalThis.location.href]);
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
<PropertyGroup>
3+
<OutputType>WinExe</OutputType>
4+
<TargetFramework>net10.0</TargetFramework>
5+
</PropertyGroup>
6+
7+
<ItemGroup>
8+
<PackageReference Include="Avalonia.Desktop" />
9+
</ItemGroup>
10+
11+
<ItemGroup>
12+
<ProjectReference Include="..\BSkyOAuthAvalonia\BSkyOAuthAvalonia.csproj" />
13+
</ItemGroup>
14+
15+
</Project>
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
using System;
2+
using Avalonia;
3+
using BSkyOAuthAvalonia;
4+
5+
namespace BSkyOAuthAvalonia.Desktop;
6+
7+
internal class Program
8+
{
9+
[STAThread]
10+
public static void Main(string[] args) => BuildAvaloniaApp()
11+
.StartWithClassicDesktopLifetime(args);
12+
13+
public static AppBuilder BuildAvaloniaApp()
14+
=> AppBuilder.Configure<App>()
15+
.UsePlatformDetect()
16+
.LogToTrace();
17+
}

0 commit comments

Comments
 (0)