feat(dioxus): bump

Signed-off-by: Tuan-Dat Tran <tuan-dat.tran@tudattr.dev>
This commit is contained in:
Tuan-Dat Tran
2025-11-04 01:00:50 +01:00
parent 1284dd9dd6
commit fef5d771ba
12 changed files with 1845 additions and 1546 deletions

View File

@@ -13,7 +13,7 @@ pub fn CV() -> Element {
img {
class: "rounded-full w-24 h-24",
alt: "headshot",
src: asset!("./assets/pictures/headshot.webp")
src: asset!("/assets/pictures/headshot.webp")
}
Introduction {},
Socials {}
@@ -39,7 +39,7 @@ fn Introduction() -> Element {
P {
{ t!("cv_introduction_tools") },
" ",
AccessibleLink { new_tab: true, to: "https://www.lazyvim.org/", "NeoVim (LazyVim)" },
AccessibleLink { new_tab: true, to: "https://www.lazyvim.org/", "NeoVim" },
", ",
AccessibleLink { new_tab: true, to: "https://zellij.dev/", "Zellij" },
", ",
@@ -57,7 +57,7 @@ fn WorkExperience() -> Element {
ol {
class:"relative border-s border-gray-700",
CVEntry {time: t!("cv_workexperience_dd_devops_time"), title: t!("cv_workexperience_dd_devops_title"),
technologies: vec!["Kubernetes".to_string(), "ArgoCD".to_string(), "Ansible".to_string(), "Azure".to_string(), "ELK".to_string(), "Helm".to_string()],
technologies: vec!["Kubernetes".to_string(), "ArgoCD".to_string(), "Ansible".to_string(), "Azure".to_string(), "Elastic Stack".to_string(), "Helm".to_string()],
description: t!("cv_workexperience_dd_devops_description")
},
CVEntry {time: t!("cv_workexperience_ra_ude_time"), title: t!("cv_workexperience_ra_ude_title"),
@@ -210,7 +210,7 @@ fn Socials() -> Element {
H4 { { t!("cv_socials_title") } },
div {
class: "flex justify-center items-center space-x-4",
P { AccessibleLink { to:"https://www.linkedin.com/in/tudattr/", class:"hover:underline", new_tab: true, img { class: "h-8", src:asset!("./assets/pictures/LI-Bug.svg.original.svg"), alt:"LinkedIn Logo" } }},
P { AccessibleLink { to:"https://www.linkedin.com/in/tudattr/", class:"hover:underline", new_tab: true, img { class: "h-8", src:asset!("/assets/pictures/LI-Bug.svg.original.svg"), alt:"LinkedIn Logo" } }},
}
}
}

View File

@@ -10,7 +10,7 @@ pub fn Home() -> Element {
Card {
name: t!("home_card_name"),
gender: t!("home_card_gender"),
picture: asset!("./assets/pictures/headshot.webp"),
picture: asset!("/assets/pictures/headshot.webp"),
div {
class: "py-4",
div {

View File

@@ -1,59 +1,30 @@
use dioxus::prelude::*;
use dioxus_i18n::t;
use crate::components::{H1, HR, P};
#[component]
pub fn Impressum() -> Element {
let mut impressum = use_signal(Vec::<String>::new);
let mut contact = use_signal(Vec::<String>::new);
rsx! {
div {
div {
class: "flex flex-col items-center",
button {
onclick: move |_| async move {
if let Ok(data) = get_impressum().await {
impressum.set(data.clone());
}
if let Ok(data) = get_contact().await {
contact.set(data.clone());
}
},
H1 { { t!("impressum_on") } },
},
H1 { "Impressum" },
},
HR{},
div {
class: "flex flex-col items-center",
for line in impressum() {
P { {line} }
}
P { {"Tuan-Dat Tran"} },
P { {"c/o AutorenServices.de"} },
P { {"Birkenallee 24"} },
P { {"36037 Fulda"} },
}
if !impressum.read().is_empty() { HR{} },
HR{},
div {
class: "flex flex-col items-center",
for line in contact() {
P { {line} }
}
P { {"tuan-dat.tran(at)tudattr(dot)dev"} },
P { {"+49 17(six) 83(four)683(eight)8"} },
}
}
}
}
#[server(GetServerData)]
async fn get_impressum() -> Result<Vec<String>, ServerFnError> {
Ok(vec![
"Tuan-Dat Tran".to_string(),
"c/o AutorenServices.de".to_string(),
"Birkenallee 24".to_string(),
"36037 Fulda".to_string(),
])
}
async fn get_contact() -> Result<Vec<String>, ServerFnError> {
Ok(vec![
"tuan-dat.tran(at)tudattr(dot)dev".to_string(),
"+49 17(six) 83(four)683(eight)8".to_string(),
])
}

View File

@@ -12,7 +12,9 @@ pub fn Footer() -> Element {
span {
class:"text-sm sm:text-center text-gray-400",
{ t!("footer_year") },
" ",
a { href: "#", class: "hover:underline", { t!("footer_name") }},
" ",
{ t!("footer_rights") }
}
ul {

View File

@@ -1,5 +1,5 @@
use dioxus::prelude::*;
use dioxus_i18n::{prelude::i18n, t, unic_langid::langid};
use dioxus_i18n::{prelude::*, t, unic_langid::langid};
use crate::Route;
@@ -15,7 +15,7 @@ pub fn Header() -> Element {
Link {
to: Route::Home {},
class: "rounded-md shadow-sm",
img { src:asset!("./assets/pictures/ClackCat_t.webp"), class:"rounded-full h-8", alt:"TuDatTr Logo" },
img { src:asset!("/assets/pictures/ClackCat_t.webp"), class:"rounded-full h-8", alt:"TuDatTr Logo" },
},
},
li { HeaderLink { url: Route::Home {}, text: t!("headers_home")} },

View File

@@ -3,10 +3,7 @@
use components::H1;
use dioxus::prelude::*;
use dioxus_i18n::prelude::use_init_i18n;
use dioxus_i18n::prelude::I18nConfig;
use dioxus_i18n::prelude::Locale;
use dioxus_i18n::unic_langid::langid;
use dioxus_i18n::{prelude::*, unic_langid::langid};
use layout::footer::Footer;
use layout::header::Header;
use tracing::{Level, info};
@@ -62,19 +59,16 @@ fn Health() -> Element {
fn App() -> Element {
use_init_i18n(|| {
I18nConfig::new(langid!("en-GB"))
.with_locale((langid!("de-DE"), include_str!("../languages/de-DE.ftl")))
.with_locale(Locale::new_static(
langid!("en-GB"),
include_str!("../languages/en-GB.ftl"),
))
.with_locale(Locale::new_static(
langid!("de-DE"),
include_str!("../languages/de-DE.ftl"),
))
});
rsx! {
document::Link { rel: "stylesheet", href: asset!("./assets/tailwind.css") }
document::Link { rel: "icon", href: asset!("./assets/favicon.ico") }
document::Link { rel: "stylesheet", href: asset!("/assets/tailwind.css") }
document::Link { rel: "icon", href: asset!("/assets/favicon.ico") }
meta {
name: "description",
content: "Visit Tuan-Dat Tran's website for his CV, publications, projects, and consulting services. Connect for collaboration.",

View File

@@ -81,7 +81,7 @@ fn Publications() -> Element {
authors: t!("publications_projects_publications_iot_fuzzers_authors"),
technologies: vec![],
kind: t!("publications_projects_publications_iot_fuzzers_conference"),
url: "/#",
url: "/publications/#",
description: t!("publications_projects_publications_iot_fuzzers_description")
},
}
@@ -97,7 +97,7 @@ fn Projects() -> Element {
authors: t!("publications_projects_projects_bpba_authors"),
technologies: vec![],
kind: t!("publications_projects_projects_bpba_kind"),
url: "/#",
url: "/publications/#",
description: t!("publications_projects_projects_bpba_description")
},
Project {
@@ -105,7 +105,7 @@ fn Projects() -> Element {
authors: t!("publications_projects_projects_dotfiles_authors"),
technologies: vec![],
kind: t!("publications_projects_projects_dotfiles_kind"),
url: "/#",
url: "/publications/#",
description: t!("publications_projects_projects_dotfiles_description")
},
Project {
@@ -113,7 +113,7 @@ fn Projects() -> Element {
authors: t!("publications_projects_projects_homelab_authors"),
technologies: vec![],
kind: t!("publications_projects_projects_homelab_kind"),
url: "/#",
url: "/publications/#",
description: t!("publications_projects_projects_homelab_description")
}
Project {
@@ -121,7 +121,7 @@ fn Projects() -> Element {
authors: t!("publications_projects_projects_athome_authors"),
technologies: vec![],
kind: t!("publications_projects_projects_athome_kind"),
url: "/#",
url: "/publications/#",
description: t!("publications_projects_projects_athome_description")
}
}