feat: rework downloads widget with mantine-datatable

- Replace mantine-react-table with mantine-datatable for a cleaner, lighter table
- Add right-click context menu with pause/resume/delete/copy actions
- Add row expansion for inline detail view (replaces modal)
- Implement responsive scaling based on widget width
- Add footer filter panel with client and status filtering
- Show status badges with color-coded indicators
- Display speed indicators with icons in column cells
- Add global ratio, total speeds, and item count in footer
- Sort always enabled (removed confusing enableRowSorting toggle)
- Reorder default columns to prioritize useful information
- Update docs and translations
This commit is contained in:
Thomas Camlong committed 2026-07-21 16:05:59 +02:00
1 parent b004186183
commit fc0da8dedf
7 files changed
+856 -911

No files matched your search

+2 -3
View File
@@ -74,11 +74,10 @@ const optionMapping: OptionMapping = {
categoryFilter: (oldOptions) => ("labelFilter" in oldOptions ? oldOptions.labelFilter : undefined),
filterIsWhitelist: (oldOptions) =>
"labelFilterIsWhitelist" in oldOptions ? oldOptions.labelFilterIsWhitelist : undefined,
enableRowSorting: (oldOptions) => ("rowSorting" in oldOptions ? oldOptions.rowSorting : undefined),
showCompletedTorrent: (oldOptions) =>
"displayCompletedTorrents" in oldOptions ? oldOptions.displayCompletedTorrents : undefined,
columns: () => ["integration", "name", "progress", "time", "actions"],
defaultSort: () => "type",
columns: () => ["integration", "name", "progress", "time", "state"],
defaultSort: () => "progress",
descendingDefaultSort: () => false,
showCompletedUsenet: () => true,
showCompletedHttp: () => true,