diff --git a/crates/app/src/lib.rs b/crates/app/src/lib.rs index 397ed98..9b6d625 100644 --- a/crates/app/src/lib.rs +++ b/crates/app/src/lib.rs @@ -81,9 +81,9 @@ pub fn App() -> impl IntoView {
  • "Home"
  • -
  • - "Posts" -
  • + //
  • + // "Posts" + //
  • "Projects"
  • diff --git a/crates/app/src/projects.rs b/crates/app/src/projects.rs index 4797d9d..bd2ae83 100644 --- a/crates/app/src/projects.rs +++ b/crates/app/src/projects.rs @@ -8,10 +8,21 @@ use leptos_router::components::A; #[component] pub fn Projects() -> impl IntoView { view! { -

    "Personal projects"

    +

    "Project Portfolio"

    + + "HiveMQ Data Hub Scripting" + +

    + "Scriptable message transformations using an embedded JavaScript engine for the HiveMQ MQTT broker." +

    +
    + + "Documentation" + +
    - "LittleBigPlanet Computer" + "LittleBigPlanet Computer (personal)"

    "A 120Hz 24-bit computer built using logic gates inside the game " @@ -43,7 +54,7 @@ pub fn Projects() -> impl IntoView { - "Carplexity" + "Carplexity (personal)"

    "Very early in development. A physics car game built using Bevy meant to be similar to Rocket League." @@ -56,8 +67,8 @@ pub fn Projects() -> impl IntoView { "Website" - - "Endolingual" + + "Endolingual (personal)"

    "Compile-time string localization for Rust."

    //
    @@ -88,18 +99,26 @@ pub fn ProjectSummary(
         project_summary_title: ProjectSummaryTitle,
         project_summary_main: ProjectSummaryMain,
         project_summary_links: ProjectSummaryLinks,
    -    image: String,
    +    #[prop(optional)] image: Option,
     ) -> impl IntoView {
         view! {
             

    {(project_summary_title.children)()}

    - - - + {move || match image.clone() { + Some(image) => { + view! { + + + + } + .into_any() + } + None => view! {}.into_any(), + }}
    {(project_summary_main.children)()}
    diff --git a/crates/frontend/assets/css/styles.css b/crates/frontend/assets/css/styles.css index 6cd5aba..2e99704 100644 --- a/crates/frontend/assets/css/styles.css +++ b/crates/frontend/assets/css/styles.css @@ -35,7 +35,7 @@ --text-color: oklch(80% 0 0); --link-color: oklch(70% 0.15 240); --link-hover-color: oklch(80% 0.15 240); - --border-color: oklch(25% 0 0); + --border-color: oklch(40% 0 0); --post-description-color: oklch(60% 0 0); --header-bg: oklch(0.24 0.008 285); --input-bg: oklch(25% 0 0); @@ -344,7 +344,7 @@ h6 { /* Projects page styling */ .projects-list { display: grid; - gap: 2rem; + gap: 3rem; } .project_listing { @@ -373,6 +373,7 @@ h6 { width: 100%; height: auto; object-fit: cover; + border: 0.1rem solid var(--border-color); } .project-text { @@ -387,6 +388,10 @@ h6 { gap: 1rem; } +.project-text p { + padding: 0rem 0.5rem; +} + @media (max-width: 768px) { .main-content { grid-template-columns: 1fr;