diff --git a/src/pages/Generator/index.jsx b/src/pages/Generator/index.jsx index 2c908df..f32bbb3 100644 --- a/src/pages/Generator/index.jsx +++ b/src/pages/Generator/index.jsx @@ -96,40 +96,39 @@ export function Generator() { } }; - const generateTapped = async () => { - let filament; - let processes; - - if (type === "base") { - filament = filamentList; - processes = processesList; - } else { - filament = filamentList.filter(filament => selectedFilament.includes(filament.identifier)); - - // Filter processes based on matching printer names only - processes = processesList.filter(process => { - // Extract and trim the printer name from the process identifier - const processPrinterName = process.identifier.split('@')[1].split(' (')[0].replace(/ /g, ''); - - // Check if any of the selected printers match the printer name in the process - return selectedPrinters.some(printer => { - const printerName = extractPrinterName(printer).replace(/ /g, ''); // Also trim spaces from selected printer names - console.log(`Comparing printer name: ${printerName} with process printer name: ${processPrinterName}`); - return printerName === processPrinterName; - }); - }); - } - - // Create the ZIP file with selected printers, filaments, and processes - const zip = await createZip( - printerList.filter(printer => selectedPrinters.includes(printer.identifier)).map(printer => printer.profile), - filament.map(filament => filament.profile), - processes.map(process => process.profile) - ); - - // Save the ZIP file - saveAs(zip, "OpenNept4une.orca_printer"); - }; + const generateTapped = async () => { + let filament; + let processes; + + if (type === "base") { + filament = filamentList; + processes = processesList; + } else { + filament = filamentList.filter(filament => selectedFilament.includes(filament.identifier)); + + // Filter processes based on exact printer name match + processes = processesList.filter(process => { + const processPrinterName = process.identifier.split('@')[1].split(' (')[0].replace(/ /g, ''); + + // Check if the selected printer matches exactly with the process printer name + return selectedPrinters.some(printer => { + const printerName = extractPrinterName(printer).replace(/ /g, ''); + console.log(`Comparing printer name: ${printerName} with process printer name: ${processPrinterName}`); + return printerName === processPrinterName; + }); + }); + } + + // Create the ZIP file with selected printers, filaments, and processes + const zip = await createZip( + printerList.filter(printer => selectedPrinters.includes(printer.identifier)).map(printer => printer.profile), + filament.map(filament => filament.profile), + processes.map(process => process.profile) + ); + + // Save the ZIP file + saveAs(zip, "OpenNept4une.orca_printer"); + }; return (