persons.html 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. {% extends "base.html" %}
  2. {% block title %}Persons - astro-mcp{% endblock %}
  3. {% block content %}
  4. <h1>Persons</h1>
  5. <div class="toolbar">
  6. <a href="/dashboard/persons/new" class="btn btn-primary">+ Add Person</a>
  7. <input
  8. class="search-input"
  9. type="text"
  10. id="search"
  11. placeholder="Search name or nickname..."
  12. value="{{ q }}"
  13. >
  14. </div>
  15. {% if persons %}
  16. <table>
  17. <thead>
  18. <tr>
  19. <th>Name</th>
  20. <th>Nickname</th>
  21. <th>Birth</th>
  22. <th>Location</th>
  23. <th>Gender</th>
  24. <th>Status</th>
  25. <th></th>
  26. </tr>
  27. </thead>
  28. <tbody id="person-rows">
  29. {% for p in persons %}
  30. <tr>
  31. <td><a href="/dashboard/persons/{{ p.id }}">{{ p.name }}</a></td>
  32. <td>{{ p.nickname or '—' }}</td>
  33. <td>{{ p.birth_datetime[:10] if p.birth_datetime else '—' }}</td>
  34. <td>{{ p.birthplace or '—' }}</td>
  35. <td>
  36. {% if p.gender %}
  37. <span class="badge badge-blue">{{ p.gender }}</span>
  38. {% else %}
  39. {% endif %}
  40. </td>
  41. <td>
  42. {% if p.alive %}
  43. <span class="badge badge-green">alive</span>
  44. {% else %}
  45. <span class="badge badge-red">deceased</span>
  46. {% endif %}
  47. {% if p.private %}
  48. <span class="badge badge-gray">private</span>
  49. {% endif %}
  50. {% if p.birth_time_known == False %}
  51. <span class="badge badge-gray">time unknown</span>
  52. {% endif %}
  53. </td>
  54. <td style="white-space:nowrap">
  55. <a href="/dashboard/persons/{{ p.id }}/edit" class="btn btn-ghost btn-sm">Edit</a>
  56. <form method="post" action="/dashboard/persons/{{ p.id }}/delete" style="display:inline">
  57. <button type="submit" class="btn btn-danger btn-sm" data-confirm="Delete {{ p.name }}?">Delete</button>
  58. </form>
  59. </td>
  60. </tr>
  61. {% endfor %}
  62. </tbody>
  63. </table>
  64. {% else %}
  65. <div class="empty card">
  66. <p>No persons yet. <a href="/dashboard/persons/new">Add one</a>.</p>
  67. </div>
  68. {% endif %}
  69. {% endblock %}