Push for 0.1.0

Signed-off-by: Tuan-Dat Tran <tuan-dat.tran@tudattr.dev>
This commit is contained in:
Tuan-Dat Tran
2024-05-14 11:33:25 +02:00
parent a6c382fc8b
commit 4b56557d15
8 changed files with 64 additions and 153 deletions

View File

@@ -1,4 +1,4 @@
use dioxus::prelude::{server_fn::error::ServerFnError, *};
use dioxus::prelude::*;
use tracing::info;
use crate::components::{H1, HR, P};
@@ -6,17 +6,17 @@ use crate::components::{H1, HR, P};
#[component]
pub fn Impressum() -> Element {
let mut show_impressum = use_signal(|| false);
let mut check_impressum = move || {
if !show_impressum() {
show_impressum.set(true);
}
};
rsx! {
if show_impressum() {
div {
class: "flex flex-col items-center",
H1 { "Impressum" },
button {
onclick: move |_| {
info!("Hide impressum.");
},
H1 { "Impressum" },
},
P { "Tuan-Dat Tran" },
P { "c/o AutorenServices.de" },
P { "Birkenallee 24" },
@@ -32,9 +32,9 @@ pub fn Impressum() -> Element {
div {
class: "flex flex-col items-center p-3",
button {
onclick: move |_| {
onclick: move |_| async move {
info!("Showing impressum.");
check_impressum();
show_impressum.set(true);
},
H1 { "Show Impressum" },
@@ -43,8 +43,3 @@ pub fn Impressum() -> Element {
}
}
}
#[server(GetImpressum)]
pub async fn get_impressum() -> Result<(), ServerFnError> {
Ok(())
}

View File

@@ -5,7 +5,7 @@ use crate::components::H1;
pub fn Footer() -> Element {
rsx! {
div {
ToolsUsed {},
// ToolsUsed {},
footer {
class:"bg-white rounded-lg shadow dark:bg-gray-800 my-4:wa mb-4",
div {
@@ -28,6 +28,7 @@ pub fn Footer() -> Element {
}
}
#[allow(dead_code)]
fn ToolsUsed() -> Element {
rsx! {
div {
@@ -38,15 +39,15 @@ fn ToolsUsed() -> Element {
div {
class: "flex h-fill overflow-x-auto",
Logo {
src: "https://raw.githubusercontent.com/SAWARATSUKI/ServiceLogos/main/Rust/Rust.png",
src: "https://raw.githubusercontent.com/SAWARATSUKI/Logogs/main/Rust/Rust.png",
alt: "Rust"
},
Logo {
src: "https://raw.githubusercontent.com/SAWARATSUKI/ServiceLogos/main/Tailwindcss/Tailwindcss6.png",
src: "https://raw.githubusercontent.com/SAWARATSUKI/Logogs/main/Tailwindcss/Tailwindcss6.png",
alt: "Tailwindcss"
},
Logo {
src: "https://raw.githubusercontent.com/SAWARATSUKI/ServiceLogos/main/Html/HTML.png",
src: "https://raw.githubusercontent.com/SAWARATSUKI/Logogs/main/Html/HTML.png",
alt: "HTML"
},
Logo {

View File

@@ -5,37 +5,31 @@ use crate::Route;
pub fn Header() -> Element {
rsx! {
nav {
div { class:" flex flex-wrap items-center justify-between mx-auto p-4",
div {
class: "flex items-center justify-between p-4 w-96",
class: "flex items-center justify-between p-4 flex-wrap mx-auto max-w-screen-xl",
Link {
to: Route::Home {},
class:"flex items-center space-x-3 rtl:space-x-reverse",
img { src:"/pictures/ClackCat_t.webp", class:"rounded-full h-8", alt:"Flowbite Logo" },
span { class:"self-center text-2xl font-semibold whitespace-nowrap dark:text-white", "" }
}
button {
r#type:"button",
class:"inline-flex items-center p-2 w-10 h-10 justify-center text-sm text-gray-500 rounded-lg md:hidden hover:bg-gray-100 focus:outline-none focus:ring-2 focus:ring-gray-200 dark:text-gray-400 dark:hover:bg-gray-700 dark:focus:ring-gray-600",
aria_controls:"navbar-default",
aria_expanded:"false",
span { class:"sr-only", "Open main menu" },
}
div { class:"hidden w-full md:block md:w-auto", id:"navbar-default",
ul { class:"font-medium flex flex-col p-4 md:p-0 mt-4 border border-gray-100 rounded-lg bg-gray-50 md:flex-row md:space-x-8 rtl:space-x-reverse md:mt-0 md:border-0 md:bg-white dark:bg-gray-800 md:dark:bg-gray-900 dark:border-gray-700",
li {
Link { to: Route::Home {}, class:"block py-2 px-3 text-white bg-blue-700 rounded md:bg-transparent md:text-blue-700 md:p-0 dark:text-white md:dark:text-blue-500", "Home" }
}
li {
Link { to: Route::CV {}, class:"block py-2 px-3 text-white bg-blue-700 rounded md:bg-transparent md:text-blue-700 md:p-0 dark:text-white md:dark:text-blue-500", "CV" }
}
li {
Link { to: Route::ProjectsPublications {}, class:"block py-2 px-3 text-white bg-blue-700 rounded md:bg-transparent md:text-blue-700 md:p-0 dark:text-white md:dark:text-blue-500", "Publications/Projects" }
}
li {
Link { to: Route::Impressum {}, class:"block py-2 px-3 text-white bg-blue-700 rounded md:bg-transparent md:text-blue-700 md:p-0 dark:text-white md:dark:text-blue-500", "About" }
}
div { class:"", id:"navbar-default",
ul { class:"flex space-x-8",
li { class: "", HeaderLink { url: Route::Home {}, text: "Home" } },
li { class: "", HeaderLink { url: Route::CV {}, text: "CV" } },
li { class: "", HeaderLink { url: Route::ProjectsPublications {}, text: "Publications/Projects" } },
li { class: "", HeaderLink { url: Route::Impressum {}, text: "About" } },
}
}
}
}
}
}
#[component]
fn HeaderLink(url: Route, text: String) -> Element {
rsx! {
Link { to: url, class:"md:bg-transparent md:text-blue-700 md:p-0 dark:text-white md:dark:text-blue-500", {text} }
}
}

View File

@@ -1,6 +1,8 @@
#![allow(non_snake_case)]
use dioxus::fullstack::Config;
use dioxus::prelude::*;
use tracing::Level;
pub mod components;
@@ -34,7 +36,13 @@ pub enum Route {
fn main() {
dioxus_logger::init(Level::DEBUG).expect("failed to init logger");
launch(App);
let config = server_only!(
dioxus::fullstack::Config::new().addr(std::net::SocketAddrV4::new(
std::net::Ipv4Addr::new(0, 0, 0, 0),
8080,
))
);
LaunchBuilder::fullstack().with_cfg(config).launch(App)
}
fn App() -> Element {
@@ -73,7 +81,7 @@ pub fn Body(prop: BodyProp) -> Element {
div {
class: "flex justify-center my-4",
div {
class: "max-w-screen-md min-w-full",
class: "max-w-screen-xl min-w-full",
{prop.children}
}
}