add indicator for percent of sucessfully updated subscription to topic details
[websub-hub] / src / template / admin-topic-details-html.js
index 0c281e48086ef4514ea75996ec62577b0823d66d..1d0add005079f356545eae03db8448548af61134 100644 (file)
@@ -34,7 +34,6 @@ module.exports = (ctx, options) => {
   };
 
   const content = [
-    '<script>0</script>', // This fixes a layout rendering flash on load in FF; do not know why this works but it does.
     `      <section class="topics">
         <table>
           <thead>`,
@@ -45,9 +44,20 @@ module.exports = (ctx, options) => {
     `        </tbody>
         </table>
       </section>`,
+    `      <section class="history">
+        <p>Topic Publish History &mdash; ${ctx.publishCount} updates in the last ${ctx.publishSpan} days</p>
+        <img title="Topic Publish History" src="${ctx.params.topicId}/history.svg">
+      </section>`,
     `      <section class="subscriptions">
-        <p>${ctx.subscriptions.length ? ctx.subscriptions.length : 'no'} subscription${(ctx.subscriptions.length === 1) ? '' : 's'}</p>
-        <table>
+        <p>${ctx.subscriptions.length ? ctx.subscriptions.length : 'no'} subscription${(ctx.subscriptions.length === 1) ? '' : 's'}</p>`,
+    ...(ctx.subscriptions.length && [`
+        <label for="subscriptions-delivered">
+          Successful Deliveries of Latest Content
+        </label>
+        <progress id="subscriptions-delivered" max="${ctx.subscriptions.length}" value="${ctx.subscriptionsDelivered}">
+          ${ctx.subscriptionsDelivered} of ${ctx.subscriptions.length} (${Math.ceil(100 * ctx.subscriptions.length / ctx.subscriptionsDelivered)}%)
+        </progress>`] || []),
+    `        <table>
           <thead>`,
     th.renderSubscriptionRowHeader(),
     `          </thead>
@@ -58,5 +68,5 @@ module.exports = (ctx, options) => {
       </section>`,
   ];
 
-  return th.htmlPage(2, htmlOptions, content);
+  return th.htmlPage(2, ctx, htmlOptions, content);
 };
\ No newline at end of file