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!" }; (Hover( Padding(Text("").color(Gray::_400)).x(10), 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]) }