<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Mohammed Al-Makhlafi</title>
    <description>The latest articles on Forem by Mohammed Al-Makhlafi (@mohammed_almakhlafi_b93e).</description>
    <link>https://forem.com/mohammed_almakhlafi_b93e</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3689041%2Fd4c22a31-ccbd-4789-a1ad-f8d10b6135f0.jpg</url>
      <title>Forem: Mohammed Al-Makhlafi</title>
      <link>https://forem.com/mohammed_almakhlafi_b93e</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/mohammed_almakhlafi_b93e"/>
    <language>en</language>
    <item>
      <title>[Boost]</title>
      <dc:creator>Mohammed Al-Makhlafi</dc:creator>
      <pubDate>Sun, 04 Jan 2026 22:28:33 +0000</pubDate>
      <link>https://forem.com/mohammed_almakhlafi_b93e/-48gc</link>
      <guid>https://forem.com/mohammed_almakhlafi_b93e/-48gc</guid>
      <description>&lt;div class="ltag__link"&gt;
  &lt;a href="/mohammed_almakhlafi_b93e" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3689041%2Fd4c22a31-ccbd-4789-a1ad-f8d10b6135f0.jpg" alt="mohammed_almakhlafi_b93e"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://dev.to/mohammed_almakhlafi_b93e/untitledmazina-2026-35op" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;Untitledmazina-2026&lt;/h2&gt;
      &lt;h3&gt;Mohammed Al-Makhlafi ・ Jan 4&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#codepen&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#programming&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#webdev&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#ai&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


</description>
      <category>codepen</category>
      <category>programming</category>
      <category>webdev</category>
      <category>ai</category>
    </item>
    <item>
      <title>Untitledmazina-2026</title>
      <dc:creator>Mohammed Al-Makhlafi</dc:creator>
      <pubDate>Sun, 04 Jan 2026 14:59:17 +0000</pubDate>
      <link>https://forem.com/mohammed_almakhlafi_b93e/untitledmazina-2026-35op</link>
      <guid>https://forem.com/mohammed_almakhlafi_b93e/untitledmazina-2026-35op</guid>
      <description>&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fid5ipmubn7953pfd8ovi.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fid5ipmubn7953pfd8ovi.jpg" alt=" " width="550" height="410"&gt;&lt;/a&gt;&lt;br&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br&gt;
&lt;br&gt;
&lt;/p&gt;



نظام مازينا الذكي 2026 - الإصدار الملون




    :root { --primary: #003366; --gold: #D4AF37; --bg: #f0f2f5; --success: #28a745; --danger: #dc3545; }
    body { font-family: 'Segoe UI', Tahoma, sans-serif; background: var(--bg); margin: 0; padding: 0; }
    .header { background: var(--primary); color: white; text-align: center; padding: 15px; border-bottom: 5px solid var(--gold); }
    .ticker-bar { background: #fff; border-bottom: 2px solid #ddd; padding: 10px; font-weight: bold; color: var(--primary); font-size: 1.1rem; }
    .container { padding: 15px; max-width: 600px; margin: auto; }
    .tank-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 20px; }
    .tank-card { background: white; padding: 15px; border-radius: 12px; text-align: center; box-shadow: 0 4px 6px rgba(0,0,0,0.05); border-top: 5px solid var(--gold); }
    .total-card { grid-column: span 2; background: var(--primary); color: var(--gold); }
    .card { background: white; border-radius: 15px; padding: 20px; margin-bottom: 15px; box-shadow: 0 4px 12px rgba(0,0,0,0.1); border-right: 10px solid #ccc; }
    .hidden { display: none; }
    input, select, textarea { width: 100%; padding: 12px; margin: 10px 0; border-radius: 8px; border: 1px solid #ddd; box-sizing: border-box; font-weight: bold; }
    .btn-action { background: var(--success); color: white; border: none; padding: 14px; width: 100%; border-radius: 8px; font-weight: bold; cursor: pointer; }

    /* تنسيقات التلوين الجديدة */
    .log-in { background-color: #e8f5e9; border-right: 5px solid var(--success); } /* أخضر للتوريد */
    .log-out { background-color: #ffebee; border-right: 5px solid var(--danger); } /* أحمر للسحب */

    #invoiceModal { position: fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.8); display:none; justify-content:center; align-items:center; z-index:2000; }
    .modal-content { background:white; padding:10px; border-radius:10px; max-width:90%; max-height:90%; text-align:center; }
    .modal-content img { max-width:100%; max-height:80vh; border-radius:5px; }

    #ai-bot { position: fixed; bottom: 20px; left: 20px; background: var(--gold); width: 60px; height: 60px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 30px; cursor: pointer; z-index: 1000; box-shadow: 0 4px 15px rgba(0,0,0,0.3); }
    .ai-window { position: fixed; bottom: 90px; left: 20px; width: 330px; background: white; border-radius: 15px; box-shadow: 0 5px 25px rgba(0,0,0,0.2); z-index: 1001; padding: 15px; display: none; }
    &lt;a class="mentioned-user" href="https://dev.to/media"&gt;@media&lt;/a&gt; print { .no-print { display: none !important; } }



&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;    &amp;lt;h3&amp;gt;📄 صورة الفاتورة&amp;lt;/h3&amp;gt;
    &amp;lt;img id="modalImg" alt="الفاتورة"&amp;gt;
    &amp;lt;br&amp;gt;
    إغلاق




&amp;lt;h1&amp;gt;🛢️ مـحطـة مـازيـنـا 2026&amp;lt;/h1&amp;gt;



تحميل البيانات...




    الخزان الحديد رقم واحد 1&amp;lt;br&amp;gt;&amp;lt;b id="tk1"&amp;gt;0&amp;lt;/b&amp;gt;
    الخزان الأحمر رقم 2&amp;lt;br&amp;gt;&amp;lt;b id="tk2"&amp;gt;0&amp;lt;/b&amp;gt;
    الخزان الأخضر رقم 3&amp;lt;br&amp;gt;&amp;lt;b id="tk4"&amp;gt;0&amp;lt;/b&amp;gt;
    الخزان الأبيض رقم 4&amp;lt;br&amp;gt;&amp;lt;b id="tk3"&amp;gt;0&amp;lt;/b&amp;gt;
    📊 المجموع الكلي للوقود&amp;lt;br&amp;gt;&amp;lt;b id="totalStock"&amp;gt;0&amp;lt;/b&amp;gt; لتر



    &amp;lt;b&amp;gt;تحديد الهوية للدخول:&amp;lt;/b&amp;gt;

        -- اختر اسمك --
        أحمد طه (المورد)
        محمد طه (المسؤول)
        مراد طه (الادارة العليا)
        هشام عقلان (الادارة العليا)
        علي هشام (الادارة الوسطى)





        &amp;lt;h3&amp;gt;📦 توريد وقود جديد&amp;lt;/h3&amp;gt;

            الخزان الحديد رقم 1
            الخزان الأحمر رقم 2
            الخزان الأخضر رقم 3
            الخزان الأبيض رقم 4


        إرفاق الفاتورة:

        حفظ التوريد



        &amp;lt;h3&amp;gt;📤 سحب وقود جديد&amp;lt;/h3&amp;gt;

            الخزان الحديد رقم 1
            الخزان الأحمر رقم 2
            الخزان الأخضر رقم 3
            الخزان الأبيض رقم 4




        اعتماد السحب




            &amp;lt;h3&amp;gt;📋 سجل العمليات الملون&amp;lt;/h3&amp;gt;
            📥 PDF
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;🤖&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;h4&amp;gt;المساعد الذكي (مازينا AI)&amp;lt;/h4&amp;gt;
بانتظار تسجيل الدخول...


    إرسال




let db = JSON.parse(localStorage.getItem('mazina_v2026_color')) || {
    stock: { tk1: 3500, tk2: 1700, tk3: 0, tk4: 2000 },
    records: [],
    visits: []
};

function sync() {
    localStorage.setItem('mazina_v2026_color', JSON.stringify(db));
    updateView();
}

function initApp() {
    let user = document.getElementById("userSelector").value;
    if(!user) return;
    db.visits.push({ name: user, date: new Date().toLocaleDateString('ar-YE'), time: new Date().toLocaleTimeString('ar-YE') });
    document.getElementById("mainUI").classList.remove("hidden");
    document.getElementById("ahmedPanel").className = (user === 'أحمد طه' ? 'card' : 'hidden');
    document.getElementById("mohammedPanel").className = (user === 'محمد طه' ? 'card' : 'hidden');
    document.getElementById("ai-res").innerText = `مرحباً ${user.split(" ")[0]}! كيف يمكنني مساعدتك اليوم؟`;
    sync();
}

async function handleSave(type) {
    let user = document.getElementById("userSelector").value;
    let qty = parseInt(type === 'توريد' ? document.getElementById("inQty").value : document.getElementById("outQty").value);
    let tank = type === 'توريد' ? document.getElementById("inTank").value : document.getElementById("outTank").value;

    if(!qty) return alert("الرجاء إدخال الكمية!");
    if(type === 'سحب' &amp;amp;amp;&amp;amp;amp; db.stock[tank] &amp;amp;lt; qty) return alert("عذراً، الرصيد غير كافٍ!");

    let imageData = "";
    if(type === 'توريد') {
        let file = document.getElementById("invoiceInput").files[0];
        if(file) imageData = await toBase64(file);
    }

    db.stock[tank] += (type === 'توريد' ? qty : -qty);
    db.records.push({
        id: Date.now(),
        type, user, qty, tank,
        target: document.getElementById("outTarget")?.value || "تعبئة",
        notes: document.getElementById("outNotes")?.value || "",
        image: imageData,
        date: new Date().toLocaleDateString('ar-YE'),
        time: new Date().toLocaleTimeString('ar-YE')
    });

    document.getElementById("invoiceInput").value = "";
    sync();
}

const toBase64 = file =&amp;amp;gt; new Promise((res, rej) =&amp;amp;gt; {
    const reader = new FileReader();
    reader.readAsDataURL(file);
    reader.onload = () =&amp;amp;gt; res(reader.result);
    reader.onerror = error =&amp;amp;gt; rej(error);
});

function updateView() {
    let total = 0;
    let names = { tk1: "الحديد 1", tk2: "الأحمر 2", tk3: "الأبيض 4", tk4: "الأخضر 3" };
    for(let key in db.stock) {
        document.getElementById(key).innerText = db.stock[key];
        total += db.stock[key];
    }
    document.getElementById("totalStock").innerText = total;

    let currentUser = document.getElementById("userSelector").value;
    let html = "";
    db.records.slice().reverse().forEach(r =&amp;amp;gt; {
        let actions = (currentUser === 'محمد طه') ? 
            `&amp;amp;lt;span onclick="editEntry(${r.id})" style="cursor:pointer; margin-left:8px;"&amp;amp;gt;🖊️&amp;amp;lt;/span&amp;amp;gt;
             &amp;amp;lt;span onclick="deleteEntry(${r.id})" style="cursor:pointer; color:red;"&amp;amp;gt;🗑️&amp;amp;lt;/span&amp;amp;gt;` : '';

        let nameTag = r.image ? `&amp;amp;lt;b onclick="showInvoice('${r.id}')" style="color:var(--primary); cursor:pointer; text-decoration:underline;"&amp;amp;gt;${r.user}&amp;amp;lt;/b&amp;amp;gt;` : `&amp;amp;lt;b&amp;amp;gt;${r.user}&amp;amp;lt;/b&amp;amp;gt;`;
        let colorClass = (r.type === 'توريد') ? 'log-in' : 'log-out';

        html += `&amp;amp;lt;div class="${colorClass}" style="padding:10px; margin-bottom:5px; border-radius:8px; font-size:0.85rem;"&amp;amp;gt;
            ${actions} ${nameTag}: &amp;amp;lt;span style="font-weight:bold; color:${r.type === 'سحب' ? 'red' : 'green'};"&amp;amp;gt;${r.type}&amp;amp;lt;/span&amp;amp;gt; ${r.qty}L (${names[r.tank]})&amp;amp;lt;br&amp;amp;gt;
            &amp;amp;lt;small&amp;amp;gt;${r.date} | ${r.time} | الوجهة: ${r.target}&amp;amp;lt;/small&amp;amp;gt;
            ${r.notes ? `&amp;amp;lt;div style="color:var(--primary); font-style:italic;"&amp;amp;gt;ملاحظة: ${r.notes}&amp;amp;lt;/div&amp;amp;gt;` : ''}
        &amp;amp;lt;/div&amp;amp;gt;`;
    });
    document.getElementById("logsDisplay").innerHTML = html;
}

function showInvoice(id) {
    let r = db.records.find(x =&amp;amp;gt; x.id == id);
    if(r &amp;amp;amp;&amp;amp;amp; r.image) {
        document.getElementById("modalImg").src = r.image;
        document.getElementById("invoiceModal").style.display = "flex";
    }
}

function closeInvoice() { document.getElementById("invoiceModal").style.display = "none"; }

function askAI() {
    let q = document.getElementById("aiInp").value;
    let res = document.getElementById("ai-res");
    let user = document.getElementById("userSelector").value;
    let today = new Date().toLocaleDateString('ar-YE');

    if(q.includes("زار النظام") &amp;amp;amp;&amp;amp;amp; user === "محمد طه") {
        res.innerHTML = "&amp;amp;lt;b&amp;amp;gt;آخر الزوار:&amp;amp;lt;/b&amp;amp;gt;&amp;amp;lt;br&amp;amp;gt;" + db.visits.slice(-5).map(v =&amp;amp;gt; `${v.name} (${v.time})`).join("&amp;amp;lt;br&amp;amp;gt;");
    } else if(q.includes("سحب") &amp;amp;amp;&amp;amp;amp; q.includes("يوم")) {
        let total = db.records.filter(r =&amp;amp;gt; r.type === 'سحب' &amp;amp;amp;&amp;amp;amp; r.date === today).reduce((a,b)=&amp;amp;gt;a+b.qty, 0);
        res.innerText = `إجمالي سحب اليوم (${today}) هو ${total} لتر.`;
    } else if(q.includes("توريد")) {
        let total = db.records.filter(r =&amp;amp;gt; r.type === 'توريد').reduce((a,b)=&amp;amp;gt;a+b.qty, 0);
        res.innerText = `إجمالي التوريدات المسجلة: ${total} لتر.`;
    } else if(q.includes("المخزون")) {
        let total = Object.values(db.stock).reduce((a,b)=&amp;amp;gt;a+b);
        res.innerText = `المخزون الحالي: ${total} لتر.`;
    } else {
        res.innerText = "يمكنني تزويدك بمعلومات السحب، التوريد، والمخزون.";
    }
    document.getElementById("aiInp").value = "";
}

function deleteEntry(id) {
    if(confirm("هل تريد حذف هذه العملية؟")) {
        let r = db.records.find(x =&amp;amp;gt; x.id === id);
        if(r.type === 'سحب') db.stock[r.tank] += r.qty; else db.stock[r.tank] -= r.qty;
        db.records = db.records.filter(x =&amp;amp;gt; x.id !== id);
        sync();
    }
}

function editEntry(id) {
    let r = db.records.find(x =&amp;amp;gt; x.id === id);
    let nD = prompt("تعديل التاريخ:", r.date);
    let nT = prompt("تعديل الوقت:", r.time);
    if(nD &amp;amp;amp;&amp;amp;amp; nT) { r.date = nD; r.time = nT; sync(); }
}

function downloadPDF() {
    const element = document.getElementById('printableContent');
    html2pdf().from(element).save('سجل_مازينا_2026.pdf');
}

function toggleAI() { let w = document.getElementById("aiWindow"); w.style.display = (w.style.display==='block'?'none':'block'); }

setInterval(() =&amp;amp;gt; {
    let n = new Date();
    document.getElementById("liveTicker").innerText = `اليوم: ${n.toLocaleDateString('ar-YE', {weekday:'long'})} | ${n.toLocaleDateString('ar-YE')} | ${n.toLocaleTimeString('ar-YE')}`;
}, 1000);

updateView();
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


</description>
      <category>codepen</category>
      <category>programming</category>
      <category>webdev</category>
      <category>ai</category>
    </item>
  </channel>
</rss>
