use same width for all labels
This commit is contained in:
parent
75be5a3042
commit
85656a4cfc
3 changed files with 19 additions and 2 deletions
|
@ -3,7 +3,7 @@ use ramhorns::Content;
|
|||
|
||||
#[derive(Content, Debug, Clone)]
|
||||
pub struct Language {
|
||||
name: String,
|
||||
pub name: String,
|
||||
code: String,
|
||||
color: String,
|
||||
sort: u8,
|
||||
|
|
|
@ -18,13 +18,24 @@ pub async fn languages(config: web::Data<Config>) -> impl Responder {
|
|||
#[derive(Content, Debug)]
|
||||
struct LanguagesTemplate {
|
||||
langs: Vec<Language>,
|
||||
max_size: usize,
|
||||
}
|
||||
|
||||
#[once]
|
||||
fn build_languages(config: Config) -> String {
|
||||
let langs = get_langs();
|
||||
config.tmpl.render(
|
||||
"static/languages-defs.css",
|
||||
LanguagesTemplate { langs: get_langs() },
|
||||
LanguagesTemplate {
|
||||
langs: langs.clone(),
|
||||
max_size: langs.iter().fold(0, |acc, x| {
|
||||
if x.name.len() > acc {
|
||||
x.name.len()
|
||||
} else {
|
||||
acc
|
||||
}
|
||||
}) / 2,
|
||||
},
|
||||
InfosPage::default(),
|
||||
None,
|
||||
)
|
||||
|
|
|
@ -30,4 +30,10 @@ div.filters:not(:has(~ ul > li div p[data-lang="{{code}}"]))
|
|||
}
|
||||
{{/langs}}
|
||||
|
||||
/* Fixed size for all labels */
|
||||
div.filters label {
|
||||
display: inline-block;
|
||||
width: {{max_size}}em;
|
||||
}
|
||||
|
||||
{{/data}}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue