Languages list is now sorted.

This commit is contained in:
Greg Burri 2025-01-03 19:32:41 +01:00
parent b5919a43eb
commit 754d5ec9e3
4 changed files with 32 additions and 3 deletions

View file

@ -1,4 +1,4 @@
use std::time::Duration; use std::{sync::LazyLock, time::Duration};
pub const FILE_CONF: &str = "conf.ron"; pub const FILE_CONF: &str = "conf.ron";
pub const DB_DIRECTORY: &str = "data"; pub const DB_DIRECTORY: &str = "data";
@ -21,4 +21,8 @@ pub const REVERSE_PROXY_IP_HTTP_FIELD: &str = "x-real-ip"; // Set by the reverse
pub const MAX_DB_CONNECTION: u32 = 1; // To avoid database lock. pub const MAX_DB_CONNECTION: u32 = 1; // To avoid database lock.
pub const LANGUAGES: [(&str, &str); 2] = [("Français", "fr"), ("English", "en")]; pub static LANGUAGES: LazyLock<[(&str, &str); 2]> = LazyLock::new(|| {
let mut langs = [("Français", "fr"), ("English", "en")];
langs.sort();
langs
});

View file

@ -47,7 +47,7 @@ pub async fn edit_recipe(
user: Some(user), user: Some(user),
recipes, recipes,
recipe, recipe,
languages: consts::LANGUAGES, languages: *consts::LANGUAGES,
} }
.into_response()) .into_response())
} else { } else {

View file

@ -54,6 +54,26 @@
<option value="3" {%+ call is_difficulty(common::ron_api::Difficulty::Hard) %}>Hard</option> <option value="3" {%+ call is_difficulty(common::ron_api::Difficulty::Hard) %}>Hard</option>
</select> </select>
<!--
* Event on 'input':
* Trim left
* for all w in "<word> ":
* Call recipe/add_tags with all w
* Add all w to tag list (DOM)
* Event on 'click' on del tag button:
* Call recipe/rm_tags
* Remove the tag to the html list (DOM)
* 'enter' key to add the current tag
-->
<div id="widget-tags">
<label for="input-tags" >Tags</label>
<div class="tags"></div>
<input
id="input-tags"
type="text"
value="" />
</div>
<label for="select-language">Language</label> <label for="select-language">Language</label>
<select id="select-language"> <select id="select-language">
{% for lang in languages %} {% for lang in languages %}

View file

@ -162,6 +162,11 @@ pub fn recipe_edit(recipe_id: i64) -> Result<(), JsValue> {
.forget(); .forget();
} }
// Tags.
{
}
// Language. // Language.
{ {
let language: HtmlSelectElement = by_id("select-language"); let language: HtmlSelectElement = by_id("select-language");