/* Atlus — Service Manager app */ (function () { 'use strict'; let container = null; let listEl = null; let searchInput = null; let allServices = []; let filterActive = false; async function loadServices() { try { const res = await Atlus.apiFetch('/api/services'); if (!res.ok) return; allServices = await res.json(); renderServices(); } catch (e) {} } function renderServices() { if (!listEl) return; const query = searchInput ? searchInput.value.toLowerCase() : ''; let filtered = allServices; if (query) { filtered = filtered.filter(s => s.name.toLowerCase().includes(query) || s.description.toLowerCase().includes(query) ); } if (filterActive) { filtered = filtered.filter(s => s.active === 'active'); } listEl.innerHTML = ''; // Header const header = document.createElement('div'); header.className = 'services-header'; header.innerHTML = 'ServiceStateSub'; listEl.appendChild(header); filtered.forEach(svc => { const row = document.createElement('div'); row.className = 'service-row'; const isActive = svc.active === 'active'; const stateClass = svc.active === 'active' ? 'active' : svc.active === 'failed' ? 'failed' : 'inactive'; row.innerHTML = `