A decentralized event management and credentialing system built on atproto.
at main 96 lines 3.2 kB view raw
1{% extends "admin_base.html" %} 2 3{% block title %}AcudoRule Management - Admin Panel{% endblock %} 4 5{% block content %} 6<!-- Page Header --> 7<div class="mb-5"> 8 <div class="columns is-vcentered"> 9 <div class="column"> 10 <h1 class="title is-4">AcudoRule Management</h1> 11 </div> 12 <div class="column is-narrow"> 13 <div class="field is-grouped"> 14 <p class="control"> 15 <a href="/admin/acudo-rules/new" class="button is-success">New Rule</a> 16 </p> 17 <p class="control"> 18 <span class="tag is-large is-info">{{ total_rules }} Rules</span> 19 </p> 20 </div> 21 </div> 22 </div> 23</div> 24 25<!-- Rules Table --> 26{% if rules %} 27<div class="box"> 28 <div class="table-container"> 29 <table class="table is-fullwidth is-striped is-hoverable"> 30 <thead> 31 <tr> 32 <th>ID</th> 33 <th>Order</th> 34 <th>Rule</th> 35 <th width="200">Actions</th> 36 </tr> 37 </thead> 38 <tbody> 39 {% for rule in rules %} 40 <tr> 41 <td> 42 <code class="has-text-info">{{ rule.id }}</code> 43 </td> 44 <td> 45 <span class="tag is-light">{{ rule.order }}</span> 46 </td> 47 <td> 48 <details> 49 <summary class="has-text-link is-clickable"> 50 View Rule JSON 51 </summary> 52 <div class="json-display mt-2"> 53 <pre class="has-background-light p-2">{{ rule.rule_json }}</pre> 54 </div> 55 </details> 56 </td> 57 <td> 58 <div class="buttons are-small"> 59 <a href="/admin/acudo-rules/{{ rule.id }}/edit" 60 class="button is-warning"> 61 Edit 62 </a> 63 <form method="POST" 64 action="/admin/acudo-rules/{{ rule.id }}/delete" 65 style="display: inline;" 66 onsubmit="return confirm('Are you sure you want to delete this rule?');"> 67 <button type="submit" class="button is-danger"> 68 Delete 69 </button> 70 </form> 71 </div> 72 </td> 73 </tr> 74 {% endfor %} 75 </tbody> 76 </table> 77 </div> 78</div> 79{% else %} 80<div class="notification is-info"> 81 <p class="has-text-centered"> 82 No AcudoRules found. 83 <a href="/admin/acudo-rules/new">Create your first rule</a>. 84 </p> 85</div> 86{% endif %} 87 88<style> 89.json-display { 90 max-height: 200px; 91 overflow-y: auto; 92 font-family: monospace; 93 font-size: 0.85rem; 94} 95</style> 96{% endblock %}