Begin add MonParcours + Update css work

This commit is contained in:
Florian RICHER 2023-10-10 22:59:08 +02:00
parent 1e27d18cb3
commit f4dba8213d
21 changed files with 1499 additions and 36 deletions

View file

@ -0,0 +1,80 @@
use std::collections::HashMap;
use std::rc::Rc;
use leptos::*;
use super::{
Tag,
Timeline,
TimelineElement,
TimelineLabel,
TimelineCard,
TimelineCardSummary,
TimelineCardTag,
TimelineCardContent
};
// Lang
// const CPP_TAG = <Tag name="C++" url="https://isocpp.org/" />
//
// // Other
// const REACT_TAG = <Tag name="React" url="https://fr.legacy.reactjs.org/" />
// const SYMFONY_4_TAG = <Tag name="Symfony" url="https://symfony.com/" />
// const FLUTTER_TAG = <Tag name="Flutter" url="https://flutter.dev/" />
// const RUBY_ON_RAILS_TAG = <Tag name="Ruby on rails" url="https://rubyonrails.org/" />
// const HOTWIRED_TAG = <Tag name="Hotwired" url="https://hotwired.dev/" />
// const DOCKER_TAG = <Tag name="Docker" url="https://www.docker.com/" />
// const STEAM_TAG = <Tag name="Steam API" url="https://partner.steamgames.com/doc/sdk/api/example" />
// const GITLAB_CI_TAG = <Tag name="Gitlab CI" url="https://docs.gitlab.com/ee/ci/" />
// const UNITY_TAG = <Tag name="Unity 3D" url="https://unity.com/fr" />
// const WORDPRESS_TAG = <Tag name="Wordpress" url="https://wordpress.com/fr/" />
// const CORDOVA_TAG = <Tag name="Cordova" url="https://cordova.apache.org/" />
// const ELECTRON_TAG = <Tag name="Electron" url="https://www.electronjs.org/" />
// const LWJGL_TAG = <Tag name="LWJGL" url="https://www.lwjgl.org/" />
// const OPENGL_TAG = <Tag name="OpenGL" url="https://www.opengl.org/" />
// const VULKAN_TAG = <Tag name="Vulkan" url="https://www.vulkan.org/" />
// const MIDI_TAG = <Tag name="MIDI" url="https://fr.wikipedia.org/wiki/Musical_Instrument_Digital_Interface" />
// const REQUIREJS_TAG = <Tag name="RequireJS" url="https://requirejs.org/" />
// const WEBPACK_TAG = <Tag name="Webpack" url="https://webpack.js.org/" />
// const VITE_TAG = <Tag name="Vite" url="https://vitejs.dev/" />
// const MAVEN_TAG = <Tag name="Maven" url="https://maven.apache.org/" />
// const GRADLE_TAG = <Tag name="Gradle" url="https://gradle.org/" />
// const BABYLONJG_TAG = <Tag name="BabylonJS" url="https://www.babylonjs.com/" />
// const ROCKET_RS_TAG = <Tag name="Rocket" url="https://rocket.rs/" />
// const ACTIX_WEB_TAG = <Tag name="Actix Web" url="https://actix.rs/" />
#[component]
pub fn MonParcours() -> impl IntoView {
let tools = Rc::from(HashMap::from([
("Rust", "https://www.rust-lang.org/"),
("Java", "https://www.java.com/fr/"),
("C++", "https://isocpp.org/")
]));
let to_tag = |tools: &HashMap<&str, &str>, lang: &str| {
let url = tools.get(lang).unwrap_or(&"");
view! { <Tag url=url.to_string()>Rust</Tag> }
};
view! {
<div>
<Timeline>
<TimelineElement slot:elements>
<TimelineLabel slot:labels>r"2019 - Aujourdhui"</TimelineLabel>
<TimelineCard slot:cards>
<TimelineCardSummary slot:titles>
<TimelineCardTag slot:tags>{ to_tag(tools.as_ref(), "Rust") }</TimelineCardTag>
r"Développeur dapplication Web, Mobile et Système (CDI)"
</TimelineCardSummary>
<TimelineCardContent slot:cards>
<p>r"Développement dapplication Symfony, React, Flutter, Rust et Ruby on rails (6 et 7) pour des clients."</p><br />
<p>r"Je développe surtout des applications Flutter et Ruby on rails avec laide de Hotwired."</p><br />
<i>Unova France</i><br />
<i>11 Septembre 2019 - Toujours en CDI</i>
</TimelineCardContent>
</TimelineCard>
</TimelineElement>
</Timeline>
</div>
}
}