fixed path issue (#157)

Co-authored-by: afkarxyz <mzamzamafkarhadiq@gmail.com>
This commit is contained in:
enriqueqs
2025-12-12 11:31:13 +01:00
committed by GitHub
parent 64b86b65a1
commit ffd4daf031
4 changed files with 14 additions and 12 deletions
+3 -5
View File
@@ -130,7 +130,8 @@ export function Settings() {
if (open) {
setTempSettings(savedSettings);
}
}, [open, savedSettings]);
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [open]);
const handleSave = () => {
saveSettings(tempSettings);
@@ -187,12 +188,9 @@ export function Settings() {
try {
// Call backend to open folder selection dialog
const selectedPath = await SelectFolder(tempSettings.downloadPath || "");
console.log("Selected path:", selectedPath);
if (selectedPath && selectedPath.trim() !== "") {
setTempSettings((prev) => ({ ...prev, downloadPath: selectedPath }));
} else {
console.log("No folder selected or user cancelled");
}
} catch (error) {
console.error("Error selecting folder:", error);
+7 -3
View File
@@ -22,6 +22,7 @@ export function useDownload() {
const downloadWithAutoFallback = async (
isrc: string,
// eslint-disable-next-line @typescript-eslint/no-explicit-any
settings: any,
trackName?: string,
artistName?: string,
@@ -32,7 +33,7 @@ export function useDownload() {
durationMs?: number,
releaseYear?: string
) => {
let service = settings.downloader;
const service = settings.downloader;
const query = trackName && artistName ? `${trackName} ${artistName}` : undefined;
const os = settings.operatingSystem;
@@ -65,7 +66,7 @@ export function useDownload() {
outputDir = joinPath(os, outputDir, sanitizePath(part, os));
}
}
// Use album track number if template contains {album}
if (settings.folderTemplate.includes("{album}")) {
useAlbumTrackNumber = true;
@@ -78,6 +79,7 @@ export function useDownload() {
if (service === "auto") {
// Get all streaming URLs once from song.link API
// eslint-disable-next-line @typescript-eslint/no-explicit-any
let streamingURLs: any = null;
if (spotifyId) {
try {
@@ -246,6 +248,7 @@ export function useDownload() {
const downloadWithItemID = async (
isrc: string,
// eslint-disable-next-line @typescript-eslint/no-explicit-any
settings: any,
itemID: string,
trackName?: string,
@@ -258,7 +261,7 @@ export function useDownload() {
isAlbum?: boolean,
releaseYear?: string
) => {
let service = settings.downloader;
const service = settings.downloader;
const query = trackName && artistName ? `${trackName} ${artistName}` : undefined;
const os = settings.operatingSystem;
@@ -302,6 +305,7 @@ export function useDownload() {
if (service === "auto") {
// Get all streaming URLs once from song.link API
// eslint-disable-next-line @typescript-eslint/no-explicit-any
let streamingURLs: any = null;
if (spotifyId) {
try {
+3 -3
View File
@@ -19,10 +19,10 @@ export function sanitizePath(input: string, os: string): string {
export function joinPath(os: string, ...parts: string[]): string {
const sep = os === "Windows" ? "\\" : "/";
const filtered = parts.filter(Boolean);
if (filtered.length === 0) return "";
const joined = filtered
.map((p, i) => {
// For first part, only remove trailing slashes (preserve leading slash for absolute paths)
@@ -34,7 +34,7 @@ export function joinPath(os: string, ...parts: string[]): string {
})
.filter(Boolean) // Remove empty strings after trimming
.join(sep);
return joined;
}