<%- include("../../../src/web/views/partials/layout-top", { title }) %> <% const destinationMap = new Map(destinations.map((item) => [item.platform, item])); %> <% const templateMap = new Map(templates.map((item) => [item.event_type + ":" + item.platform, item])); %> <% const statusMap = new Map(platformStatus.map((item) => [item.id, item])); %>

Throne Wishlist

Verified wishlist events and cross-platform notifications.

Diagnostics

Core availability and public delivery readiness.

Webhook framework<%= webhookAvailable ? "Available" : "Unavailable" %>
Public base URL<%= publicBaseUrl %>
<% platformStatus.forEach((platform) => { %>
<%= platform.label %><%= platform.sendAvailable ? "Ready" : "Unavailable" %><%= platform.diagnostic %>
<% }) %>
<% if (publicBaseUrlWarning) { %>
<%= publicBaseUrlWarning %>
<% } %> <% if (!webhookAvailable) { %>
Install and restart with the core webhook framework patch before creating endpoints.
<% } %>

Endpoints

Create multiple subscriber URLs and paste them into Throne.

<% if (!endpoints.length) { %>

No Throne endpoints configured.

<% } else { %>
<% endpoints.forEach((endpoint) => { %> <% }) %>
Identifier UUID Link Last payload Actions
<%= endpoint.identifier %> <%= endpoint.uuid %>
<% if (endpoint.last_payload_preview) { %> <% let preview = {}; try { preview = JSON.parse(endpoint.last_payload_preview); } catch {} %> <%= preview.event_type || "unknown" %> <%= preview.event_id || "No event id" %> <%= preview.authentic ? "Authentic" : "Rejected" %> · <%= formatTimestamp(endpoint.last_payload_at) %> <% } else { %> Never <% } %>
<% } %>

Platform Destinations

Only destinations with a working Lumi send capability can be enabled.

<% const availablePlatforms = platformStatus.filter((platform) => platform.sendAvailable); %> <% if (!availablePlatforms.length) { %>

No active platform sender is currently available.

<% } %> <% availablePlatforms.forEach((platform) => { const destination = destinationMap.get(platform.id); %>
<%= platform.label %> <% if (platform.id === "discord") { %>
<% } %> <%= platform.diagnostic %>
<% }) %>

Event Messages

One message per event and platform. Unknown placeholders remain unchanged.

Available placeholders
<% placeholders.forEach((placeholder) => { %>{<%= placeholder %>} <% }) %>
<% eventTypes.forEach((eventType) => { %>

<%= eventType %>

<% if (!activePlatforms.length) { %>

No active platform templates are available.

<% } %> <% activePlatforms.forEach((platform) => { const template = templateMap.get(eventType + ":" + platform); const status = statusMap.get(platform); %>
<%= status?.label || platform %> ">
<%= status?.label || platform %>
<% }) %>
<% }) %>
<%- include("../../../src/web/views/partials/layout-bottom") %>