feat(torrent): add standalone properties windows

- add caller-bound native properties bridge and lifecycle guards

- split Network settings into accessible secondary tabs

- add tabbed Torrent and generic Properties surfaces

- harden runtime validation and ignore the implementation plan
This commit is contained in:
NimBold
2026-08-04 09:26:38 +03:30
parent 579a8f7f80
commit c342bcd347
22 changed files with 1778 additions and 88 deletions
+8 -2
View File
@@ -56,6 +56,7 @@ import {
import { updateDownloadSelection } from '../utils/downloadSelection';
import { clampFloatingPosition } from '../utils/floatingPosition';
import { FloatingQueueSubmenu } from './FloatingQueueSubmenu';
import { openPropertiesWindow } from '../propertiesBridge';
export interface DownloadTableStatusSummary {
summary: DownloadSummary;
@@ -1383,8 +1384,13 @@ export const DownloadTable: React.FC<DownloadTableProps> = ({ filter, onSummaryC
}, []);
const openProperties = useCallback((id: string) => {
useDownloadStore.getState().setSelectedPropertiesDownloadId(id);
}, []);
void openPropertiesWindow(id).catch(error => {
showInteractionError(t($ => $.downloadTable.interactionError, {
message: t($ => $.downloadTable.properties),
detail: error instanceof Error ? error.message : String(error)
}), error);
});
}, [showInteractionError, t]);
const revealDownloadFile = useCallback(async (item: DownloadItem) => {
const pathToReveal = await getDownloadPath(item);