Commit 4aee2d63f578a0bc619b40c7c81b46b3f4b749c6
1 parent
1fa9c011
Exists in
master
and in
1 other branch
update html templates to latest bootstrap5
replace fontawesome by bootstrap-icons cosmetic changes
Showing
8 changed files
with
160 additions
and
121 deletions
Show diff stats
perguntations/static/fontawesome-free
perguntations/templates/grade.html
| ... | ... | @@ -33,13 +33,14 @@ |
| 33 | 33 | |
| 34 | 34 | <ul class="nav navbar-nav mx-auto"> |
| 35 | 35 | <li class="nav-item"> |
| 36 | - <span class="navbar-text">{{ t['title'] }}</span> | |
| 36 | + <span class="navbar-text">Resultado</span> | |
| 37 | 37 | </li> |
| 38 | 38 | </ul> |
| 39 | 39 | |
| 40 | 40 | <ul class="nav navbar-nav"> |
| 41 | 41 | <li class="nav-item"> |
| 42 | 42 | <span class="navbar-text"> |
| 43 | + <i class="bi bi-person-fill"></i> | |
| 43 | 44 | <span id="name">{{ escape(name) }}</span> |
| 44 | 45 | (<span id="number">{{ escape(uid) }}</span>) |
| 45 | 46 | </span> |
| ... | ... | @@ -49,22 +50,56 @@ |
| 49 | 50 | </div> |
| 50 | 51 | </nav> |
| 51 | 52 | <!-- ================================================================== --> |
| 52 | - <div class="container"> | |
| 53 | - <div class="bg-light p-3"> | |
| 53 | +<div class="container"> | |
| 54 | + <div class="card"> | |
| 55 | + <h5 class="card-header">{{ t['title'] }}</h5> | |
| 56 | + <div class="card-body"> | |
| 57 | + <div class="row"> | |
| 58 | + <label for="nome" class="col-3">Nome:</label> | |
| 59 | + <div class="col-9" id="nome">{{ escape(name) }}</div> | |
| 60 | + </div> | |
| 61 | + <div class="row"> | |
| 62 | + <label for="numero" class="col-3">Número:</label> | |
| 63 | + <div class="col-9" id="numero">{{ escape(uid) }}</div> | |
| 64 | + </div> | |
| 65 | + <div class="row"> | |
| 66 | + <label for="duracao" class="col-3">Duração:</label> | |
| 67 | + <div class="col-9" id="duracao">{{ str(t['duration'])+' minutos' if t['duration'] > 0 else 'sem limite de tempo' }}</div> | |
| 68 | + </div> | |
| 69 | + <div class="row"> | |
| 70 | + <label for="submissao" class="col-3">Submissão:</label> | |
| 71 | + <div class="col-9" id="submissao">{{ 'automática no fim do tempo' if t['autosubmit'] else 'manual' }}</div> | |
| 72 | + </div> | |
| 73 | + <div class="row"> | |
| 74 | + <label for="start_time" class="col-3">Início:</label> | |
| 75 | + <div class="col-9 font-monospace" id="start_time">{{ t['start_time'] }}</div> | |
| 76 | + </div> | |
| 77 | + <div class="row"> | |
| 78 | + <label for="finish_time" class="col-3">Fim:</label> | |
| 79 | + <div class="col-9 font-monospace" id="finish_time">{{ t['finish_time'] }}</div> | |
| 80 | + </div> | |
| 81 | + </div> | |
| 82 | + <div class="card-footer"> | |
| 54 | 83 | {% if t['state'] == 'CORRECTED' %} |
| 55 | - <h3>Nota: <strong>{{ f'{round(t["grade"], 3)}' }}</strong> valores</h3> | |
| 84 | + <div class="row"> | |
| 85 | + <label for="nota" class="col-3">Nota:</label> | |
| 86 | + <div class="col-9" id="nota"> | |
| 87 | + <strong>{{ f'{round(t["grade"], 3)}' }}</strong> valores | |
| 88 | + </div> | |
| 89 | + </div> | |
| 56 | 90 | {% elif t['state'] == 'SUBMITTED' %} |
| 57 | - <h3>A prova foi submetida com sucesso. Vai ser corrigida mais tarde.</h3> | |
| 91 | + A prova foi submetida com sucesso. Vai ser corrigida mais tarde. | |
| 58 | 92 | {% elif t['state'] == 'QUIT' %} |
| 59 | - <h3>Foi registada a sua desistência da prova.</h3> | |
| 93 | + Foi registada a sua desistência da prova. | |
| 60 | 94 | {% end %} |
| 61 | - | |
| 62 | - <p> | |
| 63 | - <a href="/logout" class="btn btn-primary btn-lg active" role="button"> | |
| 64 | - Sair | |
| 65 | - </a> | |
| 66 | - </p> | |
| 67 | - </div> <!-- panel --> | |
| 68 | - </div> <!-- container --> | |
| 95 | + </div> | |
| 96 | + </div> <!-- card --> | |
| 97 | + <div class="d-grid gap-2"> | |
| 98 | + <a href="/logout" class="btn btn-primary btn-lg active" role="button"> | |
| 99 | + Sair do teste | |
| 100 | + </a> | |
| 101 | + <!-- <button class="btn btn-primary" type="button">Button</button> --> | |
| 102 | + </div> | |
| 103 | +</div> <!-- container --> | |
| 69 | 104 | </body> |
| 70 | 105 | </html> | ... | ... |
perguntations/templates/question.html
| ... | ... | @@ -4,7 +4,7 @@ |
| 4 | 4 | <div class="card border-dark"> |
| 5 | 5 | <h5 class="card-header text-white bg-dark"> |
| 6 | 6 | {{ q['number'] }}. {{ q['title'] }} |
| 7 | - <div class="float-right"> | |
| 7 | + <div class="float-end"> | |
| 8 | 8 | <small>Classificar </small> |
| 9 | 9 | <input type="checkbox" class="question_disabler" data-size="mini" name="answered-{{i}}" id="answered-{{i}}" checked=""> |
| 10 | 10 | </div> |
| ... | ... | @@ -16,7 +16,7 @@ |
| 16 | 16 | |
| 17 | 17 | {% block answer %}{% end %} |
| 18 | 18 | |
| 19 | - <p class="text-right"> | |
| 19 | + <p class="text-end"> | |
| 20 | 20 | <small> |
| 21 | 21 | {% if q['type'] == 'radio' %} |
| 22 | 22 | (Cotação: {{ -round(q['points']/(len(q['options'])-1), 2) }} a {{ round(q['points'], 2) }} pontos) | ... | ... |
perguntations/templates/review-question-checkbox.html
| ... | ... | @@ -15,13 +15,13 @@ |
| 15 | 15 | {{ md(opt) }} |
| 16 | 16 | </div> |
| 17 | 17 | <div class="ms-auto p-2"> |
| 18 | - <div class="text-end"> | |
| 18 | + <h3> | |
| 19 | 19 | {% if q['correct'][n] > 0 %} |
| 20 | - <i class="bi bi-check-lg text-success"></i> | |
| 20 | + <i class="bi bi-check-lg text-success"></i> | |
| 21 | 21 | {% else %} |
| 22 | - <i class="bi bi-x-lg text-danger"></i> | |
| 22 | + <i class="bi bi-x-lg text-danger"></i> | |
| 23 | 23 | {% end %} |
| 24 | - </div> | |
| 24 | + </h3> | |
| 25 | 25 | </div> |
| 26 | 26 | |
| 27 | 27 | {% else %} |
| ... | ... | @@ -32,13 +32,13 @@ |
| 32 | 32 | {{ md(opt) }} |
| 33 | 33 | </div> |
| 34 | 34 | <div class="ms-auto p-2"> |
| 35 | - <div class="text-end"> | |
| 36 | - {% if q['correct'][n] > 0 %} | |
| 35 | + <h3> | |
| 36 | + {% if q['correct'][n] > 0 %} | |
| 37 | 37 | <i class="bi bi-x-lg text-danger"></i> |
| 38 | - {% else %} | |
| 38 | + {% else %} | |
| 39 | 39 | <i class="bi bi-check-lg text-success"></i> |
| 40 | - {% end %} | |
| 41 | - </div> | |
| 40 | + {% end %} | |
| 41 | + </h3> | |
| 42 | 42 | </div> |
| 43 | 43 | {% end %} |
| 44 | 44 | </div> | ... | ... |
perguntations/templates/review-question-radio.html
| ... | ... | @@ -9,17 +9,19 @@ |
| 9 | 9 | <div class="d-flex flex-row"> |
| 10 | 10 | {% if q['answer'] is not None and str(n)==q['answer'] %} |
| 11 | 11 | <div class="p-2"> |
| 12 | - <i class="bi bi-record-circle"></i> | |
| 12 | + <i class="bi bi-record-circle-fill"></i> | |
| 13 | 13 | </div> |
| 14 | 14 | <div class="p-2"> |
| 15 | 15 | {{ md(opt) }} |
| 16 | 16 | </div> |
| 17 | 17 | <div class="ms-auto p-2"> |
| 18 | + <h3> | |
| 18 | 19 | {% if q['correct'][n] > 0 %} |
| 19 | 20 | <i class="bi bi-check-lg text-success"></i> |
| 20 | 21 | {% else %} |
| 21 | 22 | <i class="bi bi-x-lg text-danger"></i> |
| 22 | 23 | {% end %} |
| 24 | + </h3> | |
| 23 | 25 | </div> |
| 24 | 26 | |
| 25 | 27 | {% else %} |
| ... | ... | @@ -31,7 +33,9 @@ |
| 31 | 33 | </div> |
| 32 | 34 | <div class="ms-auto p-2"> |
| 33 | 35 | {% if q['correct'][n] > 0 %} |
| 36 | + <h3> | |
| 34 | 37 | <i class="bi bi-arrow-left text-info"></i> |
| 38 | + </h3> | |
| 35 | 39 | {% end %} |
| 36 | 40 | </div> |
| 37 | 41 | {% end %} | ... | ... |
perguntations/templates/review-question.html
| ... | ... | @@ -3,12 +3,12 @@ |
| 3 | 3 | {% block question %} |
| 4 | 4 | {% if q['answer'] is not None %} |
| 5 | 5 | |
| 6 | - <div class="card border-dark mb-3"> | |
| 7 | - <h5 class="card-header text-white bg-dark"> | |
| 6 | + <div class="card border-dark"> | |
| 7 | + <h5 class="card-header text-light bg-dark"> | |
| 8 | 8 | {{ q['number'] }}. {{ q['title'] }} |
| 9 | 9 | <div class="float-end"> |
| 10 | - <small>Classificada </small> | |
| 11 | - <i class="bi bi-toggle2-on"></i> | |
| 10 | + <small>Classificar </small> | |
| 11 | + <i class="bi bi-check-square"></i> | |
| 12 | 12 | </div> |
| 13 | 13 | </h5> <!-- card-header --> |
| 14 | 14 | |
| ... | ... | @@ -19,7 +19,7 @@ |
| 19 | 19 | |
| 20 | 20 | {% block answer %}{% end %} |
| 21 | 21 | |
| 22 | - <p class="text-right"> | |
| 22 | + <p class="text-end"> | |
| 23 | 23 | <small> |
| 24 | 24 | {% if q['type'] == 'radio' %} |
| 25 | 25 | (Cotação: {{ -round(q['points']/(len(q['options'])-1), 2) }} a {{ round(q['points'], 2) }} pontos) |
| ... | ... | @@ -35,7 +35,7 @@ |
| 35 | 35 | {% if 'grade' in q %} |
| 36 | 36 | <div class="card-footer"> |
| 37 | 37 | {% if q['grade'] > 0.999 %} |
| 38 | - <h1 class="text-success"><i class="bi bi-hand-thumbs-up"></i></h1> | |
| 38 | + <h1 class="text-success"><i class="bi bi-hand-thumbs-up-fill"></i></h1> | |
| 39 | 39 | <p class="text-success"> |
| 40 | 40 | {{ round(q['grade'] * q['points'], 2) }} pontos |
| 41 | 41 | </p> |
| ... | ... | @@ -73,12 +73,12 @@ |
| 73 | 73 | |
| 74 | 74 | {% else %} |
| 75 | 75 | |
| 76 | - <div class="card border-secondary mb-3"> | |
| 77 | - <h5 class="card-header text-white bg-secondary"> | |
| 76 | + <div class="card border-secondary"> | |
| 77 | + <h5 class="card-header text-secondary bg-light"> | |
| 78 | 78 | {{ q['number'] }}. {{ q['title'] }} |
| 79 | 79 | <div class="float-end"> |
| 80 | - <small>Não classificada</small> | |
| 81 | - <i class="bi bi-toggle2-off"></i> | |
| 80 | + <small>Classificar</small> | |
| 81 | + <i class="bi bi-square"></i> | |
| 82 | 82 | </div> |
| 83 | 83 | </h5> <!-- card-header --> |
| 84 | 84 | |
| ... | ... | @@ -89,14 +89,14 @@ |
| 89 | 89 | |
| 90 | 90 | {% block answer %}{% end %} |
| 91 | 91 | |
| 92 | - <p class="text-right"> | |
| 92 | + <p class="text-end"> | |
| 93 | 93 | <small> |
| 94 | 94 | (Cotação: {{ round(q['points'], 2) }}) |
| 95 | 95 | </small> |
| 96 | 96 | </p> |
| 97 | 97 | </div> <!-- card-body --> |
| 98 | 98 | |
| 99 | - <div class="card-footer"> | |
| 99 | + <div class="card-footer text-secondary"> | |
| 100 | 100 | {{ md(q['comments']) }} |
| 101 | 101 | {% if q['solution'] %} |
| 102 | 102 | {{ md('**Solução:** \n\n' + q['solution']) }} | ... | ... |
perguntations/templates/review.html
| 1 | 1 | <!DOCTYPE html> |
| 2 | 2 | <html lang="pt-PT"> |
| 3 | 3 | <head> |
| 4 | - <title>Teste</title> | |
| 5 | - <meta charset="UTF-8"> | |
| 6 | - <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | |
| 7 | - <link rel="icon" type="image/x-icon" href="/static/favicon.ico"> | |
| 4 | + <title>Revisão de prova</title> | |
| 5 | + <meta charset="utf-8"> | |
| 6 | + <meta name="viewport" content="width=device-width, initial-scale=1"> | |
| 7 | + <link rel="icon" href="/static/favicon.ico"> | |
| 8 | + | |
| 9 | +<!-- Styles --> | |
| 10 | + <link rel="stylesheet" type="text/css" href="/static/bootstrap/css/bootstrap.min.css"> | |
| 11 | + <link rel="stylesheet" type="text/css" href="/static/bootstrap-icons/font/bootstrap-icons.css"> | |
| 12 | + <link rel="stylesheet" type="text/css" href="/static/css/github.css"> <!-- syntax highlight --> | |
| 13 | + <link rel="stylesheet" type="text/css" href="/static/css/test.css"> | |
| 14 | + | |
| 8 | 15 | <!-- MathJax3 --> |
| 9 | 16 | <script> |
| 10 | 17 | MathJax = { |
| ... | ... | @@ -16,15 +23,7 @@ |
| 16 | 23 | } |
| 17 | 24 | }; |
| 18 | 25 | </script> |
| 19 | - <script type="text/javascript" id="MathJax-script" async | |
| 20 | - src="/static/mathjax/es5/tex-svg.js"> | |
| 21 | - </script> | |
| 22 | - | |
| 23 | -<!-- Styles --> | |
| 24 | - <link rel="stylesheet" type="text/css" href="/static/bootstrap/css/bootstrap.min.css"> | |
| 25 | - <link rel="stylesheet" type="text/css" href="/static/bootstrap-icons/font/bootstrap-icons.css"> | |
| 26 | - <link rel="stylesheet" type="text/css" href="/static/css/github.css"> <!-- syntax highlight --> | |
| 27 | - <link rel="stylesheet" type="text/css" href="/static/css/test.css"> | |
| 26 | + <script async type="text/javascript" id="MathJax-script" src="/static/mathjax/es5/tex-svg.js"></script> | |
| 28 | 27 | |
| 29 | 28 | <!-- Scripts --> |
| 30 | 29 | <script src="/static/jquery/jquery.min.js"></script> |
| ... | ... | @@ -56,6 +55,7 @@ |
| 56 | 55 | <ul class="nav navbar-nav"> |
| 57 | 56 | <li class="nav-item"> |
| 58 | 57 | <span class="navbar-text"> |
| 58 | + <i class="bi bi-person-fill"></i> | |
| 59 | 59 | <span id="name">{{ escape(name) }}</span> |
| 60 | 60 | (<span id="number">{{ escape(uid) }}</span>) |
| 61 | 61 | </span> |
| ... | ... | @@ -67,50 +67,53 @@ |
| 67 | 67 | |
| 68 | 68 | <!-- ===================================================================== --> |
| 69 | 69 | <div class="container"> |
| 70 | - <div class="bg-light p-3"> | |
| 71 | - <h1 class="display-5">{{ t['title'] }}</h1> | |
| 72 | - <hr> | |
| 73 | - <div class="row"> | |
| 74 | - <label for="nome" class="col-sm-2">Nome:</label> | |
| 75 | - <div class="col-sm-9" id="nome">{{ escape(name) }}</div> | |
| 76 | - </div> | |
| 77 | - <div class="row"> | |
| 78 | - <label for="numero" class="col-sm-2">Número:</label> | |
| 79 | - <div class="col-sm-9" id="numero">{{ escape(uid) }}</div> | |
| 80 | - </div> | |
| 81 | - <div class="row"> | |
| 82 | - <label for="duracao" class="col-sm-2">Duração:</label> | |
| 83 | - <div class="col-sm-10" id="duracao"> | |
| 84 | - {{ str(t.get('duration', 0)) + ' minutos' if t.get('duration', 0) > 0 else '+'+chr(8734) }} | |
| 70 | + <div class="card"> | |
| 71 | + <h5 class="card-header">{{ t['title'] }}</h5> | |
| 72 | + <div class="card-body"> | |
| 73 | + <div class="row"> | |
| 74 | + <label for="nome" class="col-3">Nome:</label> | |
| 75 | + <div class="col-9" id="nome">{{ escape(name) }}</div> | |
| 85 | 76 | </div> |
| 86 | - </div> | |
| 87 | - <div class="row"> | |
| 88 | - <label for="inicio" class="col-sm-2">Início:</label> | |
| 89 | - <div class="col-sm-10" id="inicio">{{t['start_time'][:19]}}</div> | |
| 90 | - </div> | |
| 91 | - <div class="row"> | |
| 92 | - <label for="fim" class="col-sm-2">Fim:</label> | |
| 93 | - <div class="col-sm-10" id="fim">{{t['finish_time'][:19]}}</div> | |
| 94 | - </div> | |
| 95 | - <div class="row"> | |
| 96 | - <label for="nota" class="col-sm-2">Nota:</label> | |
| 97 | - <div class="col-sm-10" id="nota"> | |
| 98 | - {% if t['state'] == 'CORRECTED' %} | |
| 99 | - <strong>{{ round(t['grade'], 2) }}</strong> valores | |
| 100 | - {% elif t['state'] == 'SUBMITTED' %} | |
| 101 | - (não corrigido) | |
| 102 | - {% elif t['state'] == 'QUIT' %} | |
| 103 | - (DESISTIU) | |
| 104 | - {% end %} | |
| 77 | + <div class="row"> | |
| 78 | + <label for="numero" class="col-3">Número:</label> | |
| 79 | + <div class="col-9" id="numero">{{ escape(uid) }}</div> | |
| 105 | 80 | </div> |
| 106 | - </div> | |
| 107 | - {% if t['comment'] != '' %} | |
| 108 | 81 | <div class="row"> |
| 109 | - <label for="comentario" class="col-sm-2">Comentário:</label> | |
| 110 | - <div class="col-sm-10" id="comentario">{{ t['comment'] }}</div> | |
| 82 | + <label for="duracao" class="col-3">Duração:</label> | |
| 83 | + <div class="col-9" id="duracao"> | |
| 84 | + {{ str(t.get('duration', 0)) + ' minutos' if t.get('duration', 0) > 0 else 'sem limite' }} | |
| 85 | + </div> | |
| 111 | 86 | </div> |
| 112 | - {% end %} | |
| 113 | - </div> | |
| 87 | + <div class="row"> | |
| 88 | + <label for="inicio" class="col-3">Início:</label> | |
| 89 | + <div class="col-9" id="inicio">{{t['start_time'][:19]}}</div> | |
| 90 | + </div> | |
| 91 | + <div class="row"> | |
| 92 | + <label for="fim" class="col-3">Fim:</label> | |
| 93 | + <div class="col-9" id="fim">{{t['finish_time'][:19]}}</div> | |
| 94 | + </div> | |
| 95 | + </div> <!-- card-body --> | |
| 96 | + <div class="card-footer"> | |
| 97 | + <div class="row"> | |
| 98 | + <label for="nota" class="col-3">Nota:</label> | |
| 99 | + <div class="col-9" id="nota"> | |
| 100 | + {% if t['state'] == 'CORRECTED' %} | |
| 101 | + <strong>{{ round(t['grade'], 2) }}</strong> valores | |
| 102 | + {% elif t['state'] == 'SUBMITTED' %} | |
| 103 | + (não corrigido) | |
| 104 | + {% elif t['state'] == 'QUIT' %} | |
| 105 | + (DESISTIU) | |
| 106 | + {% end %} | |
| 107 | + </div> | |
| 108 | + </div> | |
| 109 | + {% if t['comment'] != '' %} | |
| 110 | + <div class="row"> | |
| 111 | + <label for="comentario" class="col-3">Comentário:</label> | |
| 112 | + <div class="col-9" id="comentario">{{ t['comment'] }}</div> | |
| 113 | + </div> | |
| 114 | + {% end %} | |
| 115 | + </div> <!-- card-footer --> | |
| 116 | + </div> <!-- card --> | |
| 114 | 117 | |
| 115 | 118 | {% for i, q in enumerate(t['questions']) %} |
| 116 | 119 | {% module Template(templ[q['type']], i=i, q=q, md=md(q['ref']), t=t, debug=debug) %} | ... | ... |
perguntations/templates/test.html
| ... | ... | @@ -8,6 +8,7 @@ |
| 8 | 8 | |
| 9 | 9 | <!-- Styles --> |
| 10 | 10 | <link rel="stylesheet" type="text/css" href="/static/bootstrap/css/bootstrap.min.css"> |
| 11 | + <link rel="stylesheet" type="text/css" href="/static/bootstrap-icons/font/bootstrap-icons.css"> | |
| 11 | 12 | <link rel="stylesheet" type="text/css" href="/static/codemirror/lib/codemirror.css"> |
| 12 | 13 | <link rel="stylesheet" type="text/css" href="/static/codemirror/theme/darcula.css"> |
| 13 | 14 | <link rel="stylesheet" type="text/css" href="/static/css/github.css"> <!-- syntax highlight --> |
| ... | ... | @@ -61,16 +62,15 @@ |
| 61 | 62 | </ul> |
| 62 | 63 | |
| 63 | 64 | <ul class="nav navbar-nav mx-auto"> |
| 64 | - <li class="nav-item"><h5> | |
| 65 | - <span class="navbar-text" id="clock"> --:-- </span> | |
| 66 | - </h5> | |
| 67 | - | |
| 65 | + <li class="nav-item"> | |
| 66 | + <h5> <span class="navbar-text" id="clock"> --:-- </span> </h5> | |
| 68 | 67 | </li> |
| 69 | 68 | </ul> |
| 70 | 69 | |
| 71 | 70 | <ul class="nav navbar-nav"> |
| 72 | 71 | <li class="nav-item"> |
| 73 | 72 | <span class="navbar-text"> |
| 73 | + <i class="bi bi-person-fill"></i> | |
| 74 | 74 | <span id="name">{{ escape(name) }}</span> |
| 75 | 75 | (<span id="number">{{ escape(uid) }}</span>) |
| 76 | 76 | </span> |
| ... | ... | @@ -82,25 +82,25 @@ |
| 82 | 82 | |
| 83 | 83 | <!-- ===================================================================== --> |
| 84 | 84 | <div class="container"> |
| 85 | - | |
| 86 | - <div class="bg-light p-3"> | |
| 87 | - <h3 class="display-5">{{ t['title'] }}</h3> | |
| 88 | - <hr> | |
| 89 | - <div class="row"> | |
| 90 | - <label for="nome" class="col-sm-3">Nome:</label> | |
| 91 | - <div class="col-sm-9" id="nome">{{ escape(name) }}</div> | |
| 92 | - </div> | |
| 93 | - <div class="row"> | |
| 94 | - <label for="numero" class="col-sm-3">Número:</label> | |
| 95 | - <div class="col-sm-9" id="numero">{{ escape(uid) }}</div> | |
| 96 | - </div> | |
| 97 | - <div class="row"> | |
| 98 | - <label for="duracao" class="col-sm-3">Duração:</label> | |
| 99 | - <div class="col-sm-9" id="duracao">{{ str(t['duration'])+' minutos' if t['duration'] > 0 else 'sem limite de tempo' }}</div> | |
| 100 | - </div> | |
| 101 | - <div class="row"> | |
| 102 | - <label for="submissao" class="col-sm-3">Submissão:</label> | |
| 103 | - <div class="col-sm-9" id="submissao">{{ 'automática no fim do tempo' if t['autosubmit'] else 'manual' }}</div> | |
| 85 | + <div class="card"> | |
| 86 | + <h5 class="card-header">{{ t['title'] }}</h5> | |
| 87 | + <div class="card-body"> | |
| 88 | + <div class="row"> | |
| 89 | + <label for="nome" class="col-3">Nome:</label> | |
| 90 | + <div class="col-9" id="nome">{{ escape(name) }}</div> | |
| 91 | + </div> | |
| 92 | + <div class="row"> | |
| 93 | + <label for="numero" class="col-3">Número:</label> | |
| 94 | + <div class="col-9" id="numero">{{ escape(uid) }}</div> | |
| 95 | + </div> | |
| 96 | + <div class="row"> | |
| 97 | + <label for="duracao" class="col-3">Duração:</label> | |
| 98 | + <div class="col-9" id="duracao">{{ str(t['duration'])+' minutos' if t['duration'] > 0 else 'sem limite' }}</div> | |
| 99 | + </div> | |
| 100 | + <div class="row"> | |
| 101 | + <label for="submissao" class="col-3">Submissão:</label> | |
| 102 | + <div class="col-9" id="submissao">{{ 'automática no fim do tempo' if t['autosubmit'] else 'manual' }}</div> | |
| 103 | + </div> | |
| 104 | 104 | </div> |
| 105 | 105 | </div> |
| 106 | 106 | |
| ... | ... | @@ -111,12 +111,10 @@ |
| 111 | 111 | {% module Template(templ[q['type']], i=i, q=q, md=md(q['ref']), debug=debug) %} |
| 112 | 112 | {% end %} |
| 113 | 113 | |
| 114 | - <div class="form-row"> | |
| 115 | - <div class="col-12"> | |
| 116 | - <button type="button" class="btn btn-success btn-lg btn-block" data-bs-toggle="modal" data-bs-target="#confirmar" id="form-button-submit"> | |
| 117 | - Submeter teste | |
| 118 | - </button> | |
| 119 | - </div> | |
| 114 | + <div class="d-grid gap-2"> | |
| 115 | + <button type="button" class="btn btn-success btn-lg btn-block" data-bs-toggle="modal" data-bs-target="#confirmar" id="form-button-submit"> | |
| 116 | + Submeter teste | |
| 117 | + </button> | |
| 120 | 118 | </div> |
| 121 | 119 | </form> |
| 122 | 120 | <hr> | ... | ... |