60 lines
1.4 KiB
Rust
60 lines
1.4 KiB
Rust
use based::request::{RequestContext, StringResponse};
|
|
use based::ui::components::{AppBar, Shell};
|
|
use based::ui::htmx::{Event, HTMXAttributes};
|
|
use based::ui::{prelude::*, render_page};
|
|
use maud::Render;
|
|
use maud::html;
|
|
use rocket::get;
|
|
use rocket::routes;
|
|
|
|
#[get("/")]
|
|
pub async fn index_page(ctx: RequestContext) -> StringResponse {
|
|
let content = AppBar("MyApp", None).render();
|
|
|
|
let content = html!(
|
|
h1 { "Hello World!" };
|
|
|
|
(
|
|
Screen::medium(Hover(Background(Red::_700, Nothing()))).on(
|
|
Background(Blue::_700, Text("HELLO!"))
|
|
)
|
|
)
|
|
|
|
(Hover(
|
|
Cursor::NorthEastResize.on(
|
|
Padding(Text("").color(&Gray::_400)).x(ScreenValue::_10)
|
|
)
|
|
).on(
|
|
Link("/test", Text("Hello")).hx_get("/test").hx_get("/test").hx_trigger(
|
|
Event::on_load().delay("2s")
|
|
.and(Event::on_revealed())
|
|
)
|
|
)
|
|
)
|
|
|
|
(content)
|
|
|
|
);
|
|
|
|
render_page(
|
|
content,
|
|
"Hello World",
|
|
ctx,
|
|
&Shell::new(
|
|
html! {
|
|
script src="https://cdn.tailwindcss.com" {};
|
|
},
|
|
html! {},
|
|
Some(String::new()),
|
|
),
|
|
)
|
|
.await
|
|
}
|
|
|
|
#[rocket::launch]
|
|
async fn launch() -> _ {
|
|
// Logging
|
|
env_logger::init();
|
|
|
|
rocket::build().mount("/", routes![index_page])
|
|
}
|