base.html 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. {% load static %}
  2. <!doctype html>
  3. <html class="no-js" lang="">
  4. <head>
  5. <title>{% block page_title %}Welcome{% endblock %} | Emus, an EmulationStation Web Interface</title>
  6. <meta charset="utf-8">
  7. <meta http-equiv="x-ua-compatible" content="ie=edge">
  8. <meta name="description" content="">
  9. <meta name="viewport" content="width=device-width, initial-scale=1">
  10. <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.0.0/dist/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
  11. <script src="https://code.jquery.com/jquery-3.3.1.js" integrity="sha256-2Kok7MbOyxpgUVvAk/HJ2jigOSYS2auK4Pfzbm7uH60=" crossorigin="anonymous"></script>
  12. <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.0.0/dist/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
  13. <script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.10/clipboard.min.js"></script>
  14. <script>
  15. $('#library-update-form').on('submit', function(event){
  16. event.preventDefault();
  17. console.log("form submitted!") // sanity check
  18. $.ajax({
  19. url : "library/update/",
  20. type : "GET",
  21. // handle a successful response
  22. success : function(json) {
  23. $('#library-update-form').html("<button id='library-update-btn' class='btn btn-secondary my-2 my-sm-0' type='submit' disabled>Update</button>");
  24. console.log(json); // log the returned json to the console
  25. },
  26. // handle a non-successful response
  27. error : function(xhr,errmsg,err) {
  28. console.log(xhr.status + ": " + xhr.responseText); // provide a bit more info about the error to the console
  29. }
  30. });
  31. });
  32. </script>
  33. <style type="text/css">
  34. dl {
  35. display: flex;
  36. flex-flow: column wrap;
  37. max-height: 6em;
  38. border: 1px solid #777;
  39. }
  40. dt {
  41. padding: 2px 4px;
  42. background: #777;
  43. color: #fff;
  44. }
  45. dd {
  46. margin: 0;
  47. padding: 4px;
  48. min-height: 3em;
  49. border-right: 1px solid #777;
  50. }
  51. .card img { width:18em; padding: 1em; }
  52. .card-block { padding: 1em 0 1em 0; }
  53. .system-badge { padding: 1em; font-size: normal; }
  54. {% for system in game_systems %}
  55. .{{system.retropie_slug}} { background: #{{system.get_color}}; }
  56. {% endfor %}
  57. </style>
  58. {% block head_extra %}{% endblock %}
  59. <link rel="apple-touch-icon" href="/apple-touch-icon.png">
  60. <!-- Place favicon.ico in the root directory -->
  61. </head>
  62. <body>
  63. <!--[if lt IE 8]>
  64. <p class="browserupgrade">
  65. You are using an <strong>outdated</strong> browser. Please
  66. <a href="http://browsehappy.com/">upgrade your browser</a> to improve
  67. your experience.
  68. </p>
  69. <![endif]-->
  70. <div class="container">
  71. <nav class="navbar navbar-expand-lg navbar-light bg-light">
  72. <a class="navbar-brand" href="#">Emus</a>
  73. <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
  74. <span class="navbar-toggler-icon"></span>
  75. </button>
  76. {% if request.user.is_authenticated %}
  77. <div class="collapse navbar-collapse" id="navbarSupportedContent">
  78. <ul class="navbar-nav mr-auto">
  79. <li class="nav-item">
  80. <a class="nav-link" href="{% url 'games:game_list' %}">Recent<span class="sr-only"></span></a>
  81. </li>
  82. <li class="nav-item ">
  83. <a class="nav-link" href="{% url 'games:game_library_list' %}">Library<span class="sr-only"></span></a>
  84. </li>
  85. <li class="nav-item dropdown">
  86. <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Systems</a>
  87. <div class="dropdown-menu" aria-labelledby="navbarDropdown">
  88. <a class="dropdown-item" href="{% url "games:gamesystem_list" %}">All</a>
  89. {% for system in game_systems %}
  90. <a class="dropdown-item" href="{{system.get_absolute_url}}">{{system.name}} ({{system.game_set.count}})</a>
  91. {% endfor %}
  92. </div>
  93. </li>
  94. <li class="nav-item dropdown">
  95. <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Collections</a>
  96. <div class="dropdown-menu" aria-labelledby="navbarDropdown">
  97. <a class="dropdown-item" href="{% url "games:gamecollection_list" %}">All</a>
  98. {% for collection in game_collections %}
  99. <a class="dropdown-item" href="{{collection.get_absolute_url}}">{{collection.name}} ({{collection.games.count}})</a>
  100. {% endfor %}
  101. </div>
  102. </li>
  103. </ul>
  104. <form class="form-inline my-2 my-lg-0" method="get" action="{% url 'search:search' %}">
  105. <input class="form-control mr-sm-2" name="q" type="search" placeholder="Search" aria-label="Search">
  106. <button class="btn btn-primary my-2 my-sm-0" type="submit">Search</button>
  107. </form>
  108. &nbsp;
  109. <form id="library-update-form" class="form-inline my-2 my-lg-0" method="get" action="{% url 'games:game_library_update' %}">
  110. <button id="library-update-btn" class="btn btn-warning my-2 my-sm-0" type="submit" {% if update_in_progress %}disabled{% endif %}>Update</button>
  111. </form>
  112. </div>
  113. <a class="nav-link" href="{% url 'account_logout' %}">Logout<span class="sr-only"></span></a>
  114. {% endif %}
  115. </nav>
  116. <h2>{% block title %}{% endblock %}</h2>
  117. <div>
  118. {% block content %}
  119. {% endblock %}
  120. </div>
  121. </div>
  122. </body>
  123. </html>