From c08947a4257d346e990bc53cd35a2a01fa40d180 Mon Sep 17 00:00:00 2001 From: Muhamad Sazwan Bin Ismail <208310745+Sazwanismail@users.noreply.github.com> Date: Thu, 1 Oct 2026 05:37:09 +0800 Subject: [PATCH] Update print statement from 'Hello' to 'Goodbye' MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Berikut adalah kemas kini untuk tukar mesej dari **"Hello"** → **"Goodbye"** pada peristiwa yang betul (masuk vs keluar sesi). ## 1) JavaScript — letak sebelum `` ```js // ═══════════════════════════════════════════════════════════════════════════ // MODULE: SESSION GREETING (Hello → Goodbye) // ═══════════════════════════════════════════════════════════════════════════ const SESSION = { greeting: 'Hello', farewell: 'Goodbye', startedAt: Date.now(), }; // ───────────────────────────────────────────────────────────────────────── // On load — print "Hello" // ───────────────────────────────────────────────────────────────────────── function printHello() { const name = (typeof CERTIFICATE_IDENTITY !== 'undefined') ? CERTIFICATE_IDENTITY.full_name : 'SGAE Data Lake'; console.log( `%c👋 ${SESSION.greeting}, ${name}!`, 'color:#10b981;font-weight:900;font-size:16px;padding:4px 8px;background:rgba(16,185,129,0.1);border-radius:4px;' ); // Also show a toast (optional — comment out if tak mahu) showToast( `👋 ${SESSION.greeting}`, `Selamat datang, ${name}. Sesi dimulakan.`, 'success' ); } // ───────────────────────────────────────────────────────────────────────── // On exit — update "Hello" → "Goodbye" // ───────────────────────────────────────────────────────────────────────── function printGoodbye() { const name = (typeof CERTIFICATE_IDENTITY !== 'undefined') ? CERTIFICATE_IDENTITY.full_name : 'SGAE Data Lake'; const secs = Math.round((Date.now() - SESSION.startedAt) / 1000); const mm = String(Math.floor(secs / 60)).padStart(2, '0'); const ss = String(secs % 60).padStart(2, '0'); // Change greeting state SESSION.greeting = SESSION.farewell; console.log( `%c👋 ${SESSION.farewell}, ${name}!`, 'color:#fbbf24;font-weight:900;font-size:16px;padding:4px 8px;background:rgba(251,191,36,0.1);border-radius:4px;' ); console.log( `%c⏱️ Sesi tamat: ${mm}:${ss} · ${new Date().toLocaleString('ms-MY')}`, 'color:#94a3b8;font-style:italic;' ); } // ───────────────────────────────────────────────────────────────────────── // Bind events // ───────────────────────────────────────────────────────────────────────── window.addEventListener('load', () => { setTimeout(printHello, 800); }); // Fires when tab is closed, navigated away, or refreshed window.addEventListener('beforeunload', printGoodbye); // Fires when tab becomes hidden (mobile, tab switch) — optional document.addEventListener('visibilitychange', () => { if (document.visibilityState === 'hidden') { // Change state only — no console spam SESSION.greeting = SESSION.farewell; } else if (document.visibilityState === 'visible' && SESSION.greeting === SESSION.farewell) { // User came back — reset greeting to Hello SESSION.greeting = 'Hello'; console.log('%c👋 Hello again — sesi disambung', 'color:#22d3ee;font-weight:bold;'); } }); ``` ## 2) (Pilihan) UI Banner — Tukar visual dari "Hello" → "Goodbye" Jika mahu ia kelihatan dalam UI juga, tambah elemen kecil dan kemas kini melalui JavaScript: **HTML** — letak di dalam `.toolbar` (kanan sekali): ```html Hello ``` **CSS** — tambah dalam ` + +
+ +CMC-REF-2026-MSI-003
++ Pemilik: sazwanismail | + Username: Sazwan96 | + https://Sazwan96.github.io +
+Mendapatkan data...
+Mendapatkan data...
+Mendapatkan data...
+Mendapatkan data...
+Mendapatkan data...
+Mendapatkan data...
+Mendapatkan data...
+Mendapatkan data...
+0
+0
+0
+0
+