function openCompose(replyTo = null, forward = null) { const modal = document.getElementById("composeModal"); if (modal) { modal.classList.remove("hidden"); modal.classList.remove("minimized"); if (replyTo) { document.getElementById("composeTo").value = replyTo; } } } function closeCompose() { const modal = document.getElementById("composeModal"); if (modal) { modal.classList.add("hidden"); document.getElementById("composeTo").value = ""; document.getElementById("composeCc").value = ""; document.getElementById("composeBcc").value = ""; document.getElementById("composeSubject").value = ""; document.getElementById("composeBody").value = ""; } } function minimizeCompose() { const modal = document.getElementById("composeModal"); if (modal) { modal.classList.toggle("minimized"); } } function toggleCcBcc() { const ccBcc = document.getElementById("ccBccFields"); if (ccBcc) { ccBcc.classList.toggle("hidden"); } } function toggleScheduleMenu() { const menu = document.getElementById("scheduleMenu"); if (menu) { menu.classList.toggle("hidden"); } } function scheduleSend(when) { console.log("Scheduling send for:", when); toggleScheduleMenu(); } function toggleSelectAll() { const selectAll = document.getElementById("selectAll"); const checkboxes = document.querySelectorAll(".email-checkbox"); checkboxes.forEach((cb) => (cb.checked = selectAll.checked)); updateBulkActions(); } function updateBulkActions() { const checked = document.querySelectorAll(".email-checkbox:checked"); const bulkActions = document.getElementById("bulkActions"); if (bulkActions) { bulkActions.style.display = checked.length > 0 ? "flex" : "none"; } } function openTemplatesModal() { const modal = document.getElementById("templatesModal"); if (modal) modal.classList.remove("hidden"); } function closeTemplatesModal() { const modal = document.getElementById("templatesModal"); if (modal) modal.classList.add("hidden"); } function openSignaturesModal() { const modal = document.getElementById("signaturesModal"); if (modal) modal.classList.remove("hidden"); } function closeSignaturesModal() { const modal = document.getElementById("signaturesModal"); if (modal) modal.classList.add("hidden"); } function openRulesModal() { const modal = document.getElementById("rulesModal"); if (modal) modal.classList.remove("hidden"); } function closeRulesModal() { const modal = document.getElementById("rulesModal"); if (modal) modal.classList.add("hidden"); } function useTemplate(name) { console.log("Using template:", name); closeTemplatesModal(); } function useSignature(name) { console.log("Using signature:", name); closeSignaturesModal(); } function archiveSelected() { const checked = document.querySelectorAll(".email-checkbox:checked"); console.log("Archiving", checked.length, "emails"); } function deleteSelected() { const checked = document.querySelectorAll(".email-checkbox:checked"); if (confirm(`Delete ${checked.length} email(s)?`)) { console.log("Deleting", checked.length, "emails"); } } function markSelectedRead() { const checked = document.querySelectorAll(".email-checkbox:checked"); console.log("Marking", checked.length, "emails as read"); } function handleAttachment(input) { const files = input.files; const attachmentList = document.getElementById("attachmentList"); if (attachmentList && files.length > 0) { for (const file of files) { const item = document.createElement("div"); item.className = "attachment-item"; item.innerHTML = ` ${file.name} `; attachmentList.appendChild(item); } } } document.addEventListener("keydown", function (e) { if (e.key === "Escape") { closeCompose(); closeTemplatesModal(); closeSignaturesModal(); closeRulesModal(); } if (e.ctrlKey && e.key === "n") { e.preventDefault(); openCompose(); } }); document.addEventListener("DOMContentLoaded", function () { document.querySelectorAll(".email-checkbox").forEach((cb) => { cb.addEventListener("change", updateBulkActions); }); });