diff --git a/css/body.css b/css/body.css index 56209db..77c3545 100644 --- a/css/body.css +++ b/css/body.css @@ -8,4 +8,6 @@ body { flex-direction: column; justify-content: center; align-items: stretch; + background-color: rgb(0, 0, 0, 0.02); + } \ No newline at end of file diff --git a/css/search.css b/css/search.css index d60947a..57fbe84 100644 --- a/css/search.css +++ b/css/search.css @@ -4,7 +4,8 @@ flex-direction: column; justify-content: stretch; align-items: center; - padding: 30px 30px; + padding: 0px 30px; + margin-top: 30px; } .project-search-filters-container { @@ -51,21 +52,94 @@ .project-search-divider { width: 100%; - margin: 35px 30px; + margin: 35px 20px; height: 1px; background-color:rgba(0, 0, 0, 0.1); } +/* Results */ .project-search-results-container { display: flex; flex-direction: column; justify-content: start; align-items: center; - - + margin-bottom: 50px; + gap: 30px; } .project-search-result-card { background-color: white; + height: 530px; + width: 390px; + min-width: 80%; + + display: flex; + flex-direction: column; + justify-content: stretch; + align-items: center; + + box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19); + gap: 6px; } + +@media only screen and (max-width: 400px) { + .project-search-result-card { + width: 90%; + } +} + +.project-search-result-card:hover { + cursor: pointer; + border: 2px solid #252631; + transition-duration: 0.3s; +} + +.project-search-result-card-picture { + width: 100%; + height: 390px; + background-color: rgba(0, 0, 0, 0.3); + object-fit: cover; +} + +.project-search-result-card-title { + font-size: 18px; + font-family: Inter; + font-weight: 50; + text-transform: uppercase; + padding-top: 5px; +} + +.project-search-result-card-location { + font-size: 14px; + font-family: Inter; + font-weight: 50; + text-transform: uppercase; +} + +.project-search-result-card-price { + font-size: 21px; + font-family: Inter; + font-weight: bold; + text-transform: uppercase; +} + +.project-search-result-card-details-container { + display: flex; + flex-direction: row; + justify-content: space-evenly; + align-items: center; + width: 100%; + padding-top: 4px; +} + +.project-search-result-card-details-item { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + + color: rgba(0, 0, 0, 0.3); + font-size: 14px; + gap: 3px; +} \ No newline at end of file diff --git a/index.html b/index.html index d38834f..7e6e607 100644 --- a/index.html +++ b/index.html @@ -13,6 +13,7 @@ + diff --git a/src/components/project_card.rs b/src/components/project_card.rs index 4151f62..07e5966 100644 --- a/src/components/project_card.rs +++ b/src/components/project_card.rs @@ -1,10 +1,44 @@ -use jl_types::domain::project::Project; +use uuid::Uuid; use yew::prelude::*; +use yew_router::prelude::use_navigator; + +use crate::routes::main_router::Route; + #[function_component(ProjectCard)] -pub fn project_card(_props: &Project) -> Html { +pub fn project_card() -> Html { + let navigator = use_navigator().unwrap(); + let project_view_cb = Callback::from(move |_|{ + navigator.push(&Route::Details { property_id: Uuid::default() }); + }); html!{ -
+
+ {"project + +
+ {"Suites by refa Piantini"} +
+
+ {"Apartamento en Piantini, Santo Domingo"} +
+
+ {"Desde RD$1,000,000.00"} +
+
+
+ +
{"80-300m²"}
+
+
+ +
{"Nuevo"}
+
+
+ +
{"8/2025"}
+
+
+
} } \ No newline at end of file diff --git a/src/pages/details.rs b/src/pages/details.rs index f0f290e..a9101fe 100644 --- a/src/pages/details.rs +++ b/src/pages/details.rs @@ -1,8 +1,15 @@ use yew::prelude::*; +use crate::components::nav_bar::NavigationBar; + #[function_component(DetailsPage)] pub fn details_page() -> Html { html!{ -
{"Details Page"}
+ <> + +
+ +
+ } } \ No newline at end of file diff --git a/src/pages/search.rs b/src/pages/search.rs index ab707b5..122e949 100644 --- a/src/pages/search.rs +++ b/src/pages/search.rs @@ -4,7 +4,7 @@ use yew::prelude::*; use yew_utils::{components::drop_down::{DropDownProps, DropDown}, vdom::comp_with}; use jl_types::domain::option_wrapper::OptionWrapper; -use crate::components::nav_bar::NavigationBar; +use crate::components::{nav_bar::NavigationBar, project_card::ProjectCard}; #[function_component(SearchPage)] @@ -136,8 +136,11 @@ pub fn search_page(_props: &SearchPageProperties) -> Html {
-
// Search Results Content -
+
// Search Results Content + + + +