From 6da90eedd944f4f6794956a27b35a1383c444016 Mon Sep 17 00:00:00 2001 From: numex-admin Date: Thu, 10 Sep 2026 08:59:06 +0000 Subject: [PATCH] =?UTF-8?q?Numex=20yay=C4=B1n:=20views/index.ejs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- views/index.ejs | 104 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100644 views/index.ejs diff --git a/views/index.ejs b/views/index.ejs new file mode 100644 index 0000000..ae5e80a --- /dev/null +++ b/views/index.ejs @@ -0,0 +1,104 @@ +
+

Panel

+

Genel envanter özeti ve son stok hareketleri

+
+ +
+
+
📦
+
+
<%= totalProducts %>
+
Toplam Ürün
+
+
+
+
💵
+
+
<%= totalStockValue.toLocaleString('tr-TR') %> ₺
+
Stok Değeri
+
+
+
+
🔢
+
+
<%= totalStockCount %>
+
Toplam Stok Miktarı
+
+
+
+
⚠️
+
+
<%= lowStockCount %>
+
Düşük Stok
+
+
+
+ +
+
+

Düşük Stoklu Ürünler

+ <% if (lowStockProducts.length === 0) { %> +

Tüm ürünlerin stoku güvenli seviyede. ✅

+ <% } else { %> + + + + + + <% lowStockProducts.forEach(p => { %> + + + + + + <% }) %> + +
ÜrünStokEşik
<%= p.name %><%= p.stock %><%= p.minimumStock %>
+ <% } %> +
+ +
+

Son Hareketler

+ <% if (recentMovements.length === 0) { %> +

Henüz stok hareketi yok.

+ <% } else { %> + + + + + + <% recentMovements.forEach(m => { %> + + + + + + + <% }) %> + +
ÜrünTipMiktarTarih
<%= m.productName %> + <%= m.type === 'in' ? 'Giriş' : 'Çıkış' %><%= m.quantity %><%= new Date(m.date).toLocaleString('tr-TR') %>
+ <% } %> +
+
+ +
+

Kategori Bazlı Özet

+ + + + + + <% categorySummary.forEach(c => { %> + + + + + + + <% }) %> + +
KategoriÜrün SayısıStok DeğeriDüşük Stok
<%= c.name %><%= c.totalProducts %><%= c.totalStockValue.toLocaleString('tr-TR') %> ₺ + <%= c.lowStockCount > 0 ? '⚠️ ' + c.lowStockCount : '—' %> +
+