Skip to content

Commit 81fd6df

Browse files
authored
Merge pull request #806 from Sidekick-Poe/feature/better-sticky
Improved the sticky header on trade results
2 parents fa68657 + a55bc43 commit 81fd6df

File tree

6 files changed

+126
-40
lines changed

6 files changed

+126
-40
lines changed

src/Sidekick.Modules.Trade/Prices.razor

Lines changed: 26 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -36,23 +36,34 @@
3636
<CascadingValue Value="Item"
3737
IsFixed="true">
3838
<AppContainer>
39-
<TabList Class="-mt-1">
40-
<ChildContent>
41-
<UniqueTab CurrentTab="@CurrentTab" CurrentTabChanged="TabChanged"/>
42-
<ExchangeTab CurrentTab="@CurrentTab" CurrentTabChanged="TabChanged"/>
43-
<TradeTab CurrentTab="@CurrentTab" CurrentTabChanged="TabChanged"/>
44-
</ChildContent>
45-
<RightContent>
46-
<li>
47-
<LeagueText/>
48-
</li>
49-
</RightContent>
50-
</TabList>
39+
<div class="sticky top-0 z-10 pb-1 mb-2 -mt-3 pt-2 bg-stone-900">
40+
<TabList>
41+
<ChildContent>
42+
<UniqueTab CurrentTab="@CurrentTab" CurrentTabChanged="TabChanged"/>
43+
<ExchangeTab CurrentTab="@CurrentTab" CurrentTabChanged="TabChanged"/>
44+
<TradeTab CurrentTab="@CurrentTab" CurrentTabChanged="TabChanged"/>
45+
</ChildContent>
46+
<RightContent>
47+
<li>
48+
<LeagueText/>
49+
</li>
50+
</RightContent>
51+
</TabList>
52+
@switch (CurrentTab)
53+
{
54+
case "trade":
55+
<TradeSticky/> break;
56+
}
57+
</div>
58+
5159
@switch (CurrentTab)
5260
{
53-
case "trade": <TradeResult/> break;
54-
case "unique": <UniqueResult/> break;
55-
case "exchange": <ExchangeResult/> break;
61+
case "trade":
62+
<TradeResult/> break;
63+
case "unique":
64+
<UniqueResult/> break;
65+
case "exchange":
66+
<ExchangeResult/> break;
5667
}
5768
</AppContainer>
5869
</CascadingValue>

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

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,6 @@
66
return;
77
}
88

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-
179
@if (TradeService.ResultError != null)
1810
{
1911
<AlertError>@TradeService.ResultError</AlertError>
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
@if (TradeService.CurrentMode != TradeMode.Bulk || TradeService.BulkTradeResult == null)
2+
{
3+
return;
4+
}
5+
6+
<div class="flex items-center w-full justify-between">
7+
<div>
8+
<CountString Count="TradeService.BulkTradeResult.Offers.Count"
9+
Total="TradeService.BulkTradeResult.TotalOffers"/>
10+
</div>
11+
<OpenWebsiteLink QueryId="@TradeService.BulkTradeResult.QueryId"/>
12+
</div>
13+
14+
@implements IDisposable
15+
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+
}

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

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,6 @@
77
return;
88
}
99

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"/>
18-
</div>
19-
</div>
20-
2110
@if (TradeService.ResultError != null)
2211
{
2312
<AlertError>@TradeService.ResultError</AlertError>
@@ -83,12 +72,6 @@ else if (!FullyLoaded)
8372
await base.OnInitializedAsync();
8473
}
8574

86-
private async void ToggleView()
87-
{
88-
IsCompact = !IsCompact;
89-
await SettingsService.Set(SettingKeys.PriceCheckCompactMode, IsCompact);
90-
}
91-
9275
private async void OnSettingsChanged(string[] keys)
9376
{
9477
if (keys.Contains(SettingKeys.PriceCheckCompactMode) || keys.Contains(SettingKeys.PriceCheckAutomaticallyLoadMoreData))
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
@using Sidekick.Common.Game.Items
2+
@using Sidekick.Common.Settings
3+
4+
@if (TradeService.CurrentMode != TradeMode.Item || TradeService.ItemTradeResult == null)
5+
{
6+
return;
7+
}
8+
9+
<div class="flex items-center w-full justify-between">
10+
<div>
11+
<CountString Count="TradeService.TradeItems.Count"
12+
Total="TradeService.ItemTradeResult.Total"/>
13+
</div>
14+
<div class="flex gap-4">
15+
<ToggleCompactView OnClick="@ToggleView" IsCompact="@IsCompact"/>
16+
<OpenWebsiteLink QueryId="@TradeService.ItemTradeResult.Id"/>
17+
</div>
18+
</div>
19+
20+
@implements IDisposable
21+
22+
@inject TradeService TradeService
23+
@inject ISettingsService SettingsService
24+
25+
@code {
26+
27+
[CascadingParameter]
28+
public required Item Item { get; set; }
29+
30+
private bool IsCompact { get; set; }
31+
32+
protected override async Task OnInitializedAsync()
33+
{
34+
IsCompact = await SettingsService.GetBool(SettingKeys.PriceCheckCompactMode);
35+
36+
SettingsService.OnSettingsChanged += OnSettingsChanged;
37+
TradeService.Changed += StateHasChanged;
38+
39+
await base.OnInitializedAsync();
40+
}
41+
42+
private async void ToggleView()
43+
{
44+
IsCompact = !IsCompact;
45+
await SettingsService.Set(SettingKeys.PriceCheckCompactMode, IsCompact);
46+
}
47+
48+
private async void OnSettingsChanged(string[] keys)
49+
{
50+
if (keys.Contains(SettingKeys.PriceCheckCompactMode) || keys.Contains(SettingKeys.PriceCheckAutomaticallyLoadMoreData))
51+
{
52+
IsCompact = await SettingsService.GetBool(SettingKeys.PriceCheckCompactMode);
53+
54+
await InvokeAsync(StateHasChanged);
55+
}
56+
}
57+
58+
public void Dispose()
59+
{
60+
SettingsService.OnSettingsChanged -= OnSettingsChanged;
61+
TradeService.Changed -= StateHasChanged;
62+
}
63+
64+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
@using Sidekick.Modules.Trade.Trade.Bulk
2+
@using Sidekick.Modules.Trade.Trade.Items
3+
4+
<BulkSticky/>
5+
<ItemsSticky/>

0 commit comments

Comments
 (0)