@extends('layouts.app') @section('title', 'Print farm') @section('content')

Production

BamBuddy printers

Live state, progress and temperatures from the workshop.

Open BamBuddy ↗
@if($integrationError)@endif
@forelse($printers as $printer) @php $live = $printer['live'] ?? []; $progress = min(100, max(0, (float) ($live['progress'] ?? 0))); $printerErrors = is_array($live['hms_errors'] ?? null) ? $live['hms_errors'] : []; @endphp

{{ $printer['name'] ?? 'Printer' }}

{{ $printer['model'] ?? 'Bambu printer' }}

($live['connected'] ?? false), 'bg-amber-500/10 text-amber-200' => ! ($live['connected'] ?? false)])>{{ $live['state'] ?? $printer['status'] ?? 'Unavailable' }}

Current job

{{ $live['current_print'] ?? $live['subtask_name'] ?? 'No active job' }}

{{ number_format($progress, 0) }}%
Nozzle
{{ isset($live['temperatures']['nozzle']) ? $live['temperatures']['nozzle'].'°C' : '—' }}
Bed
{{ isset($live['temperatures']['bed']) ? $live['temperatures']['bed'].'°C' : '—' }}
Remaining
{{ isset($live['remaining_time']) ? $live['remaining_time'].' min' : '—' }}
@if(count($printerErrors))

{{ count($printerErrors) }} printer alert{{ count($printerErrors) === 1 ? '' : 's' }} · {{ $printerErrors[0]['description'] ?? 'Open BamBuddy for details' }}

@endif
@empty
No printers returned by BamBuddy.
@endforelse
@endsection