From bdcca17a667c9fe00910f584b040b1cdc3af6f7c Mon Sep 17 00:00:00 2001 From: Florian Dieminger Date: Wed, 6 Nov 2024 18:45:08 +0100 Subject: [PATCH] fix(cssinfo): add warning on empty result --- crates/rari-doc/src/helpers/css_info.rs | 2 +- crates/rari-doc/src/templ/templs/cssinfo.rs | 16 ++++++++++++++-- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/crates/rari-doc/src/helpers/css_info.rs b/crates/rari-doc/src/helpers/css_info.rs index 81d7d815..37cfd792 100644 --- a/crates/rari-doc/src/helpers/css_info.rs +++ b/crates/rari-doc/src/helpers/css_info.rs @@ -281,7 +281,7 @@ fn add_additional_applies_to<'a>( )); } -fn get_css_l10n_for_locale(key: &str, locale: Locale) -> &str { +pub fn get_css_l10n_for_locale(key: &str, locale: Locale) -> &str { if let Some(data) = mdn_data_files().css_l10n.get(key) { let data = get_for_locale(locale, data); if !data.is_null() { diff --git a/crates/rari-doc/src/templ/templs/cssinfo.rs b/crates/rari-doc/src/templ/templs/cssinfo.rs index e5d777a4..8148be3e 100644 --- a/crates/rari-doc/src/templ/templs/cssinfo.rs +++ b/crates/rari-doc/src/templ/templs/cssinfo.rs @@ -1,10 +1,13 @@ use std::fmt::Write; use rari_templ_func::rari_f; +use rari_utils::concat_strs; use serde_json::Value; use crate::error::DocError; -use crate::helpers::css_info::{css_info_properties, mdn_data_files, write_computed_output}; +use crate::helpers::css_info::{ + css_info_properties, get_css_l10n_for_locale, mdn_data_files, write_computed_output, +}; #[rari_f] pub fn cssinfo() -> Result { @@ -27,10 +30,19 @@ pub fn cssinfo() -> Result { } else { data.css_properties.get(&name).unwrap_or(&Value::Null) }; + let props = css_info_properties(at_rule, env.locale, css_info_data)?; + + if props.is_empty() { + return Ok(concat_strs!( + "", + get_css_l10n_for_locale("missing", env.locale), + "" + )); + } let mut out = String::new(); out.push_str(r#""#); - for (name, label) in css_info_properties(at_rule, env.locale, css_info_data)? { + for (name, label) in props { write!(&mut out, r#""#)?;
{label}"#)?; write_computed_output(env, &mut out, env.locale, css_info_data, name, at_rule)?; write!(&mut out, r#"