adminx-core 0.3.0

Framework-neutral core for the adminx admin-panel framework: the Resource trait, storage abstraction, registry, and neutral request/response types shared by every web-framework and database adapter.
Documentation
{% extends "layout.html" %}
{% block content %}
  <h1 class="text-2xl font-bold text-gray-900 dark:text-white mb-1">Dashboard</h1>
  <p class="text-sm text-gray-500 dark:text-gray-400 mb-6">Manage your resources</p>

  <div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4">
    {% for m in menus %}
      {% if m.children %}
        {% for c in m.children %}
          <a href="{{ mount | safe }}/{{ c.path }}/list"
             class="group block p-5 bg-white dark:bg-gray-800 rounded-xl border border-gray-200 dark:border-gray-700 shadow-sm hover:shadow-md hover:border-indigo-400 dark:hover:border-indigo-500 transition-all">
            <div class="flex items-center justify-between">
              <div>
                <div class="text-lg font-semibold text-gray-900 dark:text-white">{{ c.title }}</div>
                <div class="text-sm text-gray-500 dark:text-gray-400 mt-1">Manage {{ c.title }}</div>
              </div>
              <span class="w-10 h-10 rounded-lg bg-gradient-to-r from-indigo-600 to-fuchsia-600 flex items-center justify-center text-white shrink-0">
                <svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7"/></svg>
              </span>
            </div>
          </a>
        {% endfor %}
      {% else %}
        <a href="{{ mount | safe }}/{{ m.path }}/list"
           class="group block p-5 bg-white dark:bg-gray-800 rounded-xl border border-gray-200 dark:border-gray-700 shadow-sm hover:shadow-md hover:border-indigo-400 dark:hover:border-indigo-500 transition-all">
          <div class="flex items-center justify-between">
            <div>
              <div class="text-lg font-semibold text-gray-900 dark:text-white">{{ m.title }}</div>
              <div class="text-sm text-gray-500 dark:text-gray-400 mt-1">Manage {{ m.title }}</div>
            </div>
            <span class="w-10 h-10 rounded-lg bg-gradient-to-r from-indigo-600 to-fuchsia-600 flex items-center justify-center text-white shrink-0">
              <svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7"/></svg>
            </span>
          </div>
        </a>
      {% endif %}
    {% endfor %}
  </div>
{% endblock content %}