Added initial page body and setup
This commit is contained in:
commit
69db581948
3
.gitignore
vendored
Normal file
3
.gitignore
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
/target
|
||||
/dist
|
||||
.env
|
1828
Cargo.lock
generated
Normal file
1828
Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
42
Cargo.toml
Normal file
42
Cargo.toml
Normal file
@ -0,0 +1,42 @@
|
||||
[package]
|
||||
name = "realtor-lp-frontend"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
authors = [
|
||||
"Franklin Blanco <me@franklinblanco.dev>"
|
||||
]
|
||||
license = "MIT OR Apache-2.0"
|
||||
|
||||
[dependencies]
|
||||
# yew and core stuff
|
||||
yew = { version = "0.20.0", features = ["csr"] }
|
||||
yew-router = "0.17"
|
||||
stylist = "0.12.0"
|
||||
|
||||
# Wasm/js stuff
|
||||
wasm-logger = "0.2"
|
||||
wasm-bindgen = "0.2.84"
|
||||
wasm-bindgen-futures = "0.4.34"
|
||||
#stdweb = "0.4.19"
|
||||
js-sys = "0.3"
|
||||
web-sys = "0.3.61"
|
||||
|
||||
# other libs
|
||||
reqwest = { version = "0.11.11", features = ["rustls-tls", "json", "blocking", "multipart"], default-features = false }
|
||||
uuid = { version = "1.3.0", features = ["v4", "fast-rng", "macro-diagnostics", "serde", "js"] }
|
||||
log = "0.4"
|
||||
serde = { version = "1.0", features = ["derive"] }
|
||||
serde_json = "1.0.88"
|
||||
err = { git = "https://git.franklinblanco.dev/franklinblanco/err.git" }
|
||||
thousands = "0.2.0"
|
||||
chrono = "0.4.23"
|
||||
|
||||
# Core
|
||||
#realtor-lp-types = { path = "../realtor-lp-types", features = ["wasm"] }
|
||||
|
||||
|
||||
[profile.release]
|
||||
lto = true
|
||||
codegen-units = 1
|
||||
panic = "abort"
|
||||
opt-level = "z"
|
2
assets/text/robots.txt
Normal file
2
assets/text/robots.txt
Normal file
@ -0,0 +1,2 @@
|
||||
User-agent: *
|
||||
Disallow: /admin/
|
4
css/body.css
Normal file
4
css/body.css
Normal file
@ -0,0 +1,4 @@
|
||||
body {
|
||||
margin: 0; /* Remove body margins */
|
||||
background-color: rgb(250, 248, 248);
|
||||
}
|
0
css/components/footer.css
Normal file
0
css/components/footer.css
Normal file
0
css/components/navbar.css
Normal file
0
css/components/navbar.css
Normal file
0
css/components/page/hero.css
Normal file
0
css/components/page/hero.css
Normal file
7
css/pages/main_page.css
Normal file
7
css/pages/main_page.css
Normal file
@ -0,0 +1,7 @@
|
||||
.main-page-container {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: start;
|
||||
width: 100%;
|
||||
}
|
29
index.html
Normal file
29
index.html
Normal file
@ -0,0 +1,29 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<!--<link rel="icon" type="image/x-icon" href="images/logo-color.png">-->
|
||||
<title>RealtorFolio - El mejor amigo de cada agente</title>
|
||||
<meta name="description" content="La mejor herramienta para posicionarte como agente inmobiliario profesional.">
|
||||
|
||||
<link data-trunk type="text/css" href="css/body.css" rel="css" />
|
||||
|
||||
<link data-trunk type="text/css" href="css/pages/main_page.css" rel="css" />
|
||||
|
||||
<link data-trunk type="text/css" href="css/components/footer.css" rel="css" />
|
||||
<link data-trunk type="text/css" href="css/components/navbar.css" rel="css" />
|
||||
<link data-trunk type="text/css" href="css/components/page/hero.css" rel="css" />
|
||||
|
||||
|
||||
<link data-trunk href="assets/text/robots.txt" rel="copy-file"/>
|
||||
|
||||
<link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro" rel="stylesheet">
|
||||
<link href="https://fonts.googleapis.com/css?family=Space+Grotesk" rel="stylesheet">
|
||||
<link href="https://fonts.googleapis.com/css?family=Inter" rel="stylesheet">
|
||||
<script src="https://kit.fontawesome.com/fcdfdfe1ad.js" crossorigin="anonymous"></script>
|
||||
|
||||
<base data-trunk-public-url />
|
||||
<link data-trunk rel="copy-dir" href="assets/images/"/>
|
||||
</head>
|
||||
</html>
|
0
src/api/mod.rs
Normal file
0
src/api/mod.rs
Normal file
8
src/components/footer.rs
Normal file
8
src/components/footer.rs
Normal file
@ -0,0 +1,8 @@
|
||||
use yew::prelude::*;
|
||||
|
||||
#[function_component(Footer)]
|
||||
pub fn footer() -> Html {
|
||||
html! {
|
||||
|
||||
}
|
||||
}
|
3
src/components/mod.rs
Normal file
3
src/components/mod.rs
Normal file
@ -0,0 +1,3 @@
|
||||
pub mod page;
|
||||
pub mod footer;
|
||||
pub mod navbar;
|
0
src/components/navbar.rs
Normal file
0
src/components/navbar.rs
Normal file
8
src/components/page/agency.rs
Normal file
8
src/components/page/agency.rs
Normal file
@ -0,0 +1,8 @@
|
||||
use yew::prelude::*;
|
||||
|
||||
#[function_component(AgencySection)]
|
||||
pub fn agency_section() -> Html {
|
||||
html! {
|
||||
|
||||
}
|
||||
}
|
8
src/components/page/contact.rs
Normal file
8
src/components/page/contact.rs
Normal file
@ -0,0 +1,8 @@
|
||||
use yew::prelude::*;
|
||||
|
||||
#[function_component(ContactSection)]
|
||||
pub fn contact_section() -> Html {
|
||||
html! {
|
||||
|
||||
}
|
||||
}
|
10
src/components/page/hero.rs
Normal file
10
src/components/page/hero.rs
Normal file
@ -0,0 +1,10 @@
|
||||
use yew::prelude::*;
|
||||
|
||||
#[function_component(HeroSection)]
|
||||
pub fn hero_section() -> Html {
|
||||
html! {
|
||||
<div class={"hero-container"}>
|
||||
|
||||
</div>
|
||||
}
|
||||
}
|
5
src/components/page/mod.rs
Normal file
5
src/components/page/mod.rs
Normal file
@ -0,0 +1,5 @@
|
||||
pub mod hero;
|
||||
pub mod agency;
|
||||
pub mod contact;
|
||||
pub mod results;
|
||||
pub mod search;
|
8
src/components/page/results.rs
Normal file
8
src/components/page/results.rs
Normal file
@ -0,0 +1,8 @@
|
||||
use yew::prelude::*;
|
||||
|
||||
#[function_component(ResultsSection)]
|
||||
pub fn results_section() -> Html {
|
||||
html! {
|
||||
|
||||
}
|
||||
}
|
8
src/components/page/search.rs
Normal file
8
src/components/page/search.rs
Normal file
@ -0,0 +1,8 @@
|
||||
use yew::prelude::*;
|
||||
|
||||
#[function_component(SearchSection)]
|
||||
pub fn search_section() -> Html {
|
||||
html! {
|
||||
|
||||
}
|
||||
}
|
44
src/main.rs
Normal file
44
src/main.rs
Normal file
@ -0,0 +1,44 @@
|
||||
mod api;
|
||||
mod components;
|
||||
mod utils;
|
||||
mod pages;
|
||||
|
||||
use pages::{main_page::MainPage, not_found::NotFound, admin_panel::AdminPanel};
|
||||
use yew::prelude::*;
|
||||
use yew_router::prelude::*;
|
||||
|
||||
#[function_component]
|
||||
fn App() -> Html {
|
||||
html! {
|
||||
<BrowserRouter>
|
||||
<Switch<Route> render={switch} />
|
||||
</BrowserRouter>
|
||||
}
|
||||
}
|
||||
fn main() {
|
||||
wasm_logger::init(wasm_logger::Config::default());
|
||||
//stdweb::initialize();
|
||||
yew::Renderer::<App>::new().render();
|
||||
}
|
||||
|
||||
#[derive(Clone, Routable, PartialEq)]
|
||||
pub enum Route {
|
||||
#[at("/")]
|
||||
LandingPage,
|
||||
|
||||
#[at("/admin")]
|
||||
AdminPanel,
|
||||
|
||||
#[not_found]
|
||||
#[at("/404")]
|
||||
NotFound,
|
||||
}
|
||||
|
||||
|
||||
pub fn switch(routes: Route) -> Html {
|
||||
match routes {
|
||||
Route::LandingPage => html! { <MainPage/> },
|
||||
Route::AdminPanel => html! { <AdminPanel/> },
|
||||
Route::NotFound => html! { <NotFound/> },
|
||||
}
|
||||
}
|
8
src/pages/admin_panel.rs
Normal file
8
src/pages/admin_panel.rs
Normal file
@ -0,0 +1,8 @@
|
||||
use yew::prelude::*;
|
||||
|
||||
#[function_component(AdminPanel)]
|
||||
pub fn admin_panel() -> Html {
|
||||
html! {
|
||||
|
||||
}
|
||||
}
|
17
src/pages/main_page.rs
Normal file
17
src/pages/main_page.rs
Normal file
@ -0,0 +1,17 @@
|
||||
use yew::prelude::*;
|
||||
|
||||
use crate::components::{page::{hero::HeroSection, agency::AgencySection, search::SearchSection, results::ResultsSection, contact::ContactSection}, footer::Footer};
|
||||
|
||||
#[function_component(MainPage)]
|
||||
pub fn main_page() -> Html {
|
||||
html! {
|
||||
<div class={"main-page-container"}>
|
||||
<HeroSection/>
|
||||
<AgencySection/>
|
||||
<SearchSection/>
|
||||
<ResultsSection/>
|
||||
<ContactSection/>
|
||||
<Footer/>
|
||||
</div>
|
||||
}
|
||||
}
|
4
src/pages/mod.rs
Normal file
4
src/pages/mod.rs
Normal file
@ -0,0 +1,4 @@
|
||||
pub mod admin_panel;
|
||||
pub mod main_page;
|
||||
pub mod not_found;
|
||||
|
8
src/pages/not_found.rs
Normal file
8
src/pages/not_found.rs
Normal file
@ -0,0 +1,8 @@
|
||||
use yew::prelude::*;
|
||||
|
||||
#[function_component(NotFound)]
|
||||
pub fn not_found_page() -> Html {
|
||||
html! {
|
||||
<div>{"NOT FOUND"}</div>
|
||||
}
|
||||
}
|
0
src/utils/mod.rs
Normal file
0
src/utils/mod.rs
Normal file
Loading…
Reference in New Issue
Block a user