Skip to content

Commit fa68657

Browse files
authored
Merge pull request #805 from Sidekick-Poe/feature/no-results
Added no results found text when there are no results on the trade website
2 parents ee3adbd + 902ba9f commit fa68657

File tree

4 files changed

+104
-77
lines changed

4 files changed

+104
-77
lines changed

src/Sidekick.Modules.Trade/Localization/TradeResources.resx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -313,4 +313,7 @@ Click the button to open in your browser.</value>
313313
<data name="TradeInstructions" xml:space="preserve">
314314
<value>Start by selecting the properties and modifiers you want to compare your item with the trade listings. Then get your results by clicking the 'Search' button.</value>
315315
</data>
316+
<data name="NoResults" xml:space="preserve">
317+
<value>No results found</value>
318+
</data>
316319
</root>

src/Sidekick.Modules.Trade/Trade/Bulk/BulkResult.razor

Lines changed: 41 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,53 +1,57 @@
11
@using Sidekick.Modules.Trade.Localization
22
@using Sidekick.Modules.Trade.Components.Prices
33

4-
@if (TradeService.CurrentMode != TradeMode.Bulk)
4+
@if (TradeService.CurrentMode != TradeMode.Bulk || TradeService.BulkTradeResult == null)
55
{
66
return;
77
}
88

9-
@if (TradeService.IsLoading)
9+
<div class="flex items-center w-full justify-between dark:bg-stone-900 sticky top-0 z-10 mb-3">
10+
<div>
11+
<CountString Count="TradeService.BulkTradeResult.Offers.Count"
12+
Total="TradeService.BulkTradeResult.TotalOffers"/>
13+
</div>
14+
<OpenWebsiteLink QueryId="@TradeService.BulkTradeResult.QueryId"/>
15+
</div>
16+
17+
@if (TradeService.ResultError != null)
1018
{
11-
<AppLoading/>
19+
<AlertError>@TradeService.ResultError</AlertError>
1220
}
13-
else if (TradeService.BulkTradeResult != null)
14-
{
15-
<div class="flex items-center w-full justify-between dark:bg-stone-900 sticky top-0 z-10 mb-3">
16-
<div>
17-
<CountString Count="TradeService.BulkTradeResult.Offers.Count"
18-
Total="TradeService.BulkTradeResult.TotalOffers"/>
19-
</div>
20-
<OpenWebsiteLink QueryId="@TradeService.BulkTradeResult.QueryId"/>
21-
</div>
2221

23-
@if (TradeService.ResultError != null)
24-
{
25-
<AlertError>@TradeService.ResultError</AlertError>
26-
}
22+
@if (TradeService.BulkTradeResult.Offers.Count == 0)
23+
{
24+
<AlertInfo>@Resources["NoResults"]</AlertInfo>
25+
return;
26+
}
2727

28-
@foreach (var offer in TradeService.BulkTradeResult.Offers)
29-
{
30-
<div class="mb-2 flex flex-nowrap items-center w-full bg-stone-950 rounded-lg">
31-
<div class="w-1/4 p-2 text-center">
32-
<TextBase Class="text-ellipsis overflow-hidden">@offer.AccountName</TextBase>
33-
<TextAge Date="offer.Date"/>
34-
</div>
35-
<div class="w-5/12 p-2">
36-
<div class="flex items-center w-full justify-center">
37-
<PriceDisplay Value="offer.SaleAmount" Currency="@offer.SaleCurrency" Small="true"/>
38-
<Icon Svg="@UiIcons.ArrowForward" Class="mx-1 text-[#a38d6d]" />
39-
<PriceDisplay Value="offer.ItemAmount" Currency="@offer.ItemCurrency" Small="true"/>
40-
</div>
41-
<TextBase Class="text-center">
42-
<span class="text-[#a38d6d]">@Resources["Stock"]:</span>
43-
@offer.ItemStock
44-
</TextBase>
45-
</div>
46-
<div class="w-1/3 p-2 flex justify-end items-center">
47-
<PriceDisplay Value="offer.SaleUnitPrice" Currency="@offer.SaleCurrency"/>
28+
@foreach (var offer in TradeService.BulkTradeResult.Offers)
29+
{
30+
<div class="mb-2 flex flex-nowrap items-center w-full bg-stone-950 rounded-lg">
31+
<div class="w-1/4 p-2 text-center">
32+
<TextBase Class="text-ellipsis overflow-hidden">@offer.AccountName</TextBase>
33+
<TextAge Date="offer.Date"/>
34+
</div>
35+
<div class="w-5/12 p-2">
36+
<div class="flex items-center w-full justify-center">
37+
<PriceDisplay Value="offer.SaleAmount" Currency="@offer.SaleCurrency" Small="true"/>
38+
<Icon Svg="@UiIcons.ArrowForward" Class="mx-1 text-[#a38d6d]"/>
39+
<PriceDisplay Value="offer.ItemAmount" Currency="@offer.ItemCurrency" Small="true"/>
4840
</div>
41+
<TextBase Class="text-center">
42+
<span class="text-[#a38d6d]">@Resources["Stock"]:</span>
43+
@offer.ItemStock
44+
</TextBase>
4945
</div>
50-
}
46+
<div class="w-1/3 p-2 flex justify-end items-center">
47+
<PriceDisplay Value="offer.SaleUnitPrice" Currency="@offer.SaleCurrency"/>
48+
</div>
49+
</div>
50+
}
51+
52+
@if (TradeService.IsLoading)
53+
{
54+
<AppLoading/>
5155
}
5256

5357
@implements IDisposable

src/Sidekick.Modules.Trade/Trade/Items/ItemsResult.razor

Lines changed: 39 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -2,53 +2,56 @@
22
@using Sidekick.Modules.Trade.Localization
33
@using Sidekick.Common.Settings
44

5-
@if (TradeService.CurrentMode != TradeMode.Item)
5+
@if (TradeService.CurrentMode != TradeMode.Item || TradeService.ItemTradeResult == null)
66
{
77
return;
88
}
99

10-
@if (TradeService.ItemTradeResult != null)
11-
{
12-
<div class="flex items-center w-full justify-between dark:bg-stone-900 sticky top-0 z-10 mb-3">
13-
<div>
14-
<CountString Count="TradeService.TradeItems.Count"
15-
Total="TradeService.ItemTradeResult.Total" />
16-
</div>
17-
<div class="flex gap-4">
18-
<ToggleCompactView OnClick="@ToggleView" IsCompact="@IsCompact" />
19-
<OpenWebsiteLink QueryId="@TradeService.ItemTradeResult.Id" />
20-
</div>
10+
<div class="flex items-center w-full justify-between dark:bg-stone-900 sticky top-0 z-10 mb-3">
11+
<div>
12+
<CountString Count="TradeService.TradeItems.Count"
13+
Total="TradeService.ItemTradeResult.Total"/>
14+
</div>
15+
<div class="flex gap-4">
16+
<ToggleCompactView OnClick="@ToggleView" IsCompact="@IsCompact"/>
17+
<OpenWebsiteLink QueryId="@TradeService.ItemTradeResult.Id"/>
2118
</div>
19+
</div>
2220

23-
foreach (var result in TradeService.TradeItems)
24-
{
25-
<ItemComponent @key="result.Id" Result="result" IsCompact="@IsCompact" />
26-
}
21+
@if (TradeService.ResultError != null)
22+
{
23+
<AlertError>@TradeService.ResultError</AlertError>
24+
}
2725

28-
if (TradeService.ResultError != null)
29-
{
30-
<AlertError>@TradeService.ResultError</AlertError>
31-
}
32-
else if (!TradeService.IsLoading && !FullyLoaded)
33-
{
34-
<div class="flex justify-center">
35-
@if (AutomaticallyLoadMoreData)
36-
{
37-
<IntersectionObserver Callback="LoadMoreData">
38-
<ButtonPrimary OnClick="LoadMoreData">@Resources["LoadMoreData"]</ButtonPrimary>
39-
</IntersectionObserver>
40-
}
41-
else
42-
{
43-
<ButtonPrimary OnClick="LoadMoreData">@Resources["LoadMoreData"]</ButtonPrimary>
44-
}
45-
</div>
46-
}
26+
@if (TradeService.TradeItems.Count == 0)
27+
{
28+
<AlertInfo>@Resources["NoResults"]</AlertInfo>
29+
return;
30+
}
31+
32+
@foreach (var result in TradeService.TradeItems)
33+
{
34+
<ItemComponent @key="result.Id" Result="result" IsCompact="@IsCompact"/>
4735
}
4836

4937
@if (TradeService.IsLoading)
5038
{
51-
<AppLoading />
39+
<AppLoading/>
40+
}
41+
else if (!FullyLoaded)
42+
{
43+
<div class="flex justify-center">
44+
@if (AutomaticallyLoadMoreData)
45+
{
46+
<IntersectionObserver Callback="LoadMoreData">
47+
<ButtonPrimary OnClick="LoadMoreData">@Resources["LoadMoreData"]</ButtonPrimary>
48+
</IntersectionObserver>
49+
}
50+
else
51+
{
52+
<ButtonPrimary OnClick="LoadMoreData">@Resources["LoadMoreData"]</ButtonPrimary>
53+
}
54+
</div>
5255
}
5356

5457
@implements IDisposable

src/Sidekick.Modules.Trade/Trade/TradeResult.razor

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,30 @@
22
@using Sidekick.Modules.Trade.Trade.Bulk
33
@using Sidekick.Modules.Trade.Trade.Items
44

5-
<BulkResult/>
6-
<ItemsResult/>
7-
85
@if (TradeService.ItemTradeResult == null && TradeService.BulkTradeResult == null)
96
{
107
<AlertInfo>@Resources["TradeInstructions"]</AlertInfo>
118
}
129

13-
@inject TradeService TradeService
10+
<BulkResult/>
11+
<ItemsResult/>
12+
13+
@implements IDisposable
14+
1415
@inject IStringLocalizer<TradeResources> Resources
16+
@inject TradeService TradeService
17+
18+
@code {
19+
20+
protected override async Task OnInitializedAsync()
21+
{
22+
TradeService.Changed += StateHasChanged;
23+
await base.OnInitializedAsync();
24+
}
25+
26+
public void Dispose()
27+
{
28+
TradeService.Changed -= StateHasChanged;
29+
}
30+
31+
}

0 commit comments

Comments
 (0)