diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json
new file mode 100644
index 0000000..9fea495
--- /dev/null
+++ b/.devcontainer/devcontainer.json
@@ -0,0 +1,41 @@
+// For format details, see https://aka.ms/devcontainer.json. For config options, see the
+// README at: https://github.com/devcontainers/templates/tree/main/src/docker-outside-of-docker
+{
+ "name": "Docker outside of Docker",
+ // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
+ "image": "mcr.microsoft.com/devcontainers/dotnet:1-8.0",
+ "features": {
+ "ghcr.io/devcontainers/features/docker-outside-of-docker:1": {
+ // "version": "${templateOption:dockerVersion}",
+ // "enableNonRootDocker": "${templateOption:enableNonRootDocker}",
+ // "moby": "${templateOption:moby}"
+ },
+ "ghcr.io/devcontainers/features/github-cli:1": {},
+ "ghcr.io/devcontainers/features/azure-cli:1": {}
+ },
+ "customizations": {
+ "vscode": {
+ "extensions": [
+ "ms-dotnettools.csdevkit",
+ "ms-mssql.mssql"
+ ]
+ }
+ },
+
+ // Use this environment variable if you need to bind mount your local source code into a new container.
+ "remoteEnv": {
+ "LOCAL_WORKSPACE_FOLDER": "${localWorkspaceFolder}"
+ },
+
+ // Use 'forwardPorts' to make a list of ports inside the container available locally.
+ // "forwardPorts": [6350, 6401, 6351, 6402, 6379, 1433, 8080, 9090, 4317, 4318, 3000, 3100, 3200, 8889],
+
+ // Use 'postCreateCommand' to run commands after the container is created.
+ // "postCreateCommand": "docker --version",
+
+ // Configure tool-specific properties.
+ // "customizations": {},
+
+ // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
+ "remoteUser": "root"
+}
\ No newline at end of file
diff --git a/src/BlazorPong.Backend.Defaults/BlazorPong.Backend.Defaults.csproj b/src/BlazorPong.Backend.Defaults/BlazorPong.Backend.Defaults.csproj
index ccd74d3..c5f5648 100644
--- a/src/BlazorPong.Backend.Defaults/BlazorPong.Backend.Defaults.csproj
+++ b/src/BlazorPong.Backend.Defaults/BlazorPong.Backend.Defaults.csproj
@@ -7,16 +7,16 @@
Debug;Release
-
+
-
-
-
-
-
-
+
+
+
+
+
+
-
+
diff --git a/src/BlazorPong.SignalR/BlazorPong.SignalR.csproj b/src/BlazorPong.SignalR/BlazorPong.SignalR.csproj
index 9c59c21..caea68f 100644
--- a/src/BlazorPong.SignalR/BlazorPong.SignalR.csproj
+++ b/src/BlazorPong.SignalR/BlazorPong.SignalR.csproj
@@ -11,26 +11,25 @@
-
-
-
-
+
+
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
diff --git a/src/BlazorPong.Web.Components/BlazorPong.Web.Components.csproj b/src/BlazorPong.Web.Components/BlazorPong.Web.Components.csproj
index b700466..5e1f217 100644
--- a/src/BlazorPong.Web.Components/BlazorPong.Web.Components.csproj
+++ b/src/BlazorPong.Web.Components/BlazorPong.Web.Components.csproj
@@ -13,8 +13,8 @@
-
-
+
+
diff --git a/src/BlazorPong.Web/Client/Layout/MainLayout.razor b/src/BlazorPong.Web/Client/Layout/MainLayout.razor
index 0ff1a90..26dd575 100644
--- a/src/BlazorPong.Web/Client/Layout/MainLayout.razor
+++ b/src/BlazorPong.Web/Client/Layout/MainLayout.razor
@@ -1,4 +1,5 @@
-@inherits LayoutComponentBase
+@using Microsoft.FluentUI.AspNetCore.Components.Extensions
+@inherits LayoutComponentBase
-
-
+
-
-
-
-
-
-
+
+
+
+
+
+
diff --git a/src/BlazorPong.sln b/src/BlazorPong.sln
index c2b27ca..a651c4c 100644
--- a/src/BlazorPong.sln
+++ b/src/BlazorPong.sln
@@ -13,8 +13,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
..\README.md = ..\README.md
EndProjectSection
EndProject
-Project("{00D1A9C2-B5F0-4AF3-8072-F6C62B433612}") = "Blazorpong.Database.AzureSql", "Blazorpong.Database.AzureSql\Blazorpong.Database.AzureSql.sqlproj", "{45C7BD30-21B7-46F2-BACC-D90A1F1AF7A9}"
-EndProject
Project("{E53339B2-1760-4266-BCC7-CA923CBCF16C}") = "docker-compose", "docker-compose.dcproj", "{C8122674-880E-43F2-9DC3-B17BA34E02B6}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BlazorPong.Web.Client", "BlazorPong.Web\Client\BlazorPong.Web.Client.csproj", "{46B9AA7A-6C6C-4802-8269-EB9A29ABF5E3}"
diff --git a/src/Blazorpong.Database.AzureSql/Blazorpong.Database.AzureSql.sqlproj b/src/Blazorpong.Database.AzureSql/Blazorpong.Database.AzureSql.sqlproj
index e26e46f..43ff623 100644
--- a/src/Blazorpong.Database.AzureSql/Blazorpong.Database.AzureSql.sqlproj
+++ b/src/Blazorpong.Database.AzureSql/Blazorpong.Database.AzureSql.sqlproj
@@ -121,8 +121,8 @@
True
11.0
-
-
+
+
@@ -138,4 +138,14 @@
+
+
+ 1.0.0
+ All
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Blazorpong.Database.AzureSql/Blazorpong.Database.AzureSql.sqlproj_backup b/src/Blazorpong.Database.AzureSql/Blazorpong.Database.AzureSql.sqlproj_backup
new file mode 100644
index 0000000..e26e46f
--- /dev/null
+++ b/src/Blazorpong.Database.AzureSql/Blazorpong.Database.AzureSql.sqlproj_backup
@@ -0,0 +1,141 @@
+
+
+
+ Debug
+ AnyCPU
+ Blazorpong.Database.AzureSql
+ 2.0
+ 4.1
+ {45c7bd30-21b7-46f2-bacc-d90a1f1af7a9}
+ Microsoft.Data.Tools.Schema.Sql.SqlAzureV12DatabaseSchemaProvider
+ Database
+
+
+ Blazorpong.Database.AzureSql
+ Blazorpong.Database.AzureSql
+ 1033,CI
+ BySchemaAndSchemaType
+ True
+ v4.8
+ CS
+ Properties
+ False
+ True
+ True
+
+ SQL_Latin1_General_CP1_CI_AS
+ False
+ False
+ True
+ False
+ Auto
+ ReadWrite
+ 900
+ 60
+ 200
+ 30
+ 100
+ Off
+ 8
+ On
+ Off
+ DISABLED
+ False
+ False
+ None
+ True
+ False
+ 2049
+ OFF
+ 60
+ SECONDS
+ False
+ True
+ 2
+ Days
+ True
+ False
+ False
+ False
+ CHECKSUM
+ EnableBroker
+ False
+ SIMPLE
+ True
+ True
+ True
+ False
+ 150
+ False
+ False
+ False
+ False
+ False
+ False
+ False
+ False
+ ONLINE
+ False
+ GLOBAL
+ False
+ True
+ False
+ True
+ False
+ MULTI_USER
+ FULL
+ True
+ PRIMARY
+ True
+ False
+
+
+ bin\Release\
+ $(MSBuildProjectName).sql
+ False
+ pdbonly
+ true
+ false
+ true
+ prompt
+ 4
+
+
+ bin\Debug\
+ $(MSBuildProjectName).sql
+ false
+ true
+ full
+ false
+ true
+ true
+ prompt
+ 4
+ SQL_Latin1_General_CP1_CI_AS
+ False
+ True
+
+
+ 11.0
+
+ True
+ 11.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/docker-compose.nobuild.yml b/src/docker-compose.nobuild.yml
index 54e3059..e7b3d4c 100644
--- a/src/docker-compose.nobuild.yml
+++ b/src/docker-compose.nobuild.yml
@@ -1,16 +1,3 @@
-# x-logging: &default-logging
-# driver: loki
-# options:
-# loki-url: 'http://localhost:3100/api/prom/push'
-# loki-pipeline-stages: |
-# - multiline:
-# firstline: '^\d{4}-\d{2}-\d{2} \d{1,2}:\d{2}:\d{2}'
-# max_wait_time: 3s
-# - regex:
-# expression: '^(?P