(function () { "use strict"; let currentView = "grid"; let selectedFile = null; let aiPanelOpen = true; function toggleView(type) { currentView = type; const fileView = document.getElementById("file-view"); if (fileView) { fileView.classList.remove("grid-view", "list-view"); fileView.classList.add(type + "-view"); } document.querySelectorAll(".app-btn-secondary").forEach((btn) => { btn.classList.remove("active"); }); event.target.classList.add("active"); } function openFolder(el) { const folderName = el.querySelector(".file-name").textContent; const breadcrumb = document.querySelector(".breadcrumb"); if (breadcrumb) { const separator = document.createElement("span"); separator.className = "breadcrumb-separator"; separator.textContent = "βΊ"; breadcrumb.appendChild(separator); const item = document.createElement("span"); item.className = "breadcrumb-item current"; item.textContent = folderName; breadcrumb.appendChild(item); breadcrumb.querySelectorAll(".breadcrumb-item").forEach((i) => { i.classList.remove("current"); }); item.classList.add("current"); } addAIMessage("assistant", `Opened folder: ${folderName}`); } function selectFile(el) { document.querySelectorAll(".file-item").forEach((item) => { item.classList.remove("selected"); }); el.classList.add("selected"); selectedFile = { name: el.querySelector(".file-name").textContent, meta: el.querySelector(".file-meta").textContent, }; } function toggleAIPanel() { const panel = document.getElementById("ai-panel"); if (panel) { aiPanelOpen = !aiPanelOpen; panel.classList.toggle("hidden", !aiPanelOpen); } const toggle = document.querySelector(".ai-toggle"); if (toggle) { toggle.classList.toggle("active", aiPanelOpen); } } function aiAction(action) { const actions = { organize: "Analyzing folder structure to suggest organization...", find: "What file are you looking for?", analyze: "Select a file and I'll analyze its content.", share: "Select a file to set up sharing options.", }; addAIMessage("assistant", actions[action] || "How can I help?"); } function sendAIMessage() { const input = document.getElementById("ai-input"); if (!input || !input.value.trim()) return; const message = input.value.trim(); addAIMessage("user", message); input.value = ""; setTimeout(() => { processAIQuery(message); }, 500); } function addAIMessage(type, content) { const container = document.getElementById("ai-messages"); if (!container) return; const div = document.createElement("div"); div.className = "ai-message " + type; div.innerHTML = '
"; container.appendChild(div); container.scrollTop = container.scrollHeight; } function processAIQuery(query) { const lowerQuery = query.toLowerCase(); let response = "I can help you manage your files. Try asking me to find, organize, or analyze files."; if (lowerQuery.includes("find") || lowerQuery.includes("search") || lowerQuery.includes("buscar")) { response = "I'll search for files matching your query. What type of file are you looking for?"; } else if (lowerQuery.includes("organize") || lowerQuery.includes("organizar")) { response = "I can help organize your files by type, date, or project. Which method would you prefer?"; } else if (lowerQuery.includes("share") || lowerQuery.includes("compartilhar")) { if (selectedFile) { response = `Setting up sharing for "${selectedFile.name}". Who would you like to share it with?`; } else { response = "Please select a file first, then I can help you share it."; } } else if (lowerQuery.includes("delete") || lowerQuery.includes("excluir")) { if (selectedFile) { response = `Are you sure you want to delete "${selectedFile.name}"? This action cannot be undone.`; } else { response = "Please select a file first before deleting."; } } else if (lowerQuery.includes("storage") || lowerQuery.includes("space") || lowerQuery.includes("espaΓ§o")) { response = "You're using 12.4 GB of your 50 GB storage. Would you like me to find large files to free up space?"; } addAIMessage("assistant", response); } function uploadFile() { const input = document.createElement("input"); input.type = "file"; input.multiple = true; input.onchange = function (e) { const files = Array.from(e.target.files); if (files.length > 0) { const names = files.map((f) => f.name).join(", "); addAIMessage("assistant", `Uploading ${files.length} file(s): ${names}`); simulateUpload(files); } }; input.click(); } function simulateUpload(files) { setTimeout(() => { addAIMessage("assistant", `Successfully uploaded ${files.length} file(s)!`); files.forEach((file) => { addFileToView(file.name, formatFileSize(file.size)); }); }, 1500); } function addFileToView(name, size) { const fileView = document.getElementById("file-view"); if (!fileView) return; const icon = getFileIcon(name); const div = document.createElement("div"); div.className = "file-item"; div.onclick = function () { selectFile(this); }; div.innerHTML = `