Skip to content

Commit

Permalink
Show message on empty scoreboard (#74)
Browse files Browse the repository at this point in the history
* scoreboard.js: init data with right types

* _graphs.scss: do not define display as it is always overriden to flex

* Show message on empty scoreboard

* scoreboard.html: fix unclosed span element

* yarn build

* Use more generic empty language

---------

Co-authored-by: Kevin Chung <kchung@ctfd.io>
  • Loading branch information
erdnaxe and ColdHeat authored Mar 19, 2024
1 parent 9350bf6 commit ba1b29c
Show file tree
Hide file tree
Showing 7 changed files with 17 additions and 13 deletions.
8 changes: 5 additions & 3 deletions assets/js/scoreboard.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,18 +7,20 @@ window.Alpine = Alpine;
window.CTFd = CTFd;

Alpine.data("ScoreboardDetail", () => ({
data: null,
data: {},
show: true,

async init() {
this.data = await CTFd.pages.scoreboard.getScoreboardDetail(10);

let option = getOption(CTFd.config.userMode, this.data);
embed(this.$refs.scoregraph, option);
this.show = Object.keys(this.data).length > 0;
},
}));

Alpine.data("ScoreboardList", () => ({
standings: null,
standings: [],
brackets: [],
activeBracket: null,

Expand All @@ -28,7 +30,7 @@ Alpine.data("ScoreboardList", () => ({
});
const body = await response.json();
this.brackets = body["data"];
this.full_standings = this.standings = await CTFd.pages.scoreboard.getScoreboard();
this.standings = await CTFd.pages.scoreboard.getScoreboard();
},
}));

Expand Down
2 changes: 0 additions & 2 deletions assets/scss/includes/components/_graphs.scss
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@

#score-graph {
min-height: 400px;
display: block;
clear: both;
}

#solves-graph {
Expand Down

Large diffs are not rendered by default.

1 change: 0 additions & 1 deletion static/assets/scoreboard.eecf07d0.js

This file was deleted.

1 change: 1 addition & 0 deletions static/assets/scoreboard.ffe44295.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions static/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
]
},
"assets/js/scoreboard.js": {
"file": "assets/scoreboard.eecf07d0.js",
"file": "assets/scoreboard.ffe44295.js",
"src": "assets/js/scoreboard.js",
"isEntry": true,
"imports": [
Expand Down Expand Up @@ -140,7 +140,7 @@
]
},
"assets/scss/main.scss": {
"file": "assets/main.63991f7d.css",
"file": "assets/main.3095e2ea.css",
"src": "assets/scss/main.scss",
"isEntry": true
}
Expand Down
12 changes: 8 additions & 4 deletions templates/scoreboard.html
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,14 @@ <h1>
<div class="container">
{% include "components/errors.html" %}

<div id="score-graph" class="d-flex align-items-center" x-data="ScoreboardDetail" x-ref="scoregraph">
<div id="score-graph" class="align-items-center" :class="{'d-flex': show, 'd-none': !show}" x-data="ScoreboardDetail" x-ref="scoregraph">
<div class="col-md-12 text-center">
<i class="fas fa-circle-notch fa-spin fa-3x fa-fw spinner"></i>
</div>
</div>

<div id="scoreboard" class="row" x-data="ScoreboardList">
<template x-if="brackets.length">
<template x-if="brackets.length && standings.length">
<div class="col-md-12 py-3">
<nav class="nav nav-pills nav-fill">
<button :class="{'nav-link': true, 'active': !activeBracket}" @click="activeBracket=null">{% trans %}All{% endtrans %}</button>
Expand All @@ -29,7 +29,7 @@ <h1>
</div>
</template>

<div class="col-md-12">
<div class="col-md-12" x-show="standings.length">
<table class="table table-striped">
<thead>
<tr>
Expand All @@ -46,7 +46,7 @@ <h1>
<td>
<a :href="standing.account_url" x-text="standing.name"></a>
<template x-if="standing.bracket_name">
<span class="badge bg-secondary ms-2" x-text="standing.bracket_name">
<span class="badge bg-secondary ms-2" x-text="standing.bracket_name"></span>
</template>
</td>
<td x-text="standing.score"></td>
Expand All @@ -55,6 +55,10 @@ <h1>
</tbody>
</table>
</div>

<div class="col-md-12" x-show="! standings.length">
<h3 class="text-center text-muted">{% trans %}Scoreboard is empty{% endtrans %}</h3>
</div>
</div>
</div>
{% endblock %}
Expand Down

0 comments on commit ba1b29c

Please sign in to comment.