mirror of
https://github.com/maziggy/bambuddy.git
synced 2026-10-22 03:49:18 +02:00
Revert "Add Load/Unload External filament buttons to printer controls"
This reverts commit e3cde14a0b.
This commit is contained in:
@@ -2520,14 +2520,6 @@ export const api = {
|
||||
request<{ success: boolean; message: string }>(`/printers/${printerId}/print/resume`, {
|
||||
method: 'POST',
|
||||
}),
|
||||
loadExternalFilament: (printerId: number) =>
|
||||
request<{ success: boolean; message: string }>(`/printers/${printerId}/filament/load-external`, {
|
||||
method: 'POST',
|
||||
}),
|
||||
unloadExternalFilament: (printerId: number) =>
|
||||
request<{ success: boolean; message: string }>(`/printers/${printerId}/filament/unload-external`, {
|
||||
method: 'POST',
|
||||
}),
|
||||
clearPlate: (printerId: number) =>
|
||||
request<{ success: boolean; message: string }>(`/printers/${printerId}/clear-plate`, {
|
||||
method: 'POST',
|
||||
|
||||
@@ -215,8 +215,6 @@ export default {
|
||||
resume: 'Fortsetzen',
|
||||
pause: 'Pausieren',
|
||||
stop: 'Stoppen',
|
||||
loadExternal: 'Laden',
|
||||
unloadExternal: 'Entladen',
|
||||
camera: 'Kamera',
|
||||
skipObject: 'Objekt überspringen',
|
||||
reconnect: 'Neu verbinden',
|
||||
@@ -287,10 +285,6 @@ export default {
|
||||
failedToStopPrint: 'Druck konnte nicht gestoppt werden',
|
||||
failedToPausePrint: 'Druck konnte nicht pausiert werden',
|
||||
failedToResumePrint: 'Druck konnte nicht fortgesetzt werden',
|
||||
filamentLoadExternalSent: 'Externes Filament laden Befehl gesendet',
|
||||
filamentUnloadExternalSent: 'Externes Filament entladen Befehl gesendet',
|
||||
failedToLoadExternalFilament: 'Externes Filament konnte nicht geladen werden',
|
||||
failedToUnloadExternalFilament: 'Externes Filament konnte nicht entladen werden',
|
||||
failedToControlChamberLight: 'Kammerbeleuchtung konnte nicht gesteuert werden',
|
||||
failedToSetSpeed: 'Druckgeschwindigkeit konnte nicht eingestellt werden',
|
||||
failedToUpdateSetting: 'Einstellung konnte nicht aktualisiert werden',
|
||||
|
||||
@@ -215,8 +215,6 @@ export default {
|
||||
resume: 'Resume',
|
||||
pause: 'Pause',
|
||||
stop: 'Stop',
|
||||
loadExternal: 'Load',
|
||||
unloadExternal: 'Unload',
|
||||
camera: 'Camera',
|
||||
skipObject: 'Skip Object',
|
||||
reconnect: 'Reconnect',
|
||||
@@ -287,10 +285,6 @@ export default {
|
||||
failedToStopPrint: 'Failed to stop print',
|
||||
failedToPausePrint: 'Failed to pause print',
|
||||
failedToResumePrint: 'Failed to resume print',
|
||||
filamentLoadExternalSent: 'Load external filament command sent',
|
||||
filamentUnloadExternalSent: 'Unload external filament command sent',
|
||||
failedToLoadExternalFilament: 'Failed to load external filament',
|
||||
failedToUnloadExternalFilament: 'Failed to unload external filament',
|
||||
failedToControlChamberLight: 'Failed to control chamber light',
|
||||
failedToSetSpeed: 'Failed to set print speed',
|
||||
failedToUpdateSetting: 'Failed to update setting',
|
||||
|
||||
@@ -215,8 +215,6 @@ export default {
|
||||
resume: 'Reprendre',
|
||||
pause: 'Pause',
|
||||
stop: 'Arrêter',
|
||||
loadExternal: 'Charger',
|
||||
unloadExternal: 'Décharger',
|
||||
camera: 'Caméra',
|
||||
skipObject: 'Sauter l\'objet',
|
||||
reconnect: 'Reconnecter',
|
||||
@@ -287,10 +285,6 @@ export default {
|
||||
failedToStopPrint: 'Échec de l\'arrêt',
|
||||
failedToPausePrint: 'Échec de la mise en pause',
|
||||
failedToResumePrint: 'Échec de la reprise',
|
||||
filamentLoadExternalSent: 'Commande de chargement filament externe envoyée',
|
||||
filamentUnloadExternalSent: 'Commande de déchargement filament externe envoyée',
|
||||
failedToLoadExternalFilament: 'Échec du chargement du filament externe',
|
||||
failedToUnloadExternalFilament: 'Échec du déchargement du filament externe',
|
||||
failedToControlChamberLight: 'Échec du contrôle de la lumière',
|
||||
failedToSetSpeed: 'Échec du réglage de la vitesse',
|
||||
failedToUpdateSetting: 'Échec de mise à jour du paramètre',
|
||||
|
||||
@@ -215,8 +215,6 @@ export default {
|
||||
resume: 'Riprendi',
|
||||
pause: 'Pausa',
|
||||
stop: 'Ferma',
|
||||
loadExternal: 'Carica',
|
||||
unloadExternal: 'Scarica',
|
||||
camera: 'Camera',
|
||||
skipObject: 'Salta Oggetto',
|
||||
reconnect: 'Riconnetti',
|
||||
@@ -287,10 +285,6 @@ export default {
|
||||
failedToStopPrint: 'Impossibile fermare stampa',
|
||||
failedToPausePrint: 'Impossibile mettere in pausa stampa',
|
||||
failedToResumePrint: 'Impossibile riprendere stampa',
|
||||
filamentLoadExternalSent: 'Comando caricamento filamento esterno inviato',
|
||||
filamentUnloadExternalSent: 'Comando scaricamento filamento esterno inviato',
|
||||
failedToLoadExternalFilament: 'Impossibile caricare filamento esterno',
|
||||
failedToUnloadExternalFilament: 'Impossibile scaricare filamento esterno',
|
||||
failedToControlChamberLight: 'Impossibile controllare luce camera',
|
||||
failedToSetSpeed: 'Impossibile impostare la velocità di stampa',
|
||||
failedToUpdateSetting: 'Impossibile aggiornare impostazione',
|
||||
|
||||
@@ -214,8 +214,6 @@ export default {
|
||||
resume: '再開',
|
||||
pause: '一時停止',
|
||||
stop: '停止',
|
||||
loadExternal: '装填',
|
||||
unloadExternal: '排出',
|
||||
camera: 'カメラ',
|
||||
skipObject: 'オブジェクトスキップ',
|
||||
reconnect: '再接続',
|
||||
@@ -286,10 +284,6 @@ export default {
|
||||
failedToStopPrint: '印刷の停止に失敗しました',
|
||||
failedToPausePrint: '印刷の一時停止に失敗しました',
|
||||
failedToResumePrint: '印刷の再開に失敗しました',
|
||||
filamentLoadExternalSent: '外部フィラメント装填コマンドを送信しました',
|
||||
filamentUnloadExternalSent: '外部フィラメント排出コマンドを送信しました',
|
||||
failedToLoadExternalFilament: '外部フィラメントの装填に失敗しました',
|
||||
failedToUnloadExternalFilament: '外部フィラメントの排出に失敗しました',
|
||||
failedToControlChamberLight: 'チャンバーライトの制御に失敗しました',
|
||||
failedToSetSpeed: '印刷速度の設定に失敗しました',
|
||||
failedToUpdateSetting: '設定の更新に失敗しました',
|
||||
|
||||
@@ -215,8 +215,6 @@ export default {
|
||||
resume: 'Retomar',
|
||||
pause: 'Pausar',
|
||||
stop: 'Parar',
|
||||
loadExternal: 'Carregar',
|
||||
unloadExternal: 'Descarregar',
|
||||
camera: 'âmera',
|
||||
skipObject: 'Ignorar objeto',
|
||||
reconnect: 'Reconectar',
|
||||
@@ -287,10 +285,6 @@ export default {
|
||||
failedToStopPrint: 'Falha ao parar impressão',
|
||||
failedToPausePrint: 'Falha ao pausar impressão',
|
||||
failedToResumePrint: 'Falha ao retomar impressão',
|
||||
filamentLoadExternalSent: 'Comando de carregamento de filamento externo enviado',
|
||||
filamentUnloadExternalSent: 'Comando de descarregamento de filamento externo enviado',
|
||||
failedToLoadExternalFilament: 'Falha ao carregar filamento externo',
|
||||
failedToUnloadExternalFilament: 'Falha ao descarregar filamento externo',
|
||||
failedToControlChamberLight: 'Falha ao controlar a luz da câmara',
|
||||
failedToSetSpeed: 'Falha ao definir a velocidade de impressão',
|
||||
failedToUpdateSetting: 'Falha ao atualizar configuração',
|
||||
|
||||
@@ -215,8 +215,6 @@ export default {
|
||||
resume: '继续',
|
||||
pause: '暂停',
|
||||
stop: '停止',
|
||||
loadExternal: '装载',
|
||||
unloadExternal: '卸载',
|
||||
camera: '摄像头',
|
||||
skipObject: '跳过对象',
|
||||
reconnect: '重新连接',
|
||||
@@ -287,10 +285,6 @@ export default {
|
||||
failedToStopPrint: '停止打印失败',
|
||||
failedToPausePrint: '暂停打印失败',
|
||||
failedToResumePrint: '继续打印失败',
|
||||
filamentLoadExternalSent: '加载外部耗材命令已发送',
|
||||
filamentUnloadExternalSent: '卸载外部耗材命令已发送',
|
||||
failedToLoadExternalFilament: '加载外部耗材失败',
|
||||
failedToUnloadExternalFilament: '卸载外部耗材失败',
|
||||
failedToControlChamberLight: '控制腔室灯失败',
|
||||
failedToSetSpeed: '设置打印速度失败',
|
||||
failedToUpdateSetting: '更新设置失败',
|
||||
|
||||
@@ -48,8 +48,6 @@ import {
|
||||
Cable,
|
||||
Flame,
|
||||
Gauge,
|
||||
ArrowDownToLine,
|
||||
ArrowUpFromLine,
|
||||
} from 'lucide-react';
|
||||
|
||||
import { useNavigate } from 'react-router-dom';
|
||||
@@ -1970,24 +1968,6 @@ function PrinterCard({
|
||||
onError: (error: Error) => showToast(error.message || t('printers.toast.failedToResumePrint'), 'error'),
|
||||
});
|
||||
|
||||
const loadExternalMutation = useMutation({
|
||||
mutationFn: () => api.loadExternalFilament(printer.id),
|
||||
onSuccess: () => {
|
||||
showToast(t('printers.toast.filamentLoadExternalSent'));
|
||||
queryClient.invalidateQueries({ queryKey: ['printerStatus', printer.id] });
|
||||
},
|
||||
onError: (error: Error) => showToast(error.message || t('printers.toast.failedToLoadExternalFilament'), 'error'),
|
||||
});
|
||||
|
||||
const unloadExternalMutation = useMutation({
|
||||
mutationFn: () => api.unloadExternalFilament(printer.id),
|
||||
onSuccess: () => {
|
||||
showToast(t('printers.toast.filamentUnloadExternalSent'));
|
||||
queryClient.invalidateQueries({ queryKey: ['printerStatus', printer.id] });
|
||||
},
|
||||
onError: (error: Error) => showToast(error.message || t('printers.toast.failedToUnloadExternalFilament'), 'error'),
|
||||
});
|
||||
|
||||
// Chamber light mutation with optimistic update
|
||||
const chamberLightMutation = useMutation({
|
||||
mutationFn: (on: boolean) => api.setChamberLight(printer.id, on),
|
||||
@@ -2992,7 +2972,7 @@ function PrinterCard({
|
||||
const isRunning = status.state === 'RUNNING';
|
||||
const isPaused = status.state === 'PAUSE';
|
||||
const isPrinting = isRunning || isPaused;
|
||||
const isControlBusy = stopPrintMutation.isPending || pausePrintMutation.isPending || resumePrintMutation.isPending || loadExternalMutation.isPending || unloadExternalMutation.isPending;
|
||||
const isControlBusy = stopPrintMutation.isPending || pausePrintMutation.isPending || resumePrintMutation.isPending;
|
||||
|
||||
// Fan data
|
||||
const partFan = status.cooling_fan_speed;
|
||||
@@ -3148,43 +3128,6 @@ function PrinterCard({
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* External Filament Buttons - below controls, left-aligned */}
|
||||
<div className="flex items-center gap-2 mt-2">
|
||||
<button
|
||||
onClick={() => { if (!loadExternalMutation.isPending) loadExternalMutation.mutate(); }}
|
||||
disabled={isPrinting || !status.connected || isControlBusy || !hasPermission('printers:control')}
|
||||
className={`
|
||||
flex items-center justify-center gap-1 px-3 py-1.5 rounded-lg text-xs font-medium
|
||||
transition-colors
|
||||
${!isPrinting && status.connected && hasPermission('printers:control')
|
||||
? 'bg-cyan-500/20 text-cyan-400 hover:bg-cyan-500/30'
|
||||
: 'bg-bambu-dark text-bambu-gray/50 cursor-not-allowed'
|
||||
}
|
||||
`}
|
||||
title={!hasPermission('printers:control') ? t('printers.permission.noControl') : t('printers.loadExternal')}
|
||||
>
|
||||
{loadExternalMutation.isPending ? <Loader2 className="w-3 h-3 animate-spin" /> : <ArrowDownToLine className="w-3 h-3" />}
|
||||
{t('printers.loadExternal')}
|
||||
</button>
|
||||
|
||||
<button
|
||||
onClick={() => { if (!unloadExternalMutation.isPending) unloadExternalMutation.mutate(); }}
|
||||
disabled={isPrinting || !status.connected || isControlBusy || !hasPermission('printers:control')}
|
||||
className={`
|
||||
flex items-center justify-center gap-1 px-3 py-1.5 rounded-lg text-xs font-medium
|
||||
transition-colors
|
||||
${!isPrinting && status.connected && hasPermission('printers:control')
|
||||
? 'bg-cyan-500/20 text-cyan-400 hover:bg-cyan-500/30'
|
||||
: 'bg-bambu-dark text-bambu-gray/50 cursor-not-allowed'
|
||||
}
|
||||
`}
|
||||
title={!hasPermission('printers:control') ? t('printers.permission.noControl') : t('printers.unloadExternal')}
|
||||
>
|
||||
{unloadExternalMutation.isPending ? <Loader2 className="w-3 h-3 animate-spin" /> : <ArrowUpFromLine className="w-3 h-3" />}
|
||||
{t('printers.unloadExternal')}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
})()}
|
||||
|
||||
Reference in New Issue
Block a user