From 352454789f1bb4ad8b25bad3e2bc37d61243fa48 Mon Sep 17 00:00:00 2001 From: Manuel Cillero Date: Sun, 5 Jan 2025 23:42:40 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=A7=20[website]=20Sitio=20en=20espa?= =?UTF-8?q?=C3=B1ol=20por=20defecto?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- website/config/default.toml | 1 + website/src/main.rs | 117 +++++++++++++++--------------------- 2 files changed, 49 insertions(+), 69 deletions(-) diff --git a/website/config/default.toml b/website/config/default.toml index c9f5c5cd..5087b350 100644 --- a/website/config/default.toml +++ b/website/config/default.toml @@ -2,6 +2,7 @@ name = "PageTop" description = "An opinionated web framework to build modular Server-Side Rendering web solutions." theme = "Bootsier" +language = "es" [bootsier] max_width = "1520px" diff --git a/website/src/main.rs b/website/src/main.rs index 3a2bf096..a58a3a2b 100644 --- a/website/src/main.rs +++ b/website/src/main.rs @@ -27,20 +27,20 @@ impl PackageTrait for PageTopWebSite { } fn init(&self) { - let nav = Navbar::new().with_nav(TypedOp::Add(Typed::with( + let nav = Navbar::with_nav( navbar::Nav::new() .with_item(navbar::Item::link( L10n::t("menu_home", &LOCALES_WEBSITE), |cx| match cx.langid().language.as_str() { - "es" => "/es", + "en" => "/en", _ => "/", }, )) .with_item(navbar::Item::link( L10n::t("menu_documentation", &LOCALES_WEBSITE), |cx| match cx.langid().language.as_str() { - "es" => "/doc/latest/es", - _ => "/doc/latest/en", + "en" => "/doc/latest/en", + _ => "/doc/latest/es", }, )) .with_item(navbar::Item::link_blank( @@ -50,74 +50,53 @@ impl PackageTrait for PageTopWebSite { .with_item(navbar::Item::link_blank( L10n::t("menu_code", &LOCALES_WEBSITE), |_| "https://github.com/manuelcillero/pagetop", - )), - ))); + )), /* + .with_item(navbar::Item::html(Html::with(html! { + select id="select-lang" { + option value="en" { "EN" } + option value="es" { "ES" } + } + script { + r###" + var selectLang=document.getElementById('select-lang'); + selectLang.value=document.documentElement.lang; + selectLang.addEventListener('change',function(){window.location.href='/'+selectLang.value;}); + "### + } + })) */ + ) + .with_id("main-menu") + .with_expand(BreakPoint::LG); InRegion::Content.add(Child::with(nav)); /* - let branding = Branding::new() - .with_logo(Some(Image::pagetop())) - .with_slogan(L10n::t("app_slogan", &LOCALES_WEBSITE)) - .with_frontpage(|cx| match cx.langid().language.as_str() { - "es" => "/es", - _ => "/", - }); - let menu = Menu::new() - .add_item(menu::Item::link( - L10n::t("menu_home", &LOCALES_WEBSITE), - |cx| match cx.langid().language.as_str() { - "es" => "/es", - _ => "/", - }, - )) - .add_item(menu::Item::link( - L10n::t("menu_documentation", &LOCALES_WEBSITE), - |cx| match cx.langid().language.as_str() { - "es" => "/doc/latest/es", - _ => "/doc/latest/en", - }, - )) - .add_item(menu::Item::link_blank( - L10n::t("menu_api", &LOCALES_WEBSITE), - |_| "https://docs.rs/pagetop", - )) - .add_item(menu::Item::link_blank( - L10n::t("menu_code", &LOCALES_WEBSITE), - |_| "https://github.com/manuelcillero/pagetop", - )) - .add_item(menu::Item::html(Html::with(html! { - select id="select-lang" { - option value="en" { "EN" } - option value="es" { "ES" } - } - script { - r###" - var selectLang=document.getElementById('select-lang'); - selectLang.value=document.documentElement.lang; - selectLang.addEventListener('change',function(){window.location.href='/'+selectLang.value;}); - "### - } - }))); + let branding = Branding::new() + .with_logo(Some(Image::pagetop())) + .with_slogan(L10n::t("app_slogan", &LOCALES_WEBSITE)) + .with_frontpage(|cx| match cx.langid().language.as_str() { + "es" => "/es", + _ => "/", + }); - InRegion::Named("header").add(AnyComponent::with( - flex::Container::new() - .with_direction(flex::Direction::Row(BreakPoint::None)) - .with_justify(flex::Justify::SpaceBetween) - .with_align(flex::Align::End) - .add_item(flex::Item::with(branding)) - .add_item(flex::Item::with(menu)), - )); - InRegion::Named("pagetop").add(AnyComponent::with( - Block::new() - .with_style(StyleBase::Info) - .add_component(Paragraph::fluent(L10n::t( - "under_construction", - &LOCALES_WEBSITE, - ))), - )); - InRegion::Named("footer").add(AnyComponent::with(PoweredBy::new())); - */ + InRegion::Named("header").add(AnyComponent::with( + flex::Container::new() + .with_direction(flex::Direction::Row(BreakPoint::None)) + .with_justify(flex::Justify::SpaceBetween) + .with_align(flex::Align::End) + .add_item(flex::Item::with(branding)) + .add_item(flex::Item::with(menu)), + )); + InRegion::Named("pagetop").add(AnyComponent::with( + Block::new() + .with_style(StyleBase::Info) + .add_component(Paragraph::fluent(L10n::t( + "under_construction", + &LOCALES_WEBSITE, + ))), + )); + InRegion::Named("footer").add(AnyComponent::with(PoweredBy::new())); + */ } fn configure_service(&self, scfg: &mut service::web::ServiceConfig) { @@ -128,8 +107,8 @@ impl PackageTrait for PageTopWebSite { async fn doc_latest(path: service::web::Path) -> service::HttpResponse { match path.into_inner().as_str() { - "es" => Redirect::see_other("/doc/v0.0/es/index.html"), - _ => Redirect::see_other("/doc/v0.0/en/index.html"), + "en" => Redirect::see_other("/doc/v0.0/en/index.html"), + _ => Redirect::see_other("/doc/v0.0/es/index.html"), } }