diff --git a/zero/TagHelpers/IconTagHelper.cs b/zero/TagHelpers/IconTagHelper.cs index b5ad1d44..4f070f88 100644 --- a/zero/TagHelpers/IconTagHelper.cs +++ b/zero/TagHelpers/IconTagHelper.cs @@ -1,4 +1,6 @@ -using Microsoft.AspNetCore.Razor.TagHelpers; +using Microsoft.AspNetCore.Mvc.Rendering; +using Microsoft.AspNetCore.Mvc.ViewFeatures; +using Microsoft.AspNetCore.Razor.TagHelpers; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; @@ -15,17 +17,24 @@ public class IconTagHelper : TagHelper public string Class { get; set; } + [HtmlAttributeNotBound] + [ViewContext] + public ViewContext ViewContext { get; set; } = default!; + private IconOptions _options; + private IFileVersionProvider _fileVersionProvider; + private readonly ILogger _logger; - public IconTagHelper(IOptionsMonitor options, ILogger logger) + public IconTagHelper(IOptionsMonitor options, ILogger logger, IFileVersionProvider versionProvider) { _options = options.CurrentValue; _logger = logger; - + _fileVersionProvider = versionProvider; + options.OnChange(val => _options = val); } @@ -55,7 +64,8 @@ public class IconTagHelper : TagHelper public string BuildIcon(string symbol, int size = 18, string stroke = "2", string classes = null, bool withSvg = false) { - string inner = $""; + string path = _fileVersionProvider.AddFileVersionToPath(ViewContext.HttpContext.Request.PathBase, _options.Path); + string inner = $""; if (!withSvg) {