maintopics-table.html 6.94 KB
{% autoescape %}

<!DOCTYPE html>
<html lang="pt">
<head>
  <meta charset="utf-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1" />
  <meta name="author" content="Miguel Barão">
  <link rel="icon" href="/static/favicon.ico">

<!-- Styles -->
  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
  <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" rel="stylesheet">

  <link rel="stylesheet" href="{{static_url('css/maintopics.css')}}">

<!-- Scripts -->
  <script src="https://code.jquery.com/jquery-3.6.0.min.js" integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script>
  <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>

  <script defer src="{{static_url('js/maintopics.js')}}"></script>

  <title>{{appname}}</title>
</head>
<!-- ===================================================================== -->
<body>
<nav class="navbar navbar-expand-sm navbar-dark bg-secondary fixed-top shadow">
  <div class="container-fluid">
    <img src="{{static_url('logo_horizontal.png')}}" height="48" width="120" class="navbar-brand" alt="UEvora">
    <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarText" aria-controls="navbarText" aria-expanded="false" aria-label="Toggle navigation">
      <span class="navbar-toggler-icon"></span>
    </button>

    <div class="collapse navbar-collapse" id="navbarText">
      <ul class="navbar-nav">
        <li class="nav-item"><a class="nav-link" href="/courses">Cursos</a></li>
        <li class="nav-item"><a class="nav-link active" aria-current="page" href="#">Tópicos</a></li>
        <li class="nav-item"><a class="nav-link" href="/rankings?course={{course_id}}">Classificação</a></li>
      </ul>
      <ul class="navbar-nav ms-auto">
        <li class="nav-item dropdown">
          <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
            <i class="fas fa-user-graduate" aria-hidden="true"></i>
            &nbsp;
            <span id="name">{{ escape(name) }}</span>
            <span class="caret"></span>
          </a>
          <ul class="dropdown-menu dropdown-menu-end" aria-labelledby="navbarDropdown">
            <li><a class="dropdown-item" data-bs-toggle="modal" data-bs-target="#password_modal">Mudar Password</a></li>
            <li><hr class="dropdown-divider"></li>
            <li><a class="dropdown-item" href="/logout">Sair</a></li>
          </ul>
        </li>
      </ul>
    </div>
  </div>
</nav>

<!-- === Change Password Modal =========================================== -->
<div id="password_modal" class="modal fade" tabindex="-1" aria-labelledby="password_modal" aria-hidden="true">
  <div class="modal-dialog">
    <div class="modal-content">
      <!-- header -->
      <div class="modal-header">
        <h5 class="modal-title">Alterar Password</h5>
        <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
      </div>
      <!-- body -->
      <div class="modal-body">
        <div class="control-group">
          <label for="new_password" class="control-label">Introduza a nova password:</label>
          <div class="controls">
            <input type="password" id="new_password" name="new_password" autocomplete="new-password">
          </div>
        </div>
      </div>
      <!-- footer -->
      <div class="modal-footer">
        <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
        <button id="change_password" type="button" class="btn btn-primary" data-bs-dismiss="modal">Alterar</button>
      </div>
      <!-- end -->
    </div>
  </div>
</div>

<!-- ===================================================================== -->
<div class="container">

  <div id="notifications"></div>

  <h1 class="display-6">{{ course['title'] }}</h1>

  <table class="table table-hover">
    <thead>
      <tr>
        <th scope="col"></th>
        <th scope="col">Tópico</th>
        <th scope="col" class="text-center">Estado</th>
      </tr>
    </thead>
    <tbody>
      {% for t in state %}
        <!-- ------------------------------------------------------------- -->
        {% if t['level'] is None %}
          <tr>
            <th scope="row" class="text-muted text-center">
              {% if t['type']=='chapter' %}
                <i class="fas fa-flag"></i>
              {% elif t['type']=='learn' %}
                <i class="fas fa-book"></i>&nbsp;
              {% else %}
                <i class="fas fa-pencil-alt"></i>&nbsp;
              {% end %}
            </th>
            <td>
              <div class="text-muted">
                {% if t['ref'] not in course['goals'] %}
                  <i class="fas fa-puzzle-piece"></i>
                {% end %}


                {{ t['name'] }}
              </div>
            </td>
            <td class="text-center">
              <i class="fas fa-lock text-muted"></i>
            </td>
          </tr>

        {% else %}

          <tr class="clickable-row " data-href="/topic/{{t['ref']}}">
            <th scope="row" class="text-primary text-center">
              {% if t['type']=='chapter' %}
                <i class="fas fa-flag-checkered"></i>&nbsp;
              {% elif t['type']=='learn' %}
                <i class="fas fa-book"></i>&nbsp;
              {% else %}
                <i class="fas fa-pencil-alt"></i>&nbsp;
              {% end %}
            </th>
            <td class="text-primary">
              {% if t['ref'] not in course['goals'] %}
                <i class="fas fa-puzzle-piece"></i>
              {% end %}

              {{ t['name'] }}
            </td>

            <td class="text-center">
              {% if t['level'] < 0.01 %}
                <i class="fas fa-lock-open text-success"></i>
              {% elif t['type']=='chapter' %}
                <h5><i class="fas fa-award text-warning"></i></h5>
              {% else %}
                <span class="text-nowrap text-warning" data-toggle="tooltip" data-placement="bottom" title="{{round(t['level']*5, 2)}}">
                  {{int(t['level']*5+0.25)*'<i class="fas fa-star"></i>'}}{% if int(t['level']*5+0.25) < 5 %}{{'<i class="fas fa-star-half-alt"></i>' if 0.25 <= t['level']*5-int(t['level']*5) < 0.75 else '<i class="far fa-star"></i>'}}{% end %}{{(4-int(t['level']*5+0.25))*'<i class="far fa-star"></i>' }}
                </span>
              {% end %} <!-- if -->
            </td>
          </tr>
        {% end %} <!-- if level is none -->
        <!-- ------------------------------------------------------------- -->
      {% end %} <!-- for -->
    </tbody>
  </table>
</div>
</body>
</html>