Implemented initial tag click event logic.
This commit is contained in:
@@ -1,8 +1,10 @@
|
|||||||
@using JSMR.Application.VoiceWorks.Queries.Search
|
@using JSMR.Application.VoiceWorks.Queries.Search
|
||||||
@using JSMR.Domain.Enums
|
@using JSMR.Domain.Enums
|
||||||
@using JSMR.UI.Blazor.Enums
|
@using JSMR.UI.Blazor.Enums
|
||||||
|
@using JSMR.UI.Blazor.Filters
|
||||||
@using JSMR.UI.Blazor.Services
|
@using JSMR.UI.Blazor.Services
|
||||||
@using System.Globalization
|
@using System.Globalization
|
||||||
|
@using Microsoft.AspNetCore.WebUtilities
|
||||||
|
|
||||||
<div class=@GetCardClasses(Product)>
|
<div class=@GetCardClasses(Product)>
|
||||||
<div class="j-voice-work-image-container">
|
<div class="j-voice-work-image-container">
|
||||||
@@ -33,7 +35,8 @@
|
|||||||
<div class="j-tags">
|
<div class="j-tags">
|
||||||
@foreach (var tag in Product.Tags)
|
@foreach (var tag in Product.Tags)
|
||||||
{
|
{
|
||||||
<div class="j-tag">@tag.Name</div>
|
@* <div class="j-tag">@tag.Name</div> *@
|
||||||
|
<ProductTag Tag="tag"></ProductTag>
|
||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -73,20 +76,6 @@
|
|||||||
<ProductIndicator Graphic="Graphic.Headphones" Color="ColorVarient.Blue" BackgroundColor="ColorVarient.Black"></ProductIndicator>
|
<ProductIndicator Graphic="Graphic.Headphones" Color="ColorVarient.Blue" BackgroundColor="ColorVarient.Black"></ProductIndicator>
|
||||||
}
|
}
|
||||||
</BitStack>
|
</BitStack>
|
||||||
@* <div class="j-product-indicators">
|
|
||||||
@if (Product.IsValid != true)
|
|
||||||
{
|
|
||||||
<ProductIndicator Graphic="Graphic.Warning" IconVarient="IconVarient.Fill" Color="ColorVarient.Orange" BackgroundColor="ColorVarient.Black"></ProductIndicator>
|
|
||||||
}
|
|
||||||
@if (Product.Favorite)
|
|
||||||
{
|
|
||||||
<ProductIndicator Graphic="Graphic.Star" Color="ColorVarient.Pink" BackgroundColor="ColorVarient.Black"></ProductIndicator>
|
|
||||||
}
|
|
||||||
@if (Product.HasTrial || Product.HasChobit)
|
|
||||||
{
|
|
||||||
<ProductIndicator Graphic="Graphic.Headphones" Color="ColorVarient.Blue" BackgroundColor="ColorVarient.Black"></ProductIndicator>
|
|
||||||
}
|
|
||||||
</div> *@
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
28
JSMR.UI.Blazor/Components/ProductTag.razor
Normal file
28
JSMR.UI.Blazor/Components/ProductTag.razor
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
@using JSMR.Application.VoiceWorks.Queries.Search
|
||||||
|
@using JSMR.UI.Blazor.Filters
|
||||||
|
@using Microsoft.AspNetCore.WebUtilities
|
||||||
|
|
||||||
|
<a class="j-tag" @onclick="@OnClick">@Tag.Name</a>
|
||||||
|
@* <MudChip T="string" Icon="@Icons.Material.Outlined.Tag" @onclick="@OnClick" Variant="@MudBlazor.Variant.Filled" Color="@MudBlazor.Color.Surface">@Tag.Name</MudChip> *@
|
||||||
|
|
||||||
|
@code {
|
||||||
|
[Inject]
|
||||||
|
protected NavigationManager NavigationManager { get; set; } = default!;
|
||||||
|
|
||||||
|
[Parameter]
|
||||||
|
public required VoiceWorkTagItem Tag { get; set; }
|
||||||
|
|
||||||
|
private void OnClick()
|
||||||
|
{
|
||||||
|
VoiceWorkFilterState state = new()
|
||||||
|
{
|
||||||
|
TagIds = [Tag.TagId]
|
||||||
|
};
|
||||||
|
|
||||||
|
//string basePath = new Uri(NavigationManager.Uri).GetLeftPart(UriPartial.Path);
|
||||||
|
string basePath = new Uri(NavigationManager.Uri).GetLeftPart(UriPartial.Authority);
|
||||||
|
string uri = QueryHelpers.AddQueryString($"{basePath}/voiceworks", state.ToQuery());
|
||||||
|
|
||||||
|
NavigationManager.NavigateTo(uri);
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user