Skip to content

Commit e049b01

Browse files
committed
feat: improve refresh data channel
1 parent 213762c commit e049b01

1 file changed

Lines changed: 33 additions & 11 deletions

File tree

TelegramDownloader/Pages/FileManager.razor

Lines changed: 33 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -29,16 +29,25 @@
2929
<DropdownMenu>
3030
<DropdownItem @onclick="exportData" Type="DropdownItemType.Button"><i class="bi bi-cloud-download"></i> Export</DropdownItem>
3131
<DropdownItem @onclick="importData" Type="DropdownItemType.Button"><i class="bi bi-cloud-upload"></i> Import</DropdownItem>
32-
@if (!isMyChannel && showRefresh)
32+
@if (!isMyChannel)
3333
{
34-
<DropdownItem @onclick="refreshData" Type="DropdownItemType.Button">
35-
36-
<span class="position-relative badge rounded-pill bg-danger">
37-
Beta
38-
<span class="visually-hidden">Beta function</span>
39-
</span>
40-
<i class="bi bi-arrow-clockwise"></i> Refresh data
41-
</DropdownItem>
34+
@if (isRefreshing)
35+
{
36+
<DropdownItem Type="DropdownItemType.Button" Disabled="true">
37+
<Spinner Type="SpinnerType.Border" Size="SpinnerSize.Small" Class="me-2" />
38+
Refreshing...
39+
</DropdownItem>
40+
}
41+
else if (showRefresh)
42+
{
43+
<DropdownItem @onclick="refreshData" Type="DropdownItemType.Button">
44+
<span class="position-relative badge rounded-pill bg-danger">
45+
Beta
46+
<span class="visually-hidden">Beta function</span>
47+
</span>
48+
<i class="bi bi-arrow-clockwise"></i> Refresh data
49+
</DropdownItem>
50+
}
4251
}
4352

4453
</DropdownMenu>
@@ -76,6 +85,7 @@
7685
public string chatName { get; set; }
7786
private bool isMyChannel = true;
7887
private bool showRefresh = true;
88+
private bool isRefreshing = false;
7989

8090
NotificationModel nm = new NotificationModel();
8191

@@ -95,7 +105,8 @@
95105
{
96106
try
97107
{
98-
showRefresh = !fs.isChannelRefreshing(id);
108+
isRefreshing = fs.isChannelRefreshing(id);
109+
showRefresh = !isRefreshing;
99110
long channelId = Convert.ToInt64(id);
100111
chatName = ts.getChatName(channelId);
101112
isMyChannel = ts.isMyChat(channelId);
@@ -123,8 +134,19 @@
123134
}
124135
public async Task refreshData()
125136
{
137+
isRefreshing = true;
126138
showRefresh = false;
127139
await InvokeAsync(StateHasChanged);
128-
await fs.refreshChannelFIles(id);
140+
141+
try
142+
{
143+
await fs.refreshChannelFIles(id);
144+
}
145+
finally
146+
{
147+
isRefreshing = false;
148+
showRefresh = true;
149+
await InvokeAsync(StateHasChanged);
150+
}
129151
}
130152
}

0 commit comments

Comments
 (0)