feat(desktop): implement advanced transfer, tray icon, media cookies, and extension tcp server

This commit is contained in:
NimBold
2026-06-13 11:24:41 +03:30
parent 6de0cd268c
commit 9119cafdcd
7 changed files with 180 additions and 5 deletions
@@ -250,7 +250,7 @@ const isMediaUrl = (url: string) => {
export const AddDownloadsModal = () => {
const { isAddModalOpen, toggleAddModal, addDownload, queues } = useDownloadStore();
const { isAddModalOpen, pendingAddUrls, toggleAddModal, addDownload, queues } = useDownloadStore();
const { defaultDownloadPath } = useSettingsStore();
const [selectedQueueId, setSelectedQueueId] = useState<string>(MAIN_QUEUE_ID);
@@ -286,12 +286,12 @@ export const AddDownloadsModal = () => {
useEffect(() => {
if (isAddModalOpen) {
setSaveLocation(defaultDownloadPath);
setUrls('');
setUrls(pendingAddUrls || '');
setParsedItems([]);
setSelectedItemIndex(null);
setSelectedQueueId(queues.find(q => q.isMain)?.id || MAIN_QUEUE_ID);
}
}, [isAddModalOpen, defaultDownloadPath]);
}, [isAddModalOpen, pendingAddUrls, defaultDownloadPath]);
useEffect(() => {
if (!saveLocation) return;
@@ -69,6 +69,19 @@ export const PropertiesModal = () => {
}
setHeaders(activeItem.headers || '');
setChecksumEnabled(!!activeItem.checksum);
if (activeItem.checksum) {
const [algo, val] = activeItem.checksum.split('=');
if (val) {
setChecksumAlgorithm(algo);
setChecksumValue(val);
}
} else {
setChecksumAlgorithm('SHA-256');
setChecksumValue('');
}
setCookies(activeItem.cookies || '');
setMirrors(activeItem.mirrors || '');
setErrorMessage('');
} else {
setItem(null);
@@ -115,6 +128,9 @@ export const PropertiesModal = () => {
username: loginMode === 'custom' ? username.trim() : null,
password: loginMode === 'custom' ? password.trim() : null,
headers: headers.trim() || null,
checksum: checksumEnabled && checksumValue.trim() ? `${checksumAlgorithm}=${checksumValue.trim()}` : null,
cookies: cookies.trim() || null,
mirrors: mirrors.trim() || null,
};
updateDownload(item.id, updates);