This commit is contained in:
Christoph Haas 2026-03-21 22:41:23 +01:00
commit f4be03ceba
1826 changed files with 830924 additions and 0 deletions

View file

@ -0,0 +1,78 @@
import { a as attr, e as escape_html, b as ensure_array_like, c as attr_class, s as stringify } from "../../../chunks/index2.js";
function _page($$renderer, $$props) {
$$renderer.component(($$renderer2) => {
let logs = [];
let loading = true;
let error = "";
let filter = "";
let hours = 1;
async function loadLogs() {
loading = true;
error = "";
try {
const res = await fetch(`/api/logs?hours=${hours}&filter=${encodeURIComponent(filter)}`);
if (res.ok) {
const data = await res.json();
logs = data.data || [];
} else {
error = "Failed to load logs";
}
} catch (e) {
error = "Connection error";
console.error("Failed to load logs:", e);
} finally {
loading = false;
}
}
function getPriorityClass(priority) {
const p = priority.toLowerCase();
if (p === "err" || p === "error") return "error";
if (p === "warning" || p === "warn") return "warning";
if (p === "info") return "info";
return "";
}
$$renderer2.push(`<div class="header svelte-1lsf4ps"><h2>Mail Logs</h2> <div class="controls svelte-1lsf4ps"><label class="svelte-1lsf4ps">Hours: `);
$$renderer2.select(
{ value: hours, onchange: loadLogs, class: "" },
($$renderer3) => {
$$renderer3.option({ value: 1 }, ($$renderer4) => {
$$renderer4.push(`Last hour`);
});
$$renderer3.option({ value: 6 }, ($$renderer4) => {
$$renderer4.push(`Last 6 hours`);
});
$$renderer3.option({ value: 24 }, ($$renderer4) => {
$$renderer4.push(`Last 24 hours`);
});
$$renderer3.option({ value: 48 }, ($$renderer4) => {
$$renderer4.push(`Last 48 hours`);
});
},
"svelte-1lsf4ps"
);
$$renderer2.push(`</label> <label class="svelte-1lsf4ps">Filter: <input type="text"${attr("value", filter)} placeholder="Filter logs..." class="svelte-1lsf4ps"/></label> <button class="svelte-1lsf4ps">Refresh</button></div></div> `);
if (loading) {
$$renderer2.push("<!--[0-->");
$$renderer2.push(`<p>Loading...</p>`);
} else if (error) {
$$renderer2.push("<!--[1-->");
$$renderer2.push(`<p class="error svelte-1lsf4ps">${escape_html(error)}</p>`);
} else if (logs.length === 0) {
$$renderer2.push("<!--[2-->");
$$renderer2.push(`<p>No log entries found.</p>`);
} else {
$$renderer2.push("<!--[-1-->");
$$renderer2.push(`<div class="log-container svelte-1lsf4ps"><!--[-->`);
const each_array = ensure_array_like(logs);
for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
let entry = each_array[$$index];
$$renderer2.push(`<div${attr_class(`log-entry ${stringify(getPriorityClass(entry.priority))}`, "svelte-1lsf4ps")}><span class="timestamp svelte-1lsf4ps">${escape_html(entry.timestamp)}</span> <span class="priority svelte-1lsf4ps">[${escape_html(entry.priority)}]</span> <span class="message">${escape_html(entry.message)}</span></div>`);
}
$$renderer2.push(`<!--]--></div>`);
}
$$renderer2.push(`<!--]-->`);
});
}
export {
_page as default
};