mirror of
https://github.com/maziggy/bambuddy.git
synced 2026-10-22 03:49:18 +02:00
Fix maintenance tasks showing wrong rod type for printer models (#351)
H2/A1 series have linear rails, not carbon rods. X1/P1/P2S have carbon rods, not linear rails. Split rod-specific maintenance into model-aware pairs: "Lubricate/Clean Carbon Rods" for X1/P1/P2S and "Lubricate/Clean Linear Rails" for A1/H2. Added rod type classification to printer_models and startup cleanup for stale/duplicate system maintenance types.
This commit is contained in:
@@ -980,6 +980,7 @@ export default {
|
||||
removeFromPrinter: 'Von diesem Drucker entfernen',
|
||||
// Types
|
||||
types: {
|
||||
lubricateCarbonRods: 'Karbonstäbe schmieren',
|
||||
lubricateRails: 'Linearschienen schmieren',
|
||||
cleanNozzle: 'Düse/Hotend reinigen',
|
||||
checkBelts: 'Riemenspannung prüfen',
|
||||
@@ -988,6 +989,7 @@ export default {
|
||||
checkCooling: 'Kühlungslüfter prüfen',
|
||||
generalInspection: 'Allgemeine Inspektion',
|
||||
cleanCarbonRods: 'Kohlenstoffstangen reinigen',
|
||||
cleanLinearRails: 'Linearschienen reinigen',
|
||||
checkPtfeTube: 'PTFE-Schlauch prüfen',
|
||||
replaceHepaFilter: 'HEPA-Filter ersetzen',
|
||||
replaceCarbonFilter: 'Aktivkohlefilter ersetzen',
|
||||
@@ -2977,6 +2979,7 @@ export default {
|
||||
|
||||
// Maintenance type descriptions (built-in)
|
||||
maintenanceDescriptions: {
|
||||
lubricateCarbonRods: 'Schmiermittel auf Karbonstäbe für sanfte Bewegung auftragen',
|
||||
lubricateRails: 'Schmiermittel auf Linearschienen für sanfte Bewegung auftragen',
|
||||
cleanNozzle: 'Hotend und Düse reinigen, um Verstopfungen zu verhindern',
|
||||
checkBelts: 'Riemenspannung für präzise Drucke überprüfen',
|
||||
@@ -2985,6 +2988,7 @@ export default {
|
||||
checkCooling: 'Sicherstellen, dass Lüfter ordnungsgemäß funktionieren',
|
||||
generalInspection: 'Allgemeine Druckerinspektion',
|
||||
cleanCarbonRods: 'Karbonstäbe reinigen, um Reibung zu reduzieren',
|
||||
cleanLinearRails: 'Linearschienen abwischen, um Staub und Schmutz zu entfernen',
|
||||
checkPtfeTube: 'PTFE-Schlauch auf Verschleiß oder Beschädigung prüfen',
|
||||
replaceHepaFilter: 'HEPA-Filter für Luftqualität ersetzen',
|
||||
replaceCarbonFilter: 'Aktivkohlefilter ersetzen',
|
||||
|
||||
@@ -980,6 +980,7 @@ export default {
|
||||
removeFromPrinter: 'Remove from this printer',
|
||||
// Types
|
||||
types: {
|
||||
lubricateCarbonRods: 'Lubricate Carbon Rods',
|
||||
lubricateRails: 'Lubricate Linear Rails',
|
||||
cleanNozzle: 'Clean Nozzle/Hotend',
|
||||
checkBelts: 'Check Belt Tension',
|
||||
@@ -988,6 +989,7 @@ export default {
|
||||
checkCooling: 'Check Cooling Fans',
|
||||
generalInspection: 'General Inspection',
|
||||
cleanCarbonRods: 'Clean Carbon Rods',
|
||||
cleanLinearRails: 'Clean Linear Rails',
|
||||
checkPtfeTube: 'Check PTFE Tube',
|
||||
replaceHepaFilter: 'Replace HEPA Filter',
|
||||
replaceCarbonFilter: 'Replace Carbon Filter',
|
||||
@@ -2982,6 +2984,7 @@ export default {
|
||||
|
||||
// Maintenance type descriptions (built-in)
|
||||
maintenanceDescriptions: {
|
||||
lubricateCarbonRods: 'Apply lubricant to carbon rods for smooth motion',
|
||||
lubricateRails: 'Apply lubricant to linear rails for smooth motion',
|
||||
cleanNozzle: 'Clean hotend and nozzle to prevent clogs',
|
||||
checkBelts: 'Verify belt tension for accurate prints',
|
||||
@@ -2990,6 +2993,7 @@ export default {
|
||||
checkCooling: 'Ensure cooling fans are working properly',
|
||||
generalInspection: 'General printer inspection',
|
||||
cleanCarbonRods: 'Clean carbon rods to reduce friction',
|
||||
cleanLinearRails: 'Wipe linear rails to remove dust and debris',
|
||||
checkPtfeTube: 'Inspect PTFE tube for wear or damage',
|
||||
replaceHepaFilter: 'Replace HEPA filter for air quality',
|
||||
replaceCarbonFilter: 'Replace activated carbon filter',
|
||||
|
||||
@@ -967,6 +967,7 @@ export default {
|
||||
removeFromPrinter: 'Rimuovi da questa stampante',
|
||||
// Types
|
||||
types: {
|
||||
lubricateCarbonRods: 'Lubrifica aste in carbonio',
|
||||
lubricateRails: 'Lubrifica guide lineari',
|
||||
cleanNozzle: 'Pulisci ugello/Hotend',
|
||||
checkBelts: 'Controlla tensione cinghie',
|
||||
@@ -975,6 +976,7 @@ export default {
|
||||
checkCooling: 'Controlla ventole raffreddamento',
|
||||
generalInspection: 'Ispezione generale',
|
||||
cleanCarbonRods: 'Pulisci aste in carbonio',
|
||||
cleanLinearRails: 'Pulisci guide lineari',
|
||||
checkPtfeTube: 'Controlla tubo PTFE',
|
||||
replaceHepaFilter: 'Sostituisci filtro HEPA',
|
||||
replaceCarbonFilter: 'Sostituisci filtro carbone',
|
||||
@@ -2651,6 +2653,7 @@ export default {
|
||||
|
||||
// Maintenance type descriptions (built-in)
|
||||
maintenanceDescriptions: {
|
||||
lubricateCarbonRods: 'Applica lubrificante alle aste in carbonio per un movimento fluido',
|
||||
lubricateRails: 'Applica lubrificante alle guide lineari per un movimento fluido',
|
||||
cleanNozzle: 'Pulisci hotend e ugello per prevenire intasamenti',
|
||||
checkBelts: 'Verifica tensione cinghie per stampe accurate',
|
||||
@@ -2659,6 +2662,7 @@ export default {
|
||||
checkCooling: 'Assicurati che le ventole di raffreddamento funzionino',
|
||||
generalInspection: 'Ispezione generale stampante',
|
||||
cleanCarbonRods: 'Pulisci le aste in carbonio per ridurre attrito',
|
||||
cleanLinearRails: 'Pulisci le guide lineari per rimuovere polvere e detriti',
|
||||
checkPtfeTube: 'Ispeziona il tubo PTFE per usura o danni',
|
||||
replaceHepaFilter: 'Sostituisci filtro HEPA per qualità aria',
|
||||
replaceCarbonFilter: 'Sostituisci filtro a carbone attivo',
|
||||
|
||||
@@ -1015,6 +1015,7 @@ export default {
|
||||
noPrintersAssigned: 'プリンター未割り当て',
|
||||
removeFromPrinter: 'このプリンターから削除',
|
||||
types: {
|
||||
lubricateCarbonRods: 'カーボンロッドの潤滑',
|
||||
lubricateRails: 'リニアレールの潤滑',
|
||||
cleanNozzle: 'ノズル/ホットエンドの清掃',
|
||||
checkBelts: 'ベルト張力の確認',
|
||||
@@ -1023,6 +1024,7 @@ export default {
|
||||
checkCooling: '冷却ファンの確認',
|
||||
generalInspection: '総合点検',
|
||||
cleanCarbonRods: 'カーボンロッドの清掃',
|
||||
cleanLinearRails: 'リニアレールの清掃',
|
||||
checkPtfeTube: 'PTFEチューブの確認',
|
||||
replaceHepaFilter: 'HEPAフィルター交換',
|
||||
replaceCarbonFilter: 'カーボンフィルター交換',
|
||||
@@ -2860,6 +2862,7 @@ export default {
|
||||
},
|
||||
},
|
||||
maintenanceDescriptions: {
|
||||
lubricateCarbonRods: 'カーボンロッドに潤滑剤を塗布してスムーズな動きを確保',
|
||||
lubricateRails: 'リニアレールの潤滑',
|
||||
cleanNozzle: 'ノズル/ホットエンドの清掃',
|
||||
checkBelts: 'ベルト張力の確認',
|
||||
@@ -2868,6 +2871,7 @@ export default {
|
||||
checkCooling: '冷却ファンの確認',
|
||||
generalInspection: '総合点検',
|
||||
cleanCarbonRods: 'カーボンロッドの清掃',
|
||||
cleanLinearRails: 'リニアレールを拭いてほこりや汚れを除去',
|
||||
checkPtfeTube: 'PTFEチューブの確認',
|
||||
replaceHepaFilter: 'HEPAフィルター交換',
|
||||
replaceCarbonFilter: 'カーボンフィルター交換',
|
||||
|
||||
@@ -140,14 +140,19 @@ function getMaintenanceWikiUrl(typeName: string, printerModel: string | null): s
|
||||
const isP2S = model.includes('P2S');
|
||||
|
||||
switch (typeName) {
|
||||
case 'Lubricate Linear Rails':
|
||||
case 'Lubricate Carbon Rods':
|
||||
// X1, P1, P2S series have carbon rods
|
||||
if (isX1) return 'https://wiki.bambulab.com/en/x1/maintenance/basic-maintenance';
|
||||
if (isP1) return 'https://wiki.bambulab.com/en/p1/maintenance/p1p-maintenance';
|
||||
if (isP2S) return 'https://wiki.bambulab.com/en/p2s/maintenance/belt-tension';
|
||||
return null;
|
||||
|
||||
case 'Lubricate Linear Rails':
|
||||
// A1 and H2 series have linear rails
|
||||
if (isA1Mini) return 'https://wiki.bambulab.com/en/a1-mini/maintenance/lubricate-y-axis';
|
||||
if (isA1) return 'https://wiki.bambulab.com/en/a1/maintenance/lubricate-y-axis';
|
||||
if (isH2) return 'https://wiki.bambulab.com/en/h2/maintenance/x-axis-lubrication';
|
||||
if (isP2S) return 'https://wiki.bambulab.com/en/p2s/maintenance/belt-tension'; // P2S maintenance page
|
||||
return 'https://wiki.bambulab.com/en/general/lead-screws-lubrication';
|
||||
return null;
|
||||
|
||||
case 'Clean Nozzle/Hotend':
|
||||
if (isX1 || isP1) return 'https://wiki.bambulab.com/en/x1/troubleshooting/nozzle-clog';
|
||||
@@ -168,11 +173,16 @@ function getMaintenanceWikiUrl(typeName: string, printerModel: string | null): s
|
||||
return 'https://wiki.bambulab.com/en/x1/maintenance/belt-tension';
|
||||
|
||||
case 'Clean Carbon Rods':
|
||||
// Only X1 and P1 series have carbon rods
|
||||
if (isX1 || isP1) return 'https://wiki.bambulab.com/en/general/carbon-rods-clearance';
|
||||
// A1, H2, P2S don't have carbon rods - return null
|
||||
if (isA1Mini || isA1 || isH2 || isP2S) return null;
|
||||
return 'https://wiki.bambulab.com/en/general/carbon-rods-clearance';
|
||||
// X1, P1, P2S series have carbon rods
|
||||
if (isX1 || isP1 || isP2S) return 'https://wiki.bambulab.com/en/general/carbon-rods-clearance';
|
||||
return null;
|
||||
|
||||
case 'Clean Linear Rails':
|
||||
// A1 and H2 series have linear rails
|
||||
if (isA1Mini) return 'https://wiki.bambulab.com/en/a1-mini/maintenance/lubricate-y-axis';
|
||||
if (isA1) return 'https://wiki.bambulab.com/en/a1/maintenance/lubricate-y-axis';
|
||||
if (isH2) return 'https://wiki.bambulab.com/en/h2/maintenance/x-axis-lubrication';
|
||||
return null;
|
||||
|
||||
case 'Clean Build Plate':
|
||||
// Same for all printers
|
||||
@@ -381,7 +391,7 @@ function PrinterSection({
|
||||
hasPermission: (permission: Permission) => boolean;
|
||||
t: TFunction;
|
||||
}) {
|
||||
const [expanded, setExpanded] = useState(true);
|
||||
const [expanded, setExpanded] = useState(false);
|
||||
const [editingHours, setEditingHours] = useState(false);
|
||||
const [hoursInput, setHoursInput] = useState(overview.total_print_hours.toFixed(1));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user