1#![allow(non_snake_case)]
2
3use ryde::*;
4
5routes!(("/", get(get_slash)), ("/*files", get(get_files)));
6
7embed_static_files!("examples/html/static");
8
9#[main]
10async fn main() {
11 serve("::1:3000", routes()).await
12}
13
14async fn get_slash() -> Html {
15 html! {
16 <View>
17 <Heading route=url!(get_slash)/>
18 <P>"ryde with rust 🐎!"</P>
19 </View>
20 }
21}
22
23fn Heading(route: String) -> Component {
24 html! {
25 <h1 class="text-2xl text-gray-950 dark:text-amber-300 dark:bg-gray-950">
26 you are here {&route}
27 </h1>
28 }
29}
30
31fn P(elements: Elements) -> Component {
32 html! { <p class="text-base bg-gray-950 bg-amber-500 dark:bg-gray-950">{elements}</p> }
33}
34
35fn View(elements: Elements) -> Component {
36 html! {
37 <!DOCTYPE html>
38 <html>
39 <head>{render_static_files!()}</head>
40 <body>{elements}</body>
41 </html>
42 }
43}