From 873c16ef51cedde5db9fafebdd6c277fa896f872 Mon Sep 17 00:00:00 2001 From: kyrilos Date: Sun, 27 Jul 2025 19:10:23 +0300 Subject: [PATCH] Offline sync --- src/apps/blazor/client/Client.csproj | 2 ++ .../blazor/client/Directory.Packages.props | 3 +- src/apps/blazor/client/Program.cs | 31 +++++++++++++++++++ 3 files changed, 35 insertions(+), 1 deletion(-) diff --git a/src/apps/blazor/client/Client.csproj b/src/apps/blazor/client/Client.csproj index 9b732733b7..4b1ffa166f 100644 --- a/src/apps/blazor/client/Client.csproj +++ b/src/apps/blazor/client/Client.csproj @@ -10,9 +10,11 @@ + + diff --git a/src/apps/blazor/client/Directory.Packages.props b/src/apps/blazor/client/Directory.Packages.props index 5a7acff5d7..f9f3dea751 100644 --- a/src/apps/blazor/client/Directory.Packages.props +++ b/src/apps/blazor/client/Directory.Packages.props @@ -9,6 +9,7 @@ true + @@ -16,7 +17,7 @@ - + \ No newline at end of file diff --git a/src/apps/blazor/client/Program.cs b/src/apps/blazor/client/Program.cs index c1026795e2..c8c27057c2 100644 --- a/src/apps/blazor/client/Program.cs +++ b/src/apps/blazor/client/Program.cs @@ -2,10 +2,41 @@ using FSH.Starter.Blazor.Infrastructure; using Microsoft.AspNetCore.Components.Web; using Microsoft.AspNetCore.Components.WebAssembly.Hosting; +using FSH.OfflineSync.Extensions; +using FSH.Starter.Blazor.Infrastructure.Storage; var builder = WebAssemblyHostBuilder.CreateDefault(args); builder.RootComponents.Add("#app"); builder.RootComponents.Add("head::after"); builder.Services.AddClientServices(builder.Configuration); +/* + FSH.OfflineSync + +A new amazing package + + Sample Scenario: Offline Order Submission + +User fills a form in offline mode + + Clicks Submit "Post/Put/Delete" ? request is stored locally + + App comes online again + + On "Get" request ?response is stored locally + + App can use it anytime while it offline + +All stored requests are sent to the backend transparently + + https://www.nuget.org/packages/FSH.OfflineSync/1.0.0 + + */ + + +builder.Services.AddOfflineSyncHttpClient(builder.Configuration, options => +{ + options.AuthTokenKey = StorageConstants.Local.AuthToken; // or "authToken" Or StorageConstants.Local.AuthToken for FullStackHero +}); + await builder.Build().RunAsync();