From 47bc363da6113168d46af3e155e98eca387cdba5 Mon Sep 17 00:00:00 2001 From: HalfManBear <89969229+halfmanbear@users.noreply.github.com> Date: Fri, 30 Aug 2024 13:46:57 +0100 Subject: [PATCH] Update index.jsx --- src/pages/Generator/index.jsx | 143 ++++++++++++---------------------- 1 file changed, 48 insertions(+), 95 deletions(-) diff --git a/src/pages/Generator/index.jsx b/src/pages/Generator/index.jsx index d341d8d..2f1eb8a 100644 --- a/src/pages/Generator/index.jsx +++ b/src/pages/Generator/index.jsx @@ -19,31 +19,20 @@ export function Generator() { const [selectedSlicer, setSelectedSlicer] = useState("orcaslicer"); useEffect(() => { - compilePrinterList().then((list) => { - console.log("Printer List:", list); - setPrinterList(list); - }); - compileFilamentList().then((list) => { - console.log("Filament List:", list); - setFilamentList(list); - }); - compileProcessList().then((list) => { - console.log("Process List:", list); - setProcessesList(list); - }); + compilePrinterList().then((list) => setPrinterList(list)); + compileFilamentList().then((list) => setFilamentList(list)); + compileProcessList().then((list) => setProcessesList(list)); }, []); useEffect(() => { - const extractPrinterName = (printer) => { - return printer.split(" (")[0].replace(/ /g, "").toLowerCase(); - }; + const extractPrinterName = (printer) => printer.split(" (")[0].replace(/ /g, "").toLowerCase(); const getFilamentMatchKeyword = (filament) => { if (filament.toLowerCase().includes("pla")) { - return "standard"; // Correct mapping for PLA to "Standard" + return "standard"; } if (filament.toLowerCase().includes("petg")) { - return "petg"; // PETG maps directly to "PETG" + return "petg"; } return filament.split(" ").pop().replace(/-/g, "").replace("opennept4une", "").trim().toLowerCase(); }; @@ -57,84 +46,55 @@ export function Generator() { const printerMatch = selectedPrinters.some((printer) => { const printerName = extractPrinterName(printer); - console.log(`Comparing printer name: ${printerName} with process printer name: ${processPrinterName}`); return printerName === processPrinterName; }); const filamentMatch = selectedFilament.length === 0 || selectedFilament.some((filament) => { const filamentKeyword = getFilamentMatchKeyword(filament); - console.log(`Checking if process identifier: ${process.identifier} includes filament keyword: ${filamentKeyword}`); return process.identifier.toLowerCase().includes(filamentKeyword); }); - - console.log(`Process: ${process.identifier}, Printer Match: ${printerMatch}, Filament Match: ${filamentMatch}`); + return printerMatch && filamentMatch; }); - - console.log("Filtered Processes List:", filtered); + setFilteredProcessesList(filtered); }, [selectedPrinters, selectedFilament, processesList]); - - const isValidSelection = () => { - return selectedPrinters.length > 0 && selectedSlicer !== null; - }; + + const isValidSelection = () => selectedPrinters.length > 0 && selectedSlicer !== null; const updateSelectedPrinters = (printer) => { - if (selectedPrinters.includes(printer)) { - setSelectedPrinters(selectedPrinters.filter((p) => p !== printer)); - } else { - setSelectedPrinters([...selectedPrinters, printer]); - } + setSelectedPrinters((prevSelected) => + prevSelected.includes(printer) ? prevSelected.filter((p) => p !== printer) : [...prevSelected, printer] + ); }; const updateSelectedFilaments = (filament) => { - if (selectedFilament.includes(filament)) { - setSelectedFilament(selectedFilament.filter((p) => p !== filament)); - } else { - setSelectedFilament([...selectedFilament, filament]); - } + setSelectedFilament((prevSelected) => + prevSelected.includes(filament) ? prevSelected.filter((p) => p !== filament) : [...prevSelected, filament] + ); }; const updateSelectedProcesses = (process) => { - if (selectedProcesses.includes(process)) { - setSelectedProcesses(selectedProcesses.filter((p) => p !== process)); - } else { - setSelectedProcesses([...selectedProcesses, process]); - } + setSelectedProcesses((prevSelected) => + prevSelected.includes(process) ? prevSelected.filter((p) => p !== process) : [...prevSelected, process] + ); }; const generateTapped = async () => { - let filament; - let processes; + const selectedFilamentProfiles = selectedFilament.length > 0 ? + filamentList.filter((filament) => selectedFilament.includes(filament.identifier)) : + filamentList; - if (type === "base") { - filament = filamentList; - processes = processesList; - } else { - filament = filamentList.filter((filament) => - selectedFilament.includes(filament.identifier) - ); - - processes = processesList.filter((process) => { - const processPrinterName = process.identifier - .split("@")[1] - .split(" (")[0] - .replace(/ /g, "") - .toLowerCase(); - - return selectedPrinters.some((printer) => { - const printerName = extractPrinterName(printer).replace(/ /g, "").toLowerCase(); - return printerName === processPrinterName; - }); - }); - } + const selectedProcessProfiles = selectedProcesses.length > 0 ? + filteredProcessesList.filter((process) => selectedProcesses.includes(process.identifier)) : + filteredProcessesList; 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) + selectedFilamentProfiles.map((filament) => filament.profile), + selectedProcessProfiles.map((process) => process.profile) ); saveAs(zip, "OpenNept4une.orca_printer"); @@ -201,9 +161,7 @@ export function Generator() { } function Selection(props) { - const handleClick = () => { - props.select(props.identifier); - }; + const handleClick = () => props.select(props.identifier); return (