From 4fedc8f69efb57284ed61154e50267a008b13969 Mon Sep 17 00:00:00 2001 From: Kevin Chung Date: Sat, 10 Jun 2017 00:11:27 -0400 Subject: [PATCH] Design improvements (#276) * Fixes #269 * Adding tooltips to some admin content * Switching from spaces to tabs in HTML files * A variety of aesthetic improvements --- CTFd/static/admin/css/style.css | 4 + CTFd/static/admin/js/main.js | 3 + .../standard/standard-challenge-create.hbs | 30 +- .../standard/standard-challenge-create.js | 6 +- .../standard/standard-challenge-update.hbs | 18 +- .../standard/standard-challenge-update.js | 3 + CTFd/static/original/css/style.css | 4 + CTFd/templates/admin/base.html | 145 +-- CTFd/templates/admin/chals.html | 70 +- CTFd/templates/admin/chals/create.html | 100 +- CTFd/templates/admin/config.html | 1124 ++++++++--------- CTFd/templates/admin/containers.html | 246 ++-- CTFd/templates/admin/correct_keys.html | 184 +-- CTFd/templates/admin/editor.html | 478 +++---- CTFd/templates/admin/graphs.html | 304 ++--- CTFd/templates/admin/page.html | 134 +- CTFd/templates/admin/pages.html | 184 +-- CTFd/templates/admin/scoreboard.html | 68 +- CTFd/templates/admin/statistics.html | 24 +- CTFd/templates/admin/team.html | 608 ++++----- CTFd/templates/admin/teams.html | 505 ++++---- CTFd/templates/original/base.html | 138 +- CTFd/templates/original/chals.html | 176 +-- CTFd/templates/original/confirm.html | 72 +- CTFd/templates/original/errors/403.html | 6 +- CTFd/templates/original/errors/404.html | 6 +- CTFd/templates/original/errors/500.html | 4 +- CTFd/templates/original/errors/502.html | 4 +- CTFd/templates/original/login.html | 112 +- CTFd/templates/original/page.html | 6 +- CTFd/templates/original/profile.html | 250 ++-- CTFd/templates/original/register.html | 104 +- CTFd/templates/original/reset_password.html | 90 +- CTFd/templates/original/scoreboard.html | 84 +- CTFd/templates/original/setup.html | 94 +- CTFd/templates/original/team.html | 162 +-- CTFd/templates/original/teams.html | 88 +- 37 files changed, 2843 insertions(+), 2795 deletions(-) create mode 100644 CTFd/static/admin/js/main.js diff --git a/CTFd/static/admin/css/style.css b/CTFd/static/admin/css/style.css index 77a08c21..254985ca 100644 --- a/CTFd/static/admin/css/style.css +++ b/CTFd/static/admin/css/style.css @@ -494,3 +494,7 @@ table{ margin: 0; width: 100%; } + +.gray-text{ + color: lightgray; +} diff --git a/CTFd/static/admin/js/main.js b/CTFd/static/admin/js/main.js new file mode 100644 index 00000000..4f904029 --- /dev/null +++ b/CTFd/static/admin/js/main.js @@ -0,0 +1,3 @@ +$(document).ready(function(){ + $('[data-toggle="tooltip"]').tooltip(); +}); diff --git a/CTFd/static/admin/js/templates/challenges/standard/standard-challenge-create.hbs b/CTFd/static/admin/js/templates/challenges/standard/standard-challenge-create.hbs index 0177eaaf..2a008939 100644 --- a/CTFd/static/admin/js/templates/challenges/standard/standard-challenge-create.hbs +++ b/CTFd/static/admin/js/templates/challenges/standard/standard-challenge-create.hbs @@ -1,11 +1,15 @@
- +
- +
@@ -16,22 +20,28 @@
- +
-
+
- +
- +
@@ -74,7 +84,9 @@
@@ -82,7 +94,9 @@
- + Attach multiple files using Control+Click or Cmd+Click.
diff --git a/CTFd/static/admin/js/templates/challenges/standard/standard-challenge-create.js b/CTFd/static/admin/js/templates/challenges/standard/standard-challenge-create.js index dbd575c5..154f4d5c 100644 --- a/CTFd/static/admin/js/templates/challenges/standard/standard-challenge-create.js +++ b/CTFd/static/admin/js/templates/challenges/standard/standard-challenge-create.js @@ -16,4 +16,8 @@ $("#solve-attempts-checkbox").change(function() { $('#solve-attempts-input').hide(); $('#max_attempts').val(''); } -}); \ No newline at end of file +}); + +$(document).ready(function(){ + $('[data-toggle="tooltip"]').tooltip(); +}); diff --git a/CTFd/static/admin/js/templates/challenges/standard/standard-challenge-update.hbs b/CTFd/static/admin/js/templates/challenges/standard/standard-challenge-update.hbs index d4c87508..fc10fe5c 100644 --- a/CTFd/static/admin/js/templates/challenges/standard/standard-challenge-update.hbs +++ b/CTFd/static/admin/js/templates/challenges/standard/standard-challenge-update.hbs @@ -10,11 +10,15 @@
- +
- +
@@ -25,16 +29,20 @@
- +
-
+
- +
diff --git a/CTFd/static/admin/js/templates/challenges/standard/standard-challenge-update.js b/CTFd/static/admin/js/templates/challenges/standard/standard-challenge-update.js index ed634e42..0160ab9d 100644 --- a/CTFd/static/admin/js/templates/challenges/standard/standard-challenge-update.js +++ b/CTFd/static/admin/js/templates/challenges/standard/standard-challenge-update.js @@ -388,3 +388,6 @@ function openchal(id){ loadfiles(id); } +$(document).ready(function(){ + $('[data-toggle="tooltip"]').tooltip(); +}); diff --git a/CTFd/static/original/css/style.css b/CTFd/static/original/css/style.css index 63fdd47c..98238072 100644 --- a/CTFd/static/original/css/style.css +++ b/CTFd/static/original/css/style.css @@ -18,6 +18,10 @@ a { outline: 0; } +img { + max-width: 100%; +} + .body-container { min-height: 100%; position: relative; diff --git a/CTFd/templates/admin/base.html b/CTFd/templates/admin/base.html index 5a215ec9..543e7dbc 100644 --- a/CTFd/templates/admin/base.html +++ b/CTFd/templates/admin/base.html @@ -2,82 +2,83 @@ - Admin Panel - - - - - - - - - - - - - - - {% block stylesheets %} {% endblock %} + Admin Panel + + + + + + + + + + + + + + + {% block stylesheets %} {% endblock %} -
- +
+ -
- {% block content %} - {% endblock %} - -
-
- - - - {% block scripts %} {% endblock %} + +
+ + + + + {% block scripts %} {% endblock %} diff --git a/CTFd/templates/admin/chals.html b/CTFd/templates/admin/chals.html index 45408f1f..98063f40 100644 --- a/CTFd/templates/admin/chals.html +++ b/CTFd/templates/admin/chals.html @@ -11,46 +11,46 @@ {% endblock %} {% block content %} - + - + - + -
-
+
+
-
+
+
+

Challenges

+ New Challenge +
+ +
+
+
{% endblock %} {% block scripts %} - - - + + + {% endblock %} diff --git a/CTFd/templates/admin/chals/create.html b/CTFd/templates/admin/chals/create.html index 3e1c4985..1f594514 100644 --- a/CTFd/templates/admin/chals/create.html +++ b/CTFd/templates/admin/chals/create.html @@ -12,61 +12,61 @@ {% block content %}
-

Create Challenge

-
-
-
- - -
-
-
-
-
-
-
-
+

Create Challenge

+
+
+
+ + +
+
+
+
+
+
+
+
{% endblock %} {% block scripts %} - - - + + + nonce = "{{ nonce }}"; + $.get(script_root + '/admin/chal_types', function(data){ + console.log(data); + $("#create-chals-select").empty(); + var chal_type_amt = Object.keys(data).length; + if (chal_type_amt > 1){ + var option = ""; + $("#create-chals-select").append(option); + for (var key in data){ + var option = "".format(key, data[key]); + $("#create-chals-select").append(option); + } + } else if (chal_type_amt == 1) { + var key = Object.keys(data)[0]; + $("#create-chals-select").parent().parent().parent().empty(); + load_chal_template(data[key]); + } + }); + $('#create-chals-select').change(function(){ + var chal_type_name = $(this).find("option:selected").text(); + load_chal_template(chal_type_name); + }); + {% endblock %} diff --git a/CTFd/templates/admin/config.html b/CTFd/templates/admin/config.html index 02884721..a4024798 100644 --- a/CTFd/templates/admin/config.html +++ b/CTFd/templates/admin/config.html @@ -2,630 +2,630 @@ {% block content %}
-
-

Config

- -
- -

- -
-
- {% for error in errors %} - - {% endfor %} - +
+

Config

+ +
+ +

+ +
+
+ {% for error in errors %} + + {% endfor %} + -
-
-
- - -
+
+
+
+ + +
-
- - -
+
+ + +
-
- -
-
-
-
- -
+
+ +
+
+
+
+ +
-
- -
+
+ +
-
- -
+
+ +
-
- -
+
+ +
-
- -
-
-
- +
+ +
+
+
+ -
- - -
+
+ + +
-
-
+
+
-
- - -
+
+ + +
-
- - -
-
- - -
-
- - -
-
- -
-
- -
-
-
+
+ + +
+
+ + +
+
+ + +
+
+ +
+
+ +
+
+
-
- - -
-
- - -
-
-
-
-
- +
+ + +
+
+ + +
+
+
+
+
+ -
-
-
-
- - -
+
+
+
+
+ + +
-
- - -
+
+ + +
-
- - -
+
+ + +
-
- - -
+
+ + +
-
- - -
+
+ + +
-
- - -
+
+ + +
-
- - -
+
+ + +
-
- - -
+
+ + +
-
- - -
-
-
-
-
-
- - -
+
+ + +
+
+
+
+
+
+ + +
-
- - -
+
+ + +
-
- - -
+
+ + +
-
- - -
+
+ + +
-
- - -
+
+ + +
-
- - -
+
+ + +
-
- - -
+
+ + +
-
- - -
+
+ + +
-
- - -
-
-
-
-
-
- - -
+
+ + +
+
+
+
+
+
+ + +
-
- - -
+
+ + +
-
- - -
+
+ + +
-
- - -
+
+ + +
-
- - -
+
+ + +
-
- - -
+
+ + +
-
- - -
+
+ + +
-
- - -
+
+ + +
-
- - -
-
-
-
+
+ + +
+
+
+
-
- -
-
+
+ +
+
-
- -
-
-
-
-
- -
-
- -
-
- -
-
- -
+
+ +
+
+
+
+
+ +
+
+ +
+
+ +
+
+ +
- Export -
-
-
-
-
-
-
- -
+ Export +
+
+
+
+
+
+
+ +
-
-
- -
-
- -
-
- -
-
- -
- -
-
-
-
-
-
-
- +
+
+ +
+
+ +
+
+ +
+
+ +
+ +
+
+
+
+
+
+
+
{% endblock %} {% block scripts %} - + var start = $('#start').val(); + var end = $('#end').val(); + var freeze = $('#freeze').val(); + console.log(start); + console.log(end); + if (start){ + load_timestamp('start', start); + } + if (end){ + load_timestamp('end', end); + } + if (freeze) { + load_timestamp('freeze', freeze); + } + }); + {% endblock %} diff --git a/CTFd/templates/admin/containers.html b/CTFd/templates/admin/containers.html index 604d0a43..82496aae 100644 --- a/CTFd/templates/admin/containers.html +++ b/CTFd/templates/admin/containers.html @@ -2,109 +2,109 @@ {% block content %}
-
-
-

Containers

- -
-
+
+
+

Containers

+ +
+
{% if containers %} - - - - - - - - - - - {% for c in containers %} - - - - - - - {% endfor %} - -
Status - Name - Ports - Settings -
{{ c.status }}{{ c.name }}{{ c.ports }} - - {% if c.status != 'running' %} - - {% else %} - - {% endif %} - - -
+ + + + + + + + + + + {% for c in containers %} + + + + + + + {% endfor %} + +
Status + Name + Ports + Settings +
{{ c.status }}{{ c.name }}{{ c.ports }} + + {% if c.status != 'running' %} + + {% else %} + + {% endif %} + + +
{% endif %}
{% endblock %} @@ -113,46 +113,50 @@ diff --git a/CTFd/templates/admin/correct_keys.html b/CTFd/templates/admin/correct_keys.html index f340496c..4f8c8c55 100644 --- a/CTFd/templates/admin/correct_keys.html +++ b/CTFd/templates/admin/correct_keys.html @@ -10,102 +10,102 @@ {% block content %}
-
-

Correct Key Submissions

- - - - - - - - - - - - - {% for solve in solves %} - - - - - - - {% endfor %} - -
Team - Challenge - Date - Key Submitted - Delete -
{{ solve.team_name }} - {{ solve.chal_name }}{{ solve.flag }}
- {% if pages > 1 %} -
Page -
- {% if curr_page != 1 %}<<<{% endif %} - {% for page in range(1, pages + 1) %} - {% if curr_page != page %} - {{ page }} - {% else %} - {{ page }} - {% endif %} - {% endfor %} - {% if curr_page != pages %}>>>{% endif %} - -
- {% endif %} +
+

Correct Key Submissions

+
+ + + + + + + + + + + + {% for solve in solves %} + + + + + + + {% endfor %} + +
Team + Challenge + Date + Key Submitted + Delete +
{{ solve.team_name }} + {{ solve.chal_name }}{{ solve.flag }}
+ {% if pages > 1 %} +
Page +
+ {% if curr_page != 1 %}<<<{% endif %} + {% for page in range(1, pages + 1) %} + {% if curr_page != page %} + {{ page }} + {% else %} + {{ page }} + {% endif %} + {% endfor %} + {% if curr_page != pages %}>>>{% endif %} + +
+ {% endif %}
{% endblock %} {% block scripts %} - - + + $('.fa-times').click(function(){ + var elem = $(this).parent().parent(); + var chal = elem.find('.chal').attr('id'); + var chal_name = elem.find('.chal').text().trim(); + var team = elem.find('.team').attr('id'); + var team_name = elem.find('.team').text().trim(); + var key_id = elem.find('.flag').attr('id'); + load_confirm_modal(key_id, team_name, chal_name) + }); + {% endblock %} diff --git a/CTFd/templates/admin/editor.html b/CTFd/templates/admin/editor.html index f1024916..f000bbc1 100644 --- a/CTFd/templates/admin/editor.html +++ b/CTFd/templates/admin/editor.html @@ -1,130 +1,130 @@ {% extends "admin/base.html" %} {% block stylesheets %} - - + + {% endblock %} {% block content %}
- +
+ {% for error in errors %} +
+
+ {{ error }} + × +
+
+ {% endfor %} +
-
-
-
-

Route:

-

This is the URL route that your page will be at (e.g. /page)

- - -
-
-
-
-
+ +
+
+

Route:

+

This is the URL route that your page will be at (e.g. /page)

+ + +
+
+
+
+
-

Content:

-

This is the HTML content of your page

+

Content:

+

This is the HTML content of your page

- + -
-
-
-
-
-
- -
-
-
-
+
+
+
+
+
+
+ +
+
+
+
-
-
-
-
-
-
-
- -
- +
+
+
+
+
+
+
+ +
+
{% endblock %} @@ -132,158 +132,158 @@ {% endblock %} diff --git a/CTFd/templates/admin/graphs.html b/CTFd/templates/admin/graphs.html index 70f42d57..91ecfd68 100644 --- a/CTFd/templates/admin/graphs.html +++ b/CTFd/templates/admin/graphs.html @@ -1,178 +1,178 @@ {% extends "admin/base.html" %} {% block content %} -
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
{% endblock %} {% block scripts %} - - - + + {% endblock %} diff --git a/CTFd/templates/admin/page.html b/CTFd/templates/admin/page.html index d22236eb..f763f731 100644 --- a/CTFd/templates/admin/page.html +++ b/CTFd/templates/admin/page.html @@ -2,78 +2,78 @@ - Admin Panel - - - - - - - - - - - - - - - {% block stylesheets %} {% endblock %} + Admin Panel + + + + + + + + + + + + + + + {% block stylesheets %} {% endblock %} -
- +
+ -
- {{ content | safe }} -
+
+ {{ content | safe }} +
- - - - {% block scripts %} {% endblock %} + + + + {% block scripts %} {% endblock %} diff --git a/CTFd/templates/admin/pages.html b/CTFd/templates/admin/pages.html index 846385d5..7c3746da 100644 --- a/CTFd/templates/admin/pages.html +++ b/CTFd/templates/admin/pages.html @@ -1,79 +1,79 @@ {% extends "admin/base.html" %} {% block stylesheets %} - - + + {% endblock %} {% block content %}
-
- +
+ -
-

Pages

- - - - - - - - - {% for route in routes %} - - - - - {% endfor %} - -
RouteSettings
{{ route.route }}
+
+

Pages

+ + + + + + + + + {% for route in routes %} + + + + + {% endfor %} + +
RouteSettings
{{ route.route }}
- - - -
+ + + +
-
-

CSS editor

-
- - -
-
+
+

CSS editor

+
+ + +
+
{% endblock %} @@ -81,44 +81,44 @@ diff --git a/CTFd/templates/admin/scoreboard.html b/CTFd/templates/admin/scoreboard.html index cdc581e3..baa253c8 100644 --- a/CTFd/templates/admin/scoreboard.html +++ b/CTFd/templates/admin/scoreboard.html @@ -2,40 +2,40 @@ {% block content %}
-
-

Scoreboard

- - - - - - - - - - - {% for team in teams %} - - - - - - - {% endfor %} - -
PlaceTeamScoreStatus
{{ loop.index }}{{ team.name }}{{ team.score }} - {% if not team.banned %} -
- Ban - -
- {%else %} -
- Unban - -
- {% endif %} -
+
+

Scoreboard

+ + + + + + + + + + + {% for team in teams %} + + + + + + + {% endfor %} + +
PlaceTeamScoreStatus
{{ loop.index }}{{ team.name }}{{ team.score }} + {% if not team.banned %} +
+ Hide + +
+ {%else %} +
+ Unhide + +
+ {% endif %} +
{% endblock %} diff --git a/CTFd/templates/admin/statistics.html b/CTFd/templates/admin/statistics.html index ffcc666e..fa128358 100644 --- a/CTFd/templates/admin/statistics.html +++ b/CTFd/templates/admin/statistics.html @@ -3,19 +3,19 @@ {% block content %}
-
-

Statistics

+
+

Statistics

-

{{ team_count }} teams registered

-

{{ wrong_count }} wrong keys submitted

-

{{ solve_count }} right keys submitted

-

{{ challenge_count }} challenges

- {% if most_solved %} -

Most solved: {{ most_solved }} with {{ solve_data[most_solved] }} solves

- {% endif %} - {% if least_solved %} -

Least solved: {{ least_solved }} with {{ solve_data[least_solved] }} solves

- {% endif %} +

{{ team_count }} teams registered

+

{{ wrong_count }} wrong keys submitted

+

{{ solve_count }} right keys submitted

+

{{ challenge_count }} challenges

+ {% if most_solved %} +

Most solved: {{ most_solved }} with {{ solve_data[most_solved] }} solves

+ {% endif %} + {% if least_solved %} +

Least solved: {{ least_solved }} with {{ solve_data[least_solved] }} solves

+ {% endif %}
diff --git a/CTFd/templates/admin/team.html b/CTFd/templates/admin/team.html index c8dc41d3..31b1401a 100644 --- a/CTFd/templates/admin/team.html +++ b/CTFd/templates/admin/team.html @@ -2,355 +2,355 @@ {% block stylesheets %} {% endblock %} {% block content %}
- + -

{{ team.name }}

-

{{ team.email }}

-

- {%if place %} - {{ place }} place - {% endif %} -

-

- {%if score %} - {{ score }} points - {% endif %} -

+

{{ team.name }}

+

{{ team.email }}

+

+ {%if place %} + {{ place }} place + {% endif %} +

+

+ {%if score %} + {{ score }} points + {% endif %} +

-
-
-
+
+
+
- -

IP Addresses

- - - - - - - - {% for addr in addrs %} - - - - - {% endfor %} - -
IP AddressLast Seen
{{ addr[0]|long2ip }}
+ +

IP Addresses

+ + + + + + + + {% for addr in addrs %} + + + + + {% endfor %} + +
IP AddressLast Seen
{{ addr[0]|long2ip }}
- -

Awards

- - - - - - - - - - - - - {% for award in awards %} - - - - - - - +
NameDescriptionDateValueCategoryIconDelete
{{ award.name }}{{ award.description }}{{ award.value }}{{ award.category }}{{ award.icon }}
+

Awards

+ + + + + + + + + + + + + {% for award in awards %} + + + + + + + - - - {% endfor %} - -
NameDescriptionDateValueCategoryIconDelete
{{ award.name }}{{ award.description }}{{ award.value }}{{ award.category }}{{ award.icon }}
+ + + {% endfor %} + + -
- -
+
+ +
- -

Solves

- - - - - - - - - - - - {% for solve in solves %} - - - - - - - - - {% endfor %} - -
ChallengeSubmittedCategoryValueTimeDelete
{{ solve.chal.name }}{{ solve.flag }}{{ solve.chal.category }}{{ solve.chal.value }}
+ +

Solves

+ + + + + + + + + + + + {% for solve in solves %} + + + + + + + + + {% endfor %} + +
ChallengeSubmittedCategoryValueTimeDelete
{{ solve.chal.name }}{{ solve.flag }}{{ solve.chal.category }}{{ solve.chal.value }}
- -

Missing

- - - - - - - - - - {% for chal in missing %} - - - - - - - {% endfor %} - -
ChallengeCategoryValueMark Solved
{{ chal.name }}{{ chal.category }}{{ chal.value }}
+ +

Missing

+ + + + + + + + + + {% for chal in missing %} + + + + + + + {% endfor %} + +
ChallengeCategoryValueMark Solved
{{ chal.name }}{{ chal.category }}{{ chal.value }}
- -

Wrong Keys

- - - - - - - - - - {% for wrong_key in wrong_keys %} - - - - - - - {% endfor %} - -
ChallengeSubmittedTimeDelete
{{ wrong_key.chal.name }}{{ wrong_key.flag }}
+ +

Wrong Keys

+ + + + + + + + + + {% for wrong_key in wrong_keys %} + + + + + + + {% endfor %} + +
ChallengeSubmittedTimeDelete
{{ wrong_key.chal.name }}{{ wrong_key.flag }}
{% endblock %} {% block scripts %} - - - - - + + + + + {% endblock %} diff --git a/CTFd/templates/admin/teams.html b/CTFd/templates/admin/teams.html index 623f9416..7fc2f713 100644 --- a/CTFd/templates/admin/teams.html +++ b/CTFd/templates/admin/teams.html @@ -10,299 +10,302 @@ input[type="checkbox"] { margin: 0px !important; position: relative; top: 5px; } {% block content %}
-
-

Teams

- - - + + + + + + + + + + + + + + + + {% for team in teams %} + + + + + + + + + + + + {% endfor %} + +
ID + Team + Email + Website + Affiliation + Country + Admin + Verified + Settings +
{{ team.id }}{{ team.name | truncate(32) }} + {% if team.website and (team.website.startswith('http://') or team.website.startswith('https://')) %}{{ team.website | truncate(32) }}{% endif %} + {% if team.affiliation %}{{ team.affiliation | truncate(20) }}{% endif %} + {% if team.country %}{{ team.country }}{% endif %} + +
+ +
+
+
+ +
+
+ + {% if can_send_mail() %}{% endif %} + + +
+ {% if pages > 1 %} +
Page +
+ {% if curr_page != 1 %}<<<{% endif %} + {% for page in range(1, pages + 1) %} + {% if curr_page != page %} + {{ page }} + {% else %} + {{ page }} + {% endif %} + {% endfor %} + {% if curr_page != pages %}>>>{% endif %} +
+ {% endif %}
{% endblock %} {% block scripts %} {% endblock %} diff --git a/CTFd/templates/original/base.html b/CTFd/templates/original/base.html index f6aaf799..0a27986c 100644 --- a/CTFd/templates/original/base.html +++ b/CTFd/templates/original/base.html @@ -1,78 +1,78 @@ - {{ ctf_name() }} - - - - - - - - - - - {% block stylesheets %}{% endblock %} - - - + {{ ctf_name() }} + + + + + + + + + + + {% block stylesheets %}{% endblock %} + + + -
- +
+ - {% block content %} - {% endblock %} + {% block content %} + {% endblock %} - -
- - - - {% block scripts %} - {% endblock %} + +
+ + + + {% block scripts %} + {% endblock %} diff --git a/CTFd/templates/original/chals.html b/CTFd/templates/original/chals.html index 9c1c14c0..917ad660 100644 --- a/CTFd/templates/original/chals.html +++ b/CTFd/templates/original/chals.html @@ -2,80 +2,80 @@ {% block stylesheets %} {% endblock %} @@ -83,37 +83,37 @@ {% if errors %}
-
+
{% for error in errors %} -

{{ error }}

+

{{ error }}

{% endfor %} -
+
{% else %}
-
-

Challenges

-
+
+

Challenges

+
-
-
+
+