Compare commits

...

4 commits

Author SHA1 Message Date
76de321d41 templates: Don't show the tagging form if no tags
If there are no tags but the form is still shown, the admin
could ask to add an empty tag returning an error 422
unprocessable entity.
Remove if there are no tags available
2024-08-01 22:55:44 +01:00
4d5a423c78 template: Add anchor link to the editable truths
For some reason I did not add the anchor links to the editable truths
for the admin users.
Add them so that the admin can benefit as well.
2024-08-01 22:45:40 +01:00
322d37ce48 templates: Remove the extra / in the anchor link
Anchor links do not need an additional / to work : the # can be added directly
at the end of the previous URL.
Remove it from the existing anchor tags in the truths.
2024-08-01 22:43:25 +01:00
24ab2fc5f2 vote_chart: Remove hash part of the URL
Now that the truths have anchor links, a user could select one and send the link
directly to the truth, or refresh the page to there.
However, the local part of the URL would be used by the script to fetch the voting
data, which fail as it isn't expected by the server and is, anyway, malformed.

Remove the local hash from the URL before requesting the voting data.
2024-08-01 22:42:07 +01:00
6 changed files with 22 additions and 18 deletions

2
Cargo.lock generated
View file

@ -578,7 +578,7 @@ checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
[[package]]
name = "fabula_votes_server"
version = "1.4.0"
version = "1.4.1"
dependencies = [
"argon2",
"blake2",

View file

@ -3,7 +3,7 @@ name = "fabula_votes_server"
license = "MPL-2.0"
readme = "README.md"
authors = ["trotFunky"]
version = "1.4.0"
version = "1.4.1"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View file

@ -1,7 +1,9 @@
const limit_ratio = 1.3
const colors = ['#b6b8fc', '#b6f4fc', '#fcb6cc', '#e0fcb6', '#fcdcb6', '#b6fcc8', '#f0b6fc']
async function main() {
const vote_response = await fetch(document.URL+"/votes");
let current_url = new URL(document.URL)
current_url.hash = '' // Strip the local part of the URL, for example if we select a Truth
const vote_response = await fetch(current_url.toString()+"/votes");
if (!vote_response.ok) {
return;
}

View file

@ -21,7 +21,7 @@
{% for truth in truths %}
<div class="individual_truth">
<a href="/{{ truth.week }}/#{{ truth.number }}"><h3 id="{{ truth.number }}">Semaine {{ truth.week }} - Vérité {{ truth.number }}</h3></a>
<a href="/{{ truth.week }}#{{ truth.number }}"><h3 id="{{ truth.number }}">Semaine {{ truth.week }} - Vérité {{ truth.number }}</h3></a>
<p>{{ truth.rendered_text | safe }}</p>
</div>
{% endfor %}

View file

@ -1,5 +1,5 @@
<div class="individual_truth">
<h3>Vérité {{ truth.number }}</h3>
<a href="/{{ truth.week }}#{{ truth.number }}"><h3 id="{{ truth.number }}">Vérité {{ truth.number }}</h3></a>
<p>{{ truth.rendered_text | safe }}</p>
<div class="truth_tags">
{% for tag in truth.tags %}
@ -15,16 +15,18 @@
<form class="truth_edit_form" action="/{{ week_data.number }}/edit/{{ truth.number }}" method="POST">
{% include "weeks/truth_editor" %}
</form>
<form class="truth_edit_form" action="/{{ week_data.number }}/tag/{{ truth.id }}" method="post">
<label>Thème supplémentaire:
<select name="name">
{% for tag in tags %}
{% if not truth.tags is containing(tag) %}
<option value="{{ tag.name }}" style="background-color: {{ tag.color }}">{{ tag.name }}</option>
{% endif %}
{% endfor %}
</select>
</label>
<button>Ajouter un thème</button>
</form>
{% if tags | length > 0 and tags | length > truth.tags | length %}
<form class="truth_edit_form" action="/{{ week_data.number }}/tag/{{ truth.id }}" method="post">
<label>Thème supplémentaire:
<select name="name">
{% for tag in tags %}
{% if not truth.tags is containing(tag) %}
<option value="{{ tag.name }}" style="background-color: {{ tag.color }}">{{ tag.name }}</option>
{% endif %}
{% endfor %}
</select>
</label>
<button>Ajouter un thème</button>
</form>
{% endif %}
</div>

View file

@ -5,7 +5,7 @@
{%- endif -%}
<div class="individual_truth">
<a href="/{{ truth.week }}/#{{ truth.number }}"><h3 id="{{ truth.number }}">Vérité {{ truth.number }}</h3></a>
<a href="/{{ truth.week }}#{{ truth.number }}"><h3 id="{{ truth.number }}">Vérité {{ truth.number }}</h3></a>
<p>{{ truth.rendered_text | safe }}</p>
<hr>
<div class="truth_tags">