index.j2 3.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>Backend</title>
  5. <meta name="viewport" content="width=device-width, initial-scale=1">
  6. <script src="/static/js/main.js"></script>
  7. </head>
  8. <body>
  9. <nav class="navbar navbar-expand-md navbar-dark bg-dark">
  10. <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarsDefault" aria-controls="navbarsDefault" aria-expanded="false" aria-label="Toggle navigation">
  11. <span class="navbar-toggler-icon"></span>
  12. </button>
  13. <div class="collapse navbar-collapse" id="navbarsDefault">
  14. <ul class="navbar-nav mr-auto">
  15. {%- for item in current_menu.children recursive -%}
  16. <li class="nav-item {{ 'active' if item.active }}" data-toggle="tooltip" data-placement="right" title="{{ item.text }}">
  17. <a class="nav-link" href="{{ item.url}}">
  18. <span class="nav-link-text">{{ item.text }}</span>
  19. </a>
  20. </li>
  21. {%- endfor -%}
  22. </ul>
  23. <ul class="navbar-nav">
  24. <li class="nav-item text-nowrap">
  25. <a class="nav-link" href="#">Sign out</a>
  26. </li>
  27. </ul>
  28. </div>
  29. </nav>
  30. <main class="container">
  31. {% with messages = get_flashed_messages(with_categories=true) %}
  32. {% if messages %}
  33. {% for category, message in messages %}
  34. <div class="alert alert-{{ category }} alert-dismissible fade show" role="alert">
  35. {{ message }}
  36. <button type="button" class="close" data-dismiss="alert" aria-label="Close">
  37. <span aria-hidden="true">&times;</span>
  38. </button>
  39. </div>
  40. {% endfor %}
  41. {% endif %}
  42. {% endwith %}
  43. <h1>Backend</h1>
  44. <h1>Bootstrap starter template</h1>
  45. <p class="lead">Use this document as a way to quickly start any new project.<br> All you get is this text and a mostly barebones HTML document.</p>
  46. <div class="table-responsive">
  47. <table class="table table-striped table-sm">
  48. <thead>
  49. <tr>
  50. <th>Action</th>
  51. <th>Title</th>
  52. <th>Datum</th>
  53. <th>Author</th>
  54. </tr>
  55. </thead>
  56. <tbody>
  57. {%- for page in pages recursive -%}
  58. <tr>
  59. <td>
  60. <div class="btn-group">
  61. <button class="btn btn-secondary btn-sm dropdown-toggle" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
  62. Small button
  63. </button>
  64. <div class="dropdown-menu">
  65. <a class="dropdown-item" href="{{ url_for('backend.view_page', page_id=page.id) }}">View</a>
  66. <a class="dropdown-item" href="{{ url_for('backend.edit_page', page_id=page.id) }}">Edit</a>
  67. <a class="dropdown-item" href="{{ url_for('backend.remove_page', page_id=page.id) }}">Remove</a>
  68. </div>
  69. </div>
  70. </td>
  71. <td>
  72. {{ '> ' * (loop.depth - 1) }}<a href="{{ url_for('backend.view_page', page_id=page.id) }}">
  73. {{ page.title if page.title else 'page %s' % page.id }}
  74. </a>
  75. </td>
  76. <td>{{ page.datetime }}</td>
  77. <td>{{ page.user.name }}</td>
  78. </tr>
  79. {{ loop(page.children) }}
  80. {%- endfor -%}
  81. </tbody>
  82. </table>
  83. </div>
  84. </main>
  85. </body>