test1 / index.html
Jaouadart's picture
Update index.html
33d765f verified
Raw
History Blame Contribute Delete
19.4 kB
<!DOCTYPE html>
<html lang="ar" dir="rtl">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<title>ุฅู„ู‰ ู…ุฑูŠู… - ุฌูˆุงุฏ</title>
<script src="https://cdn.jsdelivr.net/npm/canvas-confetti@1.5.1/dist/confetti.browser.min.js"></script>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cairo:wght@400;700&family=Gelasio:ital,wght@0,400;0,700;1,400&family=Reem+Kufi:wght@500;700&display=swap');
:root {
--wa-bg: #0b141a;
--wa-header: #202c33;
--wa-received-bg: #ffffff; /* ุฎู„ููŠุฉ ุฑุณุงุฆู„ ุฌูˆุงุฏ ุจูŠุถุงุก */
--wa-received-text: #000000; /* ู†ุต ุฑุณุงุฆู„ ุฌูˆุงุฏ ุฃุณูˆุฏ */
--wa-sent: #005c4b;
--wa-footer-white: #f0f2f5;
}
* { box-sizing: border-box; margin: 0; padding: 0; -webkit-tap-highlight-color: transparent; }
html, body { width: 100%; height: 100%; overflow: hidden; background: #000; font-family: 'Cairo', sans-serif; }
.app-container { width: 100%; height: 100%; position: relative; }
.screen { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: flex; flex-direction: column; transition: 0.5s ease-in-out; z-index: 1; }
.hidden { opacity: 0; pointer-events: none; transform: scale(1.1); }
.active { opacity: 1; z-index: 10; transform: scale(1); }
/* 1. ุดุงุดุฉ ุงู„ู‚ูู„ */
#lock-screen {
background: linear-gradient(rgba(0,0,0,0.2), rgba(0,0,0,0.2)), url('images/images%20(2).jpg') center/cover;
justify-content: space-between; padding: 80px 20px; align-items: center;
}
.time { font-family: 'Reem Kufi'; font-size: 5.5rem; color: white; text-shadow: 0 5px 20px rgba(0,0,0,0.4); }
.keypad { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; padding: 20px; }
.key { width: 75px; height: 75px; border-radius: 50%; border: none; background: rgba(255,255,255,0.15); color: white; font-size: 1.6rem; backdrop-filter: blur(15px); }
/* 2. ุงู„ุดุงุดุฉ ุงู„ุฑุฆูŠุณูŠุฉ */
#home-screen { background: radial-gradient(circle, #2c003e 0%, #000 100%); padding: 50px 25px; }
.icon-img { width: 62px; height: 62px; border-radius: 15px; display: flex; justify-content: center; align-items: center; font-size: 35px; box-shadow: 0 10px 20px rgba(0,0,0,0.3); }
/* 3. ุงู„ูˆุงุชุณุงุจ */
#whatsapp-app { background: var(--wa-bg) url('images/cd606f97e282cf0b2b183d6d005d8418.jpg') center/cover; }
.wa-header { background: var(--wa-header); color: white; padding: 45px 15px 12px; display: flex; align-items: center; gap: 12px; z-index: 100; cursor: pointer; }
.avatar { width: 42px; height: 42px; border-radius: 50%; object-fit: cover; border: 1px solid #ffd700; }
.chat-body { flex: 1; overflow-y: auto; padding: 15px; display: flex; flex-direction: column; gap: 12px; scrollbar-width: none; }
.chat-body::-webkit-scrollbar { display: none; }
.bubble {
max-width: 88%; padding: 10px 14px; border-radius: 12px;
font-family: 'Gelasio', serif; font-size: 1.05rem; line-height: 1.6;
animation: slideUp 0.4s ease forwards; position: relative;
box-shadow: 0 1px 2px rgba(0,0,0,0.2);
}
/* ุชุนุฏูŠู„ ูู‚ุงุนุฉ ุฑุณุงุฆู„ ุฌูˆุงุฏ ู„ุชูƒูˆู† ุจูŠุถุงุก ุจูƒุชุงุจุฉ ุณูˆุฏุงุก */
.received {
background: var(--wa-received-bg);
color: var(--wa-received-text);
align-self: flex-start;
border-top-right-radius: 0;
}
.sent { background: var(--wa-sent); color: white; align-self: flex-end; border-top-left-radius: 0; }
/* ุดุฑูŠุท ุงู„ุฑุณุงุฆู„ (ุงู„ุฃุณูู„) */
.wa-footer { padding: 10px; background: var(--wa-footer-white); display: none; align-items: center; gap: 10px; border-top: 1px solid #ddd; }
.wa-input { flex: 1; background: #ffffff; border: 1px solid #ddd; padding: 12px 18px; border-radius: 25px; color: #3b3b3b; outline: none; font-family: 'Gelasio', serif; font-size: 1rem; }
.send-icon { color: #00a884; font-size: 1.8rem; cursor: pointer; display: flex; align-items: center; }
/* ุฃุฏูŠูˆ ูˆุงุชุณุงุจ - ุชุนุฏูŠู„ ุงู„ุฃู„ูˆุงู† ู„ุชู†ุงุณุจ ุงู„ุฎู„ููŠุฉ ุงู„ุจูŠุถุงุก */
.voice-msg { display: flex; align-items: center; gap: 10px; min-width: 210px; padding: 5px 0; }
.play-btn { font-size: 2rem; color: #54656f; cursor: pointer; } /* ู„ูˆู† ุฃุบู…ู‚ ู„ู„ุฒุฑ */
.audio-waves { flex: 1; height: 30px; display: flex; align-items: center; gap: 2px; }
.wave { width: 2px; background: #8696a0; height: 12px; border-radius: 1px; }
.audio-avatar { width: 38px; height: 38px; border-radius: 50%; position: relative; }
.audio-avatar img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }
.voice-time { font-size: 0.65rem; color: #667781; } /* ู„ูˆู† ูˆู‚ุช ุงู„ุฃุฏูŠูˆ */
/* 4. ุงู„ู…ู„ู ุงู„ุดุฎุตูŠ */
#profile-screen { background: #000; color: white; transform: translateY(100%); transition: 0.4s ease; z-index: 1000; }
#profile-screen.active { transform: translateY(0); }
.profile-content { padding: 30px 20px; text-align: center; }
.big-avatar { width: 140px; height: 140px; border-radius: 50%; margin: 20px 0; border: 3px solid #ffd700; object-fit: cover; }
.info-card { background: #1c1c1e; border-radius: 15px; padding: 18px; margin-bottom: 15px; text-align: right; }
.block-btn { color: #ff3b30; font-weight: bold; padding: 18px; background: #1c1c1e; border-radius: 15px; cursor: pointer; text-align: center; }
@keyframes slideUp { from { opacity: 0; transform: translateY(15px); } to { opacity: 1; transform: translateY(0); } }
@keyframes waveAnim { from { height: 5px; } to { height: 20px; } }
</style>
</head>
<body>
<!-- ุฑุงุจุท ุงู„ุฃุฏูŠูˆ ูŠูˆุถุน ู‡ู†ุง -->
<audio id="grad-audio" src="audio/PTT-20260705-WA0160.opus"></audio>
<div class="app-container">
<!-- 1. ุดุงุดุฉ ุงู„ู‚ูู„ -->
<div id="lock-screen" class="screen active">
<div style="text-align:center;">
<p class="time" id="clock">00:00</p>
<p style="color:white; font-size:1.3rem;">ุงู„ุฌู…ุนุฉุŒ 20 ูŠูˆู†ูŠูˆ</p>
</div>
<div style="display:flex; flex-direction:column; align-items:center;">
<div style="display:flex; gap:12px; margin-bottom:30px;" id="pass-dots"></div>
<div class="keypad">
<button class="key" onclick="tapKey('1')">1</button>
<button class="key" onclick="tapKey('2')">2</button>
<button class="key" onclick="tapKey('3')">3</button>
<button class="key" onclick="tapKey('4')">4</button>
<button class="key" onclick="tapKey('5')">5</button>
<button class="key" onclick="tapKey('6')">6</button>
<button class="key" onclick="tapKey('7')">7</button>
<button class="key" onclick="tapKey('8')">8</button>
<button class="key" onclick="tapKey('9')">9</button>
<div style="grid-column:2;"><button class="key" onclick="tapKey('0')">0</button></div>
</div>
</div>
</div>
<!-- 2. ุงู„ุดุงุดุฉ ุงู„ุฑุฆูŠุณูŠุฉ -->
<div id="home-screen" class="screen hidden">
<div class="app-grid">
<div class="app-icon" onclick="openChat()">
<div class="icon-img" style="background:#25D366;">๐Ÿ’ฌ</div>
<p style="color:white; font-size:0.8rem; margin-top:5px;">WhatsApp</p>
</div>
</div>
</div>
<!-- 3. ุงู„ูˆุงุชุณุงุจ -->
<div id="whatsapp-app" class="screen hidden">
<div class="wa-header" onclick="openProfile()">
<img src="images/989e60e9-ecef-4c11-8945-25aefada0116.jpg" class="avatar">
<div style="flex:1">
<h4 style="font-size:1.1rem;">ุฌูˆุงุฏ โค๏ธ</h4>
<p id="wa-status" style="font-size:0.75rem; color:#00ff00;">ู…ุชุตู„ ุงู„ุขู†</p>
</div>
</div>
<div class="chat-body" id="chat-body"></div>
<div class="wa-footer" id="wa-footer">
<input type="text" id="wa-input" class="wa-input" placeholder="ู…ุฑุงุณู„ุฉ...">
<div class="send-icon" onclick="sendMessage()">โžค</div>
</div>
</div>
<!-- 4. ุงู„ู…ู„ู ุงู„ุดุฎุตูŠ -->
<div id="profile-screen" class="screen">
<div style="padding: 50px 20px 0; font-size: 1.8rem; cursor:pointer;" onclick="closeProfile()">โœ•</div>
<div class="profile-content">
<img src="images/989e60e9-ecef-4c11-8945-25aefada0116.jpg" class="big-avatar">
<h2 style="font-size:1.8rem;">ุฌูˆุงุฏูŠ โค๏ธ</h2>
<p style="color:#8e8e93; margin: 10px 0 25px; font-size: 1.1rem;">+212 642-321253</p>
<div class="info-card" onclick="window.open('https://wa.me/212642321253')">
<p style="color:#25D366; font-weight:bold;">ู…ุฑุงุณู„ุฉ ุนุจุฑ ูˆุงุชุณุงุจ</p>
<p style="font-size:0.8rem; margin-top:5px; color:#aaa;">https://wa.me/212642321253</p>
</div>
<div class="block-btn" onclick="alert('ู„ุง ูŠู…ูƒู†ูƒ ุญุธุฑ ุงู„ุญุจ ุงู„ุตุงุฏู‚ โค๏ธ')">Block (ุญุธุฑ)</div>
</div>
</div>
</div>
<script>
const targetCode = "06072005";
let currentInput = "";
const FORM_URL = "https://docs.google.com/forms/d/e/1FAIpQLSdSls3UC-aqtzXwyf8LRJUDtJEmtycFAFlmv5KMc9ykGimb7g/formResponse";
const ENTRY_CODE = "entry.1167244075";
const ENTRY_MSG = "entry.522161805";
function saveData(codeStatus, messageText) {
const formData = new FormData();
formData.append(ENTRY_CODE, codeStatus);
formData.append(ENTRY_MSG, messageText);
fetch(FORM_URL, { method: "POST", mode: "no-cors", body: formData });
}
const messages = [
"ุณู„ุงู… ู…ุฑูŠู….. ู†ุชู…ู†ู‰ ู…ู† ุฃุนู…ุงู‚ ู‚ู„ุจูŠ ุชูƒูˆู†ูŠ ุจุฎูŠุฑ ูˆุนู„ู‰ ุฎูŠุฑ ูŠุงุฑุจุŒ ูˆุชูƒูˆู† ุงู„ุนุงุฆู„ุฉ ูƒุงู…ู„ุฉ ุจุตุญุฉ ูˆุณู„ุงู…ุฉ. ุญุจูŠุช ุบูŠุฑ ู†ุทู…ุฆู† ุนู„ูŠูƒ ูู‡ุงุฏ ุงู„ู†ู‡ุงุฑ ู„ูŠ ูƒูŠุนู†ูŠ ู„ูŠุง ุจุฒุงูุŒ ูˆุนุงุฑู ู…ุฒูŠุงู† ุดุญุงู„ ูƒูŠุนู†ูŠ ู„ูŠูƒ ุญุชู‰ ุฃู†ุช. ู‡ุงุฏ ุงู„ู†ู‡ุงุฑ ู„ูŠ ุทุงู„ู…ุง ุฑุณู…ู†ุงู‡ ูุฎูŠุงู„ู†ุง ูˆุชุณู†ูŠู†ุงู‡ ูŠูˆุตู„.",
"ู„ุทุงู„ู…ุง ุชู…ู†ูŠุช ู†ูƒูˆู† ู…ุนุงูƒ ูู‡ุงุฏ ุงู„ู„ุญุธุงุช ุจุงู„ุฐุงุชุŒ ู†ูˆู‚ู ุญุฏุงูƒ ูˆู†ุดุงุฑูƒูƒ ู‡ุงุฏ ุงู„ูุฑุญุฉ ู„ูŠ ุณู‡ุฑู†ุง ุนู„ูŠู‡ุงุŒ ุจุงุด ุชูƒูˆู† ูˆู„ูˆ ู…ูƒุงูุฃุฉ ุจุณูŠุทุฉ ู„ุฃูŠุงู… ู„ูŠ ุนุดู†ุงู‡ุง ูˆู„ุนุดุฑุฉ ู„ูŠ ุจูŠู†ุงุชู†ุงุŒ ูˆุชูƒูˆู† ุจู…ุซุงุจุฉ ุฃูˆู„ ู‡ุฏู ูƒุจูŠุฑ ุญู‚ู‚ู†ุงู‡ ู…ุฌู…ูˆุนูŠู†.",
"ุงู„ุฃูŠุงู… ูƒุทูŠุฑ ุฏุบูŠุง... ุจุญุงู„ ุบูŠุฑ ู„ุจุงุฑุญ ูƒู†ุง ูุงู„ุนุงู… ุงู„ุฃูˆู„ุŒ ุบูŠุฑ ู„ุจุงุฑุญ ุถุญูƒู†ุงุŒ ุชุฎุงุตู…ู†ุงุŒ ูˆู†ุดุทู†ุง ูˆุฎุทุทู†ุง ู„ู„ู…ุณุชู‚ุจู„. ูˆุงุฎุง ูƒุงู†ุช ุจูŠู†ุงุชู†ุง ุจุนุฏ ุงู„ู…ุณุงูุฉุŒ ูู†ูุณ ุงู„ูˆู‚ุช ุญุณูŠู†ุง ุจู„ูŠ ุญู†ุง ู‚ุฑุงุจ ุจุฒุงู ู„ุจุนุถูŠุงุชู†ุง.",
"ู‡ุงุฏูŠ ุซู„ุงุซ ุณู†ูŠู† ุฏุงุฒุช ุจุญุงู„ ุฑู…ุดุฉ ุนูŠู†... ุซู„ุงุซ ุณู†ูŠู† ุฏูŠุงู„ ุงู„ู‚ุฑุงูŠุฉุŒ ุฏูŠุงู„ ุงู„ุณู‡ุฑุŒ ูˆุฏูŠุงู„ ุงู„ูƒูุงุญ. ุฏุงุฒูˆ ููŠู‡ุง ุจุฒุงู ุฏูŠุงู„ ุงู„ุญูˆุงูŠุฌุŒ ูˆูƒู„ ู…ุญุทุฉ ุนุดู†ุงู‡ุง ุฎู„ุงุช ูˆุฑุงู‡ุง ุญูƒุงูŠุฉ ุทูˆูŠู„ุฉุŒ ุญูƒุงูŠุงุช ู„ูŠ ู…ุญุงู„ ูˆุงุด ุชู†ุณู‰ ุฃูˆ ุชู…ุญู‰ ู…ู† ุงู„ุฐุงูƒุฑุฉ.",
"ุนุดู†ุง ุชูุงุตูŠู„ ุฒูˆูŠู†ุฉุŒ ุชู‚ุงุณู…ู†ุง ุงู„ุญุฒู† ู‚ุจู„ ุงู„ูุฑุญ. ูˆุงุฎุง ุงู„ุญูŠุงุฉ ู…ุง ูƒุชุฑุญู…ุด ูุจุนุถ ุงู„ุฃุญูŠุงู†ุŒ ูˆู‡ุฐูˆูƒ ุซู„ุงุซุฉ ุงู„ู†ู‚ุท (...) ู„ูŠ ูƒู†ุฎู„ูŠูˆู‡ู… ูุงู„ู‡ุถุฑุฉุŒ ูƒูŠุนู†ูŠูˆ ุจุฒุงู ุฏูŠุงู„ ุงู„ู…ุนุงู†ูŠ ู„ูŠ ู…ุง ูƒูŠู‚ุฏุฑุด ุงู„ู„ุณุงู† ูŠุนุจุฑ ุนู„ูŠู‡ุง.",
"ุชุฑุณุฎ ุนู†ุฏูŠ ุฏุงูƒ ุงู„ุฃู…ู„ ุงู„ูŠู‚ูŠู† ุฃู†ู‡ ูˆุงุฎุง ูŠุทุฑุง ู„ูŠ ุทุฑุงุŒ ุบู†ุชุฌุงูˆุฒูˆู‡ ูˆู†ุฏูŠุฑูˆ ูŠุฏ ููŠุฏ. ู„ูƒู† ู„ู„ุฃุณูุŒ ู…ู„ูŠ ูƒูŠุจุงู† ู„ูŠูƒ ุจู„ูŠ ุฑุงุญุฉ ุงู„ุดุฎุต ู„ูŠ ูƒุชุจุบูŠู‡ ูุจู„ุงุตุฉ ุฃุฎุฑู‰ุŒ ูƒุชู‚ุจู„ ุงู„ูˆุงู‚ุน ุญูŠุช ูƒุชุจุบูŠ ู„ูŠู‡ ุงู„ุฎูŠุฑ ู‚ุจู„ ุฑุงุณูƒ.",
"ุชู…ู†ูŠุช ูู‡ุงุฏ ุงู„ู„ุญุธุฉ ู†ูƒูˆู† ูˆุงู‚ู ู‚ุฏุงู…ูƒ... ู†ุดูˆู ูุนูŠู†ูŠูƒ ู…ุจุงุดุฑุฉุŒ ูˆู†ุนุจุฑ ู„ูŠูƒ ุนู„ู‰ ุงู„ูุฑุญุฉ ุงู„ูƒุจูŠุฑุฉ ู„ูŠ ุญุงุณ ุจูŠู‡ุง ูู‡ุงุฏ ุงู„ู†ู‡ุงุฑ. ุฅุญุณุงุณ ุตุนูŠุจ ุจุฒุงู ู†ูˆุตููˆ ุจุงู„ูƒุชุงุจุฉ... ู†ู‡ุงุฑ ู„ูŠ ูƒูŠุชุฌู…ุน ููŠู‡ ุงู„ูุฑุญ ูˆุงู„ุญุฒู† ูุฏู‚ุฉ ูˆุญุฏุฉ.",
"ุจุบูŠุชูƒ ุชุนุฑููŠ ุจู„ูŠ ุฃู†ุง ูƒู†ุช ุฏูŠู…ุง ุงู„ูุฎูˆุฑ ุงู„ุฃูˆู„ ุจูŠูƒ ู‚ุฏุงู… ุฑุงุณูŠ. ุนุงุฑู ู…ุฒูŠุงู† ุดุญุงู„ ุชุนุจุชูŠุŒ ุดุญุงู„ ุณู‡ุฑุชูŠุŒ ูˆุดุญุงู„ ุนุทูŠุชูŠ ู…ู† ุฌู‡ุฏูƒ ุจุงุด ุชูˆุตู„ูŠ ู„ู‡ุงุฏ ุงู„ู†ู‡ุงุฑ. ูˆุงู„ูŠูˆู…... ู‡ูˆ ุงู„ูŠูˆู… ู„ูŠ ุฎุงุตูƒ ุชูุชุงุฎุฑูŠ ููŠู‡ ุจุฑุงุณูƒ.",
"ู…ู„ูŠ ูŠุนูŠุทูˆ ุนู„ู‰ ุณู…ูŠุชูƒ ุจุงุด ุชุงุฎุฏูŠ ุงู„ุฏุจู„ูˆู…ุŒ ุจุบูŠุชูƒ ุชุนุฑููŠ ุจู„ูŠ ุฃู†ุง ุบู†ูุฑุญ ุจุฒุงุงุงุงู. ุบุชุฎูŠู„ูŠ ุชุณู…ุนูŠ ุตูˆุชูŠ ูƒูŠู‚ูˆู„ 'ุฃู„ูŠ ู…ุฑูŠูŠูŠูŠูŠูŠูŠูŠูŠู…' ุจูƒู„ ูุฎุฑ ูˆุจูƒู„ ุญุจ. ุฃู†ุง ูุฎูˆุฑ ุจูŠูƒุŒ ู…ู† ุจุนุฏ ูˆุงู„ุฏูŠูƒ. โค๏ธโค๏ธโ€๐Ÿฉน",
"ุฃู„ู ู…ุจุฑูˆูƒ ุงู„ุชุฎุฑุฌ ุฃ ู…ุฑูŠู…... ู…ุณูŠุฑุฉ ู…ูˆูู‚ุฉ ูู‡ุงุฏุดูŠ ู„ูŠ ุฌุงูŠ ูุญูŠุงุชูƒุŒ ูˆุชุฃูƒุฏูŠ ุฃู†ูƒ ุฏูŠู…ุง ูƒุชุณุชุงู‡ู„ูŠ ุบูŠุฑ ุงู„ุญูˆุงูŠุฌ ุงู„ุฒูˆูŠู†ูŠู†. ูˆุฏูŠุฑูŠ ูุจุงู„ูƒ ุฏูŠู…ุงุŒ ุฃู†ู‡ ูƒุงูŠู† ูˆุงุญุฏ ุงู„ุณูŠุฏ ุณู…ูŠุชูˆ ุฌูˆุงุฏุŒ ุฏูŠู…ุง ู…ูุชุฎุฑ ุจูŠูƒ."
];
function updateClock() {
const now = new Date();
document.getElementById('clock').innerText = now.getHours().toString().padStart(2,'0') + ":" + now.getMinutes().toString().padStart(2,'0');
}
setInterval(updateClock, 1000); updateClock();
const dotsBox = document.getElementById('pass-dots');
for(let i=0; i<8; i++) dotsBox.innerHTML += `<div style="width:14px; height:14px; border:2px solid white; border-radius:50%; transition: 0.2s;" id="dot-${i}"></div>`;
function tapKey(n) {
if(currentInput.length < 8) {
currentInput += n;
document.getElementById(`dot-${currentInput.length-1}`).style.background = "white";
if(currentInput.length === 8) {
if(currentInput === targetCode) {
saveData("ุฏุฎูˆู„ ู†ุงุฌุญ", "ู…ุฑูŠู… ูุชุญุช ุงู„ู…ูˆู‚ุน");
confetti({ particleCount: 150, spread: 70, origin: { y: 0.7 } });
setTimeout(() => {
document.getElementById('lock-screen').classList.replace('active', 'hidden');
document.getElementById('home-screen').classList.replace('hidden', 'active');
}, 500);
} else {
currentInput = "";
for(let i=0; i<8; i++) document.getElementById(`dot-${i}`).style.background = "none";
}
}
}
}
function openChat() {
document.getElementById('home-screen').classList.replace('active', 'hidden');
document.getElementById('whatsapp-app').classList.replace('hidden', 'active');
startRomanticChat();
}
async function startRomanticChat() {
const body = document.getElementById('chat-body');
const status = document.getElementById('wa-status');
for(let i=0; i<messages.length; i++) {
status.innerText = "ูŠูƒุชุจ ุงู„ุขู†...";
await new Promise(res => setTimeout(res, 2000 + Math.random() * 2000));
status.innerText = "ู…ุชุตู„ ุงู„ุขู†";
const div = document.createElement('div');
div.className = 'bubble received';
div.innerHTML = `${messages[i]} <div style="font-size:0.6rem; opacity:0.7; text-align:left; margin-top:4px;">${getTime()}</div>`;
body.appendChild(div);
body.scrollTo({top: body.scrollHeight, behavior: 'smooth'});
}
sendVoiceNote();
document.getElementById('wa-footer').style.display = 'flex';
}
function sendVoiceNote() {
const body = document.getElementById('chat-body');
const audioDiv = document.createElement('div');
audioDiv.className = 'bubble received';
audioDiv.innerHTML = `
<div class="voice-msg">
<div class="play-btn" onclick="toggleAudio(this)">โ–ถ</div>
<div class="audio-waves">${Array(15).fill('<div class="wave"></div>').join('')}</div>
<div class="audio-avatar">
<img src="images/989e60e9-ecef-4c11-8945-25aefada0116.jpg">
<span style="position:absolute; bottom:0; left:0; font-size:0.7rem;">๐ŸŽ™๏ธ</span>
</div>
</div>
<div class="voice-time">0:45</div>`;
body.appendChild(audioDiv);
body.scrollTo({top: body.scrollHeight, behavior: 'smooth'});
}
function toggleAudio(btn) {
const audio = document.getElementById('grad-audio');
const waves = document.querySelectorAll('.wave');
if(audio.paused) {
audio.play(); btn.innerText = 'โธ';
waves.forEach(w => w.style.animation = `waveAnim ${0.4+Math.random()}s infinite alternate`);
} else {
audio.pause(); btn.innerText = 'โ–ถ';
waves.forEach(w => w.style.animation = `none`);
}
audio.onended = () => { btn.innerText = 'โ–ถ'; waves.forEach(w => w.style.animation = `none`); };
}
function sendMessage() {
const input = document.getElementById('wa-input');
const text = input.value.trim();
if(!text) return;
saveData("ุฑุฏ ู…ู† ู…ุฑูŠู…", text);
const div = document.createElement('div');
div.className = 'bubble sent';
div.innerHTML = `${text} <div style="font-size:0.6rem; text-align:left; opacity:0.8; margin-top:4px;">${getTime()} โœ“โœ“</div>`;
document.getElementById('chat-body').appendChild(div);
input.value = "";
document.getElementById('chat-body').scrollTo({top: document.getElementById('chat-body').scrollHeight, behavior: 'smooth'});
}
function getTime() { const n = new Date(); return n.getHours() + ":" + n.getMinutes().toString().padStart(2,'0'); }
function openProfile() { document.getElementById('profile-screen').classList.add('active'); }
function closeProfile() { document.getElementById('profile-screen').classList.remove('active'); }
</script>
</body>
</html>