rustio-admin 0.30.0

Django Admin, but for Rust. A small, focused admin framework.
Documentation
{% extends "admin/_base.html" %}
{% from "admin/_row_actions.html" import row_actions %}
{% block content %}
<nav class="rio-crumbs"><a href="/admin">Home</a><span class="rio-crumb-sep">·</span><span class="rio-crumb-current">Groups</span></nav>

<div class="rio-masthead-top">
  <div>
    <h1>Groups</h1>
    <p class="rio-masthead-desc">Bundle permissions into reusable groups; assign groups to users.</p>
  </div>
  <div class="rio-masthead-cta">
    <a class="rio-btn rio-btn--primary rio-btn--md" href="/admin/groups/new">{{ icon("plus") }} Add group</a>
  </div>
</div>

<div class="rio-board">
  {% if groups %}
  <div style="overflow:auto">
  <table class="rio-dtable">
    <thead><tr><th>Group</th><th>Description</th><th class="col-act">&nbsp;</th></tr></thead>
    <tbody>
      {% for g in groups %}
      <tr>
        <td>
          <div class="rio-prod">
            <span class="rio-mono-tile">{{ g.name | first | upper }}</span>
            <span class="rio-prod-text"><a class="rio-prod-name" href="/admin/groups/{{ g.id }}/edit">{{ g.name }}</a><span class="rio-prod-cat">#{{ g.id }}</span></span>
          </div>
        </td>
        <td style="color:var(--rio-text-mute)">{{ g.description }}</td>
        <td class="col-act">{{ row_actions("groups", g.id) }}</td>
      </tr>
      {% endfor %}
    </tbody>
  </table>
  </div>
  <div class="rio-board-foot"><span style="font-size:13px;color:var(--rio-text-mute)">Showing <strong style="color:var(--rio-text-hi);font-weight:600">{{ groups|length }}</strong> group{% if groups|length != 1 %}s{% endif %}</span></div>
  {% else %}
  <div class="rio-empty">
    {{ icon("key") }}
    <div class="rio-empty-title">No groups yet</div>
    <div>Create a group to bundle permissions — then assign the group to users instead of granting permissions one by one.</div>
    <div style="margin-block-start:14px"><a class="rio-btn rio-btn--primary rio-btn--md" href="/admin/groups/new">{{ icon("plus") }} Add group</a></div>
  </div>
  {% endif %}
</div>
{% endblock %}