Skip to content

Commit f98cd97

Browse files
committed
feat: improve task manager
1 parent 7477b66 commit f98cd97

8 files changed

Lines changed: 1749 additions & 184 deletions

File tree

TelegramDownloader/Pages/Downloads.razor

Lines changed: 76 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -6,51 +6,111 @@
66

77
@inject TransactionInfoService tis
88

9+
<div class="downloads-header">
10+
<h2 class="downloads-title">
11+
<i class="bi bi-cloud-arrow-down-fill"></i>
12+
Tasks Manager
13+
</h2>
14+
<div class="stats-summary">
15+
<div class="stat-card">
16+
<div class="stat-icon pending">
17+
<i class="bi bi-clock-history"></i>
18+
</div>
19+
<div class="stat-info">
20+
<h4>@tis.getTotalTasks()</h4>
21+
<p>Pending Tasks</p>
22+
</div>
23+
</div>
24+
<div class="stat-card">
25+
<div class="stat-icon downloads">
26+
<i class="bi bi-download"></i>
27+
</div>
28+
<div class="stat-info">
29+
<h4>@tis.getTotalDownloads(false)</h4>
30+
<p>Downloads</p>
31+
</div>
32+
</div>
33+
<div class="stat-card">
34+
<div class="stat-icon uploads">
35+
<i class="bi bi-upload"></i>
36+
</div>
37+
<div class="stat-info">
38+
<h4>@tis.getTotalUploads()</h4>
39+
<p>Uploads</p>
40+
</div>
41+
</div>
42+
</div>
43+
</div>
44+
945
<Tabs>
1046
<Tab Title="Pending Tasks" IsActive="true">
1147
<Content>
12-
<div style="padding: 1em">
13-
<button class="btn btn-success" @onclick="clearTasks" data-bs-toggle="tooltip" data-bs-placement="top" title="Clear completed and error"><i class="bi bi-trash"></i> Clear</button>
48+
<div class="tab-actions">
49+
<span class="tab-actions-title">Actions</span>
50+
<div class="action-btn-group">
51+
<button class="action-btn clear" @onclick="clearTasks" title="Clear completed and error">
52+
<i class="bi bi-trash3"></i>
53+
<span>Clear</span>
54+
</button>
55+
</div>
1456
</div>
15-
57+
1658
<TelegramDownloader.Pages.Partials.TasksTable></TelegramDownloader.Pages.Partials.TasksTable>
1759
</Content>
1860
</Tab>
1961
<Tab Title="Downloads">
2062
<Content>
21-
<div style="padding: 1em">
22-
<div class="btn-group" role="group" aria-label="Basic outlined example">
23-
<button class="btn btn-success" @onclick="clearDownloads" data-bs-toggle="tooltip" data-bs-placement="top" title="Clear completed and error"><i class="bi bi-trash"></i> Clear</button>
63+
<div class="tab-actions">
64+
<span class="tab-actions-title">Actions</span>
65+
<div class="action-btn-group">
66+
<button class="action-btn clear" @onclick="clearDownloads" title="Clear completed and error">
67+
<i class="bi bi-trash3"></i>
68+
<span>Clear</span>
69+
</button>
2470
@if (tis.isPauseDownloads)
2571
{
26-
<button type="button" @onclick="() => tis.PlayDownloads()" class="btn btn-outline-primary"><i class="bi bi-play"></i></button>
27-
} else
72+
<button class="action-btn play" @onclick="() => tis.PlayDownloads()" title="Resume downloads">
73+
<i class="bi bi-play-fill"></i>
74+
<span>Play</span>
75+
</button>
76+
}
77+
else
2878
{
29-
<button type="button" @onclick="() => tis.PauseDownloads()" class="btn btn-outline-primary"><i class="bi bi-pause"></i></button>
79+
<button class="action-btn pause" @onclick="() => tis.PauseDownloads()" title="Pause downloads">
80+
<i class="bi bi-pause-fill"></i>
81+
<span>Pause</span>
82+
</button>
3083
}
31-
<button type="button" @onclick="() => tis.StopDownloads()" class="btn btn-outline-primary"><i class="bi bi-stop"></i></button>
84+
<button class="action-btn stop" @onclick="() => tis.StopDownloads()" title="Stop all downloads">
85+
<i class="bi bi-stop-fill"></i>
86+
<span>Stop</span>
87+
</button>
3288
</div>
33-
3489
</div>
3590
<Tabs>
36-
<Tab Title="Downloads">
91+
<Tab Title="Active">
3792
<Content>
3893
<TelegramDownloader.Pages.Partials.DownloadsTable isPending="false"></TelegramDownloader.Pages.Partials.DownloadsTable>
3994
</Content>
4095
</Tab>
41-
<Tab Title="Pending">
96+
<Tab Title="Queue">
4297
<Content>
4398
<TelegramDownloader.Pages.Partials.DownloadsTable isPending="true"></TelegramDownloader.Pages.Partials.DownloadsTable>
4499
</Content>
45100
</Tab>
46101
</Tabs>
47-
48102
</Content>
49103
</Tab>
50104
<Tab Title="Uploads">
51105
<Content>
52-
<div style="padding: 1em">
53-
<button class="btn btn-success" @onclick="clearUploads" data-bs-toggle="tooltip" data-bs-placement="top" title="Clear completed and error"><i class="bi bi-trash"></i> Clear</button>
106+
<div class="tab-actions">
107+
<span class="tab-actions-title">Actions</span>
108+
<div class="action-btn-group">
109+
<button class="action-btn clear" @onclick="clearUploads" title="Clear completed and error">
110+
<i class="bi bi-trash3"></i>
111+
<span>Clear</span>
112+
</button>
113+
</div>
54114
</div>
55115
<TelegramDownloader.Pages.Partials.UploadsTable></TelegramDownloader.Pages.Partials.UploadsTable>
56116
</Content>

0 commit comments

Comments
 (0)