diff --git a/EnvelopeGenerator.ReceiverUI/Pages/EnvelopeViewer.razor b/EnvelopeGenerator.ReceiverUI/Pages/EnvelopeViewer.razor index dad7a54e..c1f50ae5 100644 --- a/EnvelopeGenerator.ReceiverUI/Pages/EnvelopeViewer.razor +++ b/EnvelopeGenerator.ReceiverUI/Pages/EnvelopeViewer.razor @@ -14,14 +14,15 @@ @inject SignatureService SignatureService @inject EnvelopeGenerator.ReceiverUI.Services.AuthService AuthService @inject EnvelopeGenerator.ReceiverUI.Services.EnvelopeReceiverService EnvelopeReceiverService +@inject AppVersionService AppVersion @implements IAsyncDisposable - + - - + +
diff --git a/EnvelopeGenerator.ReceiverUI/Program.cs b/EnvelopeGenerator.ReceiverUI/Program.cs index ccb2f292..d41f256e 100644 --- a/EnvelopeGenerator.ReceiverUI/Program.cs +++ b/EnvelopeGenerator.ReceiverUI/Program.cs @@ -21,6 +21,7 @@ builder.Services.AddScoped(); builder.Services.AddScoped(); builder.Services.AddScoped(); builder.Services.AddScoped(); +builder.Services.AddSingleton(); builder.Services.AddDevExpressWebAssemblyBlazorReportViewer(); builder.Services.AddDevExpressWebAssemblyBlazorPdfViewer(); diff --git a/EnvelopeGenerator.ReceiverUI/Services/AppVersionService.cs b/EnvelopeGenerator.ReceiverUI/Services/AppVersionService.cs new file mode 100644 index 00000000..596371fe --- /dev/null +++ b/EnvelopeGenerator.ReceiverUI/Services/AppVersionService.cs @@ -0,0 +1,26 @@ +namespace EnvelopeGenerator.ReceiverUI.Services; + +/// +/// Provides application version for cache busting static assets. +/// Version is automatically incremented on each build via AssemblyVersion. +/// +public class AppVersionService +{ + /// + /// Current application version (e.g., "1.0.0.0") + /// + public string Version { get; } + + public AppVersionService() + { + // Get version from assembly metadata + Version = typeof(AppVersionService).Assembly.GetName().Version?.ToString() ?? "1.0.0.0"; + } + + /// + /// Generates versioned URL for static assets (cache busting) + /// + /// Asset path (e.g., "css/envelope-viewer.css") + /// Versioned URL (e.g., "css/envelope-viewer.css?v=1.0.0.0") + public string GetVersionedUrl(string path) => $"{path}?v={Version}"; +}