Jelajahi Sumber

Added printer image to printer card

maziggy 10 bulan lalu
induk
melakukan
53e196c38f
31 mengubah file dengan 41 tambahan dan 13 penghapusan
  1. TEMPAT SAMPAH
      frontend/public/img/printers/a1.png
  2. TEMPAT SAMPAH
      frontend/public/img/printers/a1f.png
  3. TEMPAT SAMPAH
      frontend/public/img/printers/a1mini.png
  4. TEMPAT SAMPAH
      frontend/public/img/printers/default.png
  5. TEMPAT SAMPAH
      frontend/public/img/printers/h2d.png
  6. TEMPAT SAMPAH
      frontend/public/img/printers/o1c.png
  7. TEMPAT SAMPAH
      frontend/public/img/printers/o1e.png
  8. TEMPAT SAMPAH
      frontend/public/img/printers/o1s.png
  9. TEMPAT SAMPAH
      frontend/public/img/printers/p1p.png
  10. TEMPAT SAMPAH
      frontend/public/img/printers/p1s.png
  11. TEMPAT SAMPAH
      frontend/public/img/printers/printer_placeholder.png
  12. TEMPAT SAMPAH
      frontend/public/img/printers/x1c.png
  13. TEMPAT SAMPAH
      frontend/public/img/printers/x1e.png
  14. 39 11
      frontend/src/pages/PrintersPage.tsx
  15. 0 0
      static/assets/index-B5zVKOmX.js
  16. 0 0
      static/assets/index-BCXYYo2S.css
  17. 0 0
      static/assets/index-BkIG8nsB.css
  18. TEMPAT SAMPAH
      static/img/printers/a1.png
  19. TEMPAT SAMPAH
      static/img/printers/a1f.png
  20. TEMPAT SAMPAH
      static/img/printers/a1mini.png
  21. TEMPAT SAMPAH
      static/img/printers/default.png
  22. TEMPAT SAMPAH
      static/img/printers/h2d.png
  23. TEMPAT SAMPAH
      static/img/printers/o1c.png
  24. TEMPAT SAMPAH
      static/img/printers/o1e.png
  25. TEMPAT SAMPAH
      static/img/printers/o1s.png
  26. TEMPAT SAMPAH
      static/img/printers/p1p.png
  27. TEMPAT SAMPAH
      static/img/printers/p1s.png
  28. TEMPAT SAMPAH
      static/img/printers/printer_placeholder.png
  29. TEMPAT SAMPAH
      static/img/printers/x1c.png
  30. TEMPAT SAMPAH
      static/img/printers/x1e.png
  31. 2 2
      static/index.html

TEMPAT SAMPAH
frontend/public/img/printers/a1.png


TEMPAT SAMPAH
frontend/public/img/printers/a1f.png


TEMPAT SAMPAH
frontend/public/img/printers/a1mini.png


TEMPAT SAMPAH
frontend/public/img/printers/default.png


TEMPAT SAMPAH
frontend/public/img/printers/h2d.png


TEMPAT SAMPAH
frontend/public/img/printers/o1c.png


TEMPAT SAMPAH
frontend/public/img/printers/o1e.png


TEMPAT SAMPAH
frontend/public/img/printers/o1s.png


TEMPAT SAMPAH
frontend/public/img/printers/p1p.png


TEMPAT SAMPAH
frontend/public/img/printers/p1s.png


TEMPAT SAMPAH
frontend/public/img/printers/printer_placeholder.png


TEMPAT SAMPAH
frontend/public/img/printers/x1c.png


TEMPAT SAMPAH
frontend/public/img/printers/x1e.png


+ 39 - 11
frontend/src/pages/PrintersPage.tsx

@@ -38,6 +38,26 @@ function formatTime(seconds: number): string {
   return hours > 0 ? `${hours}h ${minutes}m` : `${minutes}m`;
 }
 
+function getPrinterImage(model: string | null | undefined): string {
+  if (!model) return '/img/printers/default.png';
+
+  const modelLower = model.toLowerCase().replace(/\s+/g, '');
+
+  // Map model names to image files
+  if (modelLower.includes('x1e')) return '/img/printers/x1e.png';
+  if (modelLower.includes('x1c') || modelLower.includes('x1carbon')) return '/img/printers/x1c.png';
+  if (modelLower.includes('x1')) return '/img/printers/x1c.png';
+  if (modelLower.includes('h2d')) return '/img/printers/h2d.png';
+  if (modelLower.includes('h2c') || modelLower.includes('h2s')) return '/img/printers/h2d.png';
+  if (modelLower.includes('p2s')) return '/img/printers/p1s.png';
+  if (modelLower.includes('p1s')) return '/img/printers/p1s.png';
+  if (modelLower.includes('p1p')) return '/img/printers/p1p.png';
+  if (modelLower.includes('a1mini')) return '/img/printers/a1mini.png';
+  if (modelLower.includes('a1')) return '/img/printers/a1.png';
+
+  return '/img/printers/default.png';
+}
+
 function getWifiStrength(rssi: number | null | undefined): { label: string; color: string; bars: number } {
   if (rssi == null) return { label: '', color: 'text-bambu-gray', bars: 0 };
   if (rssi >= -50) return { label: 'Excellent', color: 'text-bambu-green', bars: 4 };
@@ -196,17 +216,25 @@ function PrinterCard({
       <CardContent>
         {/* Header */}
         <div className="flex items-start justify-between mb-4">
-          <div>
-            <h3 className="text-lg font-semibold text-white">{printer.name}</h3>
-            <p className="text-sm text-bambu-gray">
-              {printer.model || 'Unknown Model'}
-              {maintenanceInfo && maintenanceInfo.total_print_hours > 0 && (
-                <span className="ml-2 text-bambu-gray">
-                  <Clock className="w-3 h-3 inline-block mr-1" />
-                  {Math.round(maintenanceInfo.total_print_hours)}h
-                </span>
-              )}
-            </p>
+          <div className="flex items-center gap-3">
+            {/* Printer Model Image */}
+            <img
+              src={getPrinterImage(printer.model)}
+              alt={printer.model || 'Printer'}
+              className="w-14 h-14 object-contain rounded-lg bg-bambu-dark"
+            />
+            <div>
+              <h3 className="text-lg font-semibold text-white">{printer.name}</h3>
+              <p className="text-sm text-bambu-gray">
+                {printer.model || 'Unknown Model'}
+                {maintenanceInfo && maintenanceInfo.total_print_hours > 0 && (
+                  <span className="ml-2 text-bambu-gray">
+                    <Clock className="w-3 h-3 inline-block mr-1" />
+                    {Math.round(maintenanceInfo.total_print_hours)}h
+                  </span>
+                )}
+              </p>
+            </div>
           </div>
           <div className="flex items-center gap-2">
             {/* Connection status badge */}

File diff ditekan karena terlalu besar
+ 0 - 0
static/assets/index-B5zVKOmX.js


File diff ditekan karena terlalu besar
+ 0 - 0
static/assets/index-BCXYYo2S.css


File diff ditekan karena terlalu besar
+ 0 - 0
static/assets/index-BkIG8nsB.css


TEMPAT SAMPAH
static/img/printers/a1.png


TEMPAT SAMPAH
static/img/printers/a1f.png


TEMPAT SAMPAH
static/img/printers/a1mini.png


TEMPAT SAMPAH
static/img/printers/default.png


TEMPAT SAMPAH
static/img/printers/h2d.png


TEMPAT SAMPAH
static/img/printers/o1c.png


TEMPAT SAMPAH
static/img/printers/o1e.png


TEMPAT SAMPAH
static/img/printers/o1s.png


TEMPAT SAMPAH
static/img/printers/p1p.png


TEMPAT SAMPAH
static/img/printers/p1s.png


TEMPAT SAMPAH
static/img/printers/printer_placeholder.png


TEMPAT SAMPAH
static/img/printers/x1c.png


TEMPAT SAMPAH
static/img/printers/x1e.png


+ 2 - 2
static/index.html

@@ -7,8 +7,8 @@
     <link rel="icon" type="image/png" sizes="32x32" href="/img/favicon-32x32.png" />
     <link rel="icon" type="image/png" sizes="16x16" href="/img/favicon-16x16.png" />
     <link rel="apple-touch-icon" sizes="180x180" href="/img/apple-touch-icon.png" />
-    <script type="module" crossorigin src="/assets/index-BAbdSDeh.js"></script>
-    <link rel="stylesheet" crossorigin href="/assets/index-BCXYYo2S.css">
+    <script type="module" crossorigin src="/assets/index-B5zVKOmX.js"></script>
+    <link rel="stylesheet" crossorigin href="/assets/index-BkIG8nsB.css">
   </head>
   <body>
     <div id="root"></div>

Beberapa file tidak ditampilkan karena terlalu banyak file yang berubah dalam diff ini