Completely removed control page and all it's related code

This commit is contained in:
maziggy
2025-12-07 10:19:25 +00:00
parent eb6d6e6ce5
commit 06bfaa3c74
63 changed files with 8611 additions and 43322 deletions
+1 -200
View File
@@ -638,25 +638,6 @@ export interface UpdateStatus {
error: string | null;
}
// Printer Control types
export interface ControlResponse {
success: boolean;
message: string;
}
export interface ConfirmationRequired {
requires_confirmation: boolean;
token: string;
warning: string;
expires_in: number;
}
export type ControlResult = ControlResponse | ConfirmationRequired;
export function isConfirmationRequired(result: ControlResult): result is ConfirmationRequired {
return 'requires_confirmation' in result && result.requires_confirmation === true;
}
// Maintenance types
export interface MaintenanceType {
id: number;
@@ -1199,191 +1180,11 @@ export const api = {
{ method: 'PATCH' }
),
// Printer Control
pausePrint: (printerId: number) =>
request<ControlResponse>(`/printers/${printerId}/control/pause`, { method: 'POST' }),
resumePrint: (printerId: number) =>
request<ControlResponse>(`/printers/${printerId}/control/resume`, { method: 'POST' }),
stopPrint: (printerId: number, confirmToken?: string) =>
request<ControlResult>(`/printers/${printerId}/control/stop`, {
method: 'POST',
body: JSON.stringify({ confirm_token: confirmToken }),
}),
setBedTemperature: (printerId: number, target: number, confirmToken?: string) =>
request<ControlResult>(`/printers/${printerId}/control/temperature/bed`, {
method: 'POST',
body: JSON.stringify({ target, confirm_token: confirmToken }),
}),
setNozzleTemperature: (printerId: number, target: number, nozzle = 0, confirmToken?: string) =>
request<ControlResult>(`/printers/${printerId}/control/temperature/nozzle`, {
method: 'POST',
body: JSON.stringify({ target, nozzle, confirm_token: confirmToken }),
}),
setChamberTemperature: (printerId: number, target: number, confirmToken?: string) =>
request<ControlResult>(`/printers/${printerId}/control/temperature/chamber`, {
method: 'POST',
body: JSON.stringify({ target, confirm_token: confirmToken }),
}),
setPrintSpeed: (printerId: number, mode: number) =>
request<ControlResponse>(`/printers/${printerId}/control/speed`, {
method: 'POST',
body: JSON.stringify({ mode }),
}),
setPartFan: (printerId: number, speed: number) =>
request<ControlResponse>(`/printers/${printerId}/control/fan/part`, {
method: 'POST',
body: JSON.stringify({ speed }),
}),
setAuxFan: (printerId: number, speed: number) =>
request<ControlResponse>(`/printers/${printerId}/control/fan/aux`, {
method: 'POST',
body: JSON.stringify({ speed }),
}),
setChamberFan: (printerId: number, speed: number) =>
request<ControlResponse>(`/printers/${printerId}/control/fan/chamber`, {
method: 'POST',
body: JSON.stringify({ speed }),
}),
setAirductMode: (printerId: number, mode: 'cooling' | 'heating') =>
request<ControlResponse>(`/printers/${printerId}/control/airduct`, {
method: 'POST',
body: JSON.stringify({ mode }),
}),
setChamberLight: (printerId: number, on: boolean) =>
request<ControlResponse>(`/printers/${printerId}/control/light`, {
method: 'POST',
body: JSON.stringify({ on }),
}),
selectExtruder: (printerId: number, extruder: number) =>
request<ControlResponse>(`/printers/${printerId}/control/extruder`, {
method: 'POST',
body: JSON.stringify({ extruder }),
}),
homeAxes: (printerId: number, axes = 'XYZ', confirmToken?: string) =>
request<ControlResult>(`/printers/${printerId}/control/home`, {
method: 'POST',
body: JSON.stringify({ axes, confirm_token: confirmToken }),
}),
moveAxis: (printerId: number, axis: string, distance: number, speed = 3000, confirmToken?: string) =>
request<ControlResult>(`/printers/${printerId}/control/move`, {
method: 'POST',
body: JSON.stringify({ axis, distance, speed, confirm_token: confirmToken }),
}),
disableMotors: (printerId: number, confirmToken?: string) =>
request<ControlResult>(`/printers/${printerId}/control/motors/disable`, {
method: 'POST',
body: JSON.stringify({ confirm_token: confirmToken }),
}),
enableMotors: (printerId: number) =>
request<ControlResponse>(`/printers/${printerId}/control/motors/enable`, { method: 'POST' }),
amsLoadFilament: (printerId: number, trayId: number, extruderId?: number) =>
request<ControlResponse>(`/printers/${printerId}/control/ams/load`, {
method: 'POST',
body: JSON.stringify({ tray_id: trayId, extruder_id: extruderId }),
}),
amsUnloadFilament: (printerId: number) =>
request<ControlResponse>(`/printers/${printerId}/control/ams/unload`, { method: 'POST' }),
amsSetFilamentSetting: (printerId: number, data: {
ams_id: number;
tray_id: number;
tray_info_idx: string;
tray_type: string;
tray_sub_brands: string;
tray_color: string;
nozzle_temp_min: number;
nozzle_temp_max: number;
k: number;
}) =>
request<ControlResponse>(`/printers/${printerId}/control/ams/filament-setting`, {
method: 'POST',
body: JSON.stringify(data),
}),
sendGcode: (printerId: number, command: string, confirmToken?: string) =>
request<ControlResult>(`/printers/${printerId}/control/gcode`, {
method: 'POST',
body: JSON.stringify({ command, confirm_token: confirmToken }),
}),
// Camera
getCameraStreamUrl: (printerId: number, fps = 10) =>
`${API_BASE}/printers/${printerId}/camera/stream?fps=${fps}`,
getCameraSnapshotUrl: (printerId: number) =>
`${API_BASE}/printers/${printerId}/camera/snapshot`,
testCameraConnection: (printerId: number) =>
request<{ success: boolean; message?: string; error?: string }>(`/printers/${printerId}/camera/test`),
setTimelapse: (printerId: number, enable: boolean) =>
request<ControlResponse>(`/printers/${printerId}/control/camera/timelapse`, {
method: 'POST',
body: JSON.stringify({ enable }),
}),
setLiveview: (printerId: number, enable: boolean) =>
request<ControlResponse>(`/printers/${printerId}/control/camera/liveview`, {
method: 'POST',
body: JSON.stringify({ enable }),
}),
// Request full status update from printer (pushall)
refreshStatus: (printerId: number) =>
request<ControlResponse>(`/printers/${printerId}/control/refresh`, {
method: 'POST',
}),
// Refresh a specific AMS tray (trigger RFID re-read)
refreshAmsTray: (printerId: number, amsId: number, trayId: number) =>
request<ControlResponse>(`/printers/${printerId}/control/ams/refresh-tray`, {
method: 'POST',
body: JSON.stringify({ ams_id: amsId, tray_id: trayId }),
}),
// Print Options (AI Detection)
setPrintOption: (
printerId: number,
moduleName: string,
enabled: boolean,
printHalt = true,
sensitivity = 'medium'
) => {
const params = new URLSearchParams({
module_name: moduleName,
enabled: String(enabled),
print_halt: String(printHalt),
sensitivity,
});
return request<{
success: boolean;
module_name: string;
enabled: boolean;
print_halt: boolean;
sensitivity: string;
}>(`/printers/${printerId}/print-options?${params}`, {
method: 'POST',
});
},
// Calibration
startCalibration: (
printerId: number,
options: {
bed_leveling?: boolean;
vibration?: boolean;
motor_noise?: boolean;
nozzle_offset?: boolean;
high_temp_heatbed?: boolean;
}
) => {
const params = new URLSearchParams();
if (options.bed_leveling) params.append('bed_leveling', 'true');
if (options.vibration) params.append('vibration', 'true');
if (options.motor_noise) params.append('motor_noise', 'true');
if (options.nozzle_offset) params.append('nozzle_offset', 'true');
if (options.high_temp_heatbed) params.append('high_temp_heatbed', 'true');
return request<{
success: boolean;
bed_leveling: boolean;
vibration: boolean;
motor_noise: boolean;
nozzle_offset: boolean;
high_temp_heatbed: boolean;
}>(`/printers/${printerId}/calibration?${params}`, {
method: 'POST',
});
},
};