Compare commits
	
		
			1 commit
		
	
	
		
			
				main
			
			...
			
				livecoding
			
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| cd02c48a14 | 
					 1 changed files with 2 additions and 31 deletions
				
			
		
							
								
								
									
										33
									
								
								src/main.rs
									
										
									
									
									
								
							
							
						
						
									
										33
									
								
								src/main.rs
									
										
									
									
									
								
							| 
						 | 
					@ -5,6 +5,7 @@ use openmensa_rs::{request::MealRequest, Meal};
 | 
				
			||||||
use seed::{prelude::*, *};
 | 
					use seed::{prelude::*, *};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const DATE_ISO_FMT: &str = "%Y-%m-%d";
 | 
					const DATE_ISO_FMT: &str = "%Y-%m-%d";
 | 
				
			||||||
 | 
					const DATE_DE_FMT: &str = "%d.%m.%Y";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// ------ ------
 | 
					// ------ ------
 | 
				
			||||||
//     Init
 | 
					//     Init
 | 
				
			||||||
| 
						 | 
					@ -66,37 +67,7 @@ fn update(msg: Msg, model: &mut Model, orders: &mut impl Orders<Msg>) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// `view` describes what to display.
 | 
					// `view` describes what to display.
 | 
				
			||||||
fn view(model: &Model) -> Node<Msg> {
 | 
					fn view(model: &Model) -> Node<Msg> {
 | 
				
			||||||
    div![
 | 
					    div!["Hello World"]
 | 
				
			||||||
        // button![model.counter, ev(Ev::Click, |_| Msg::Increment),],
 | 
					 | 
				
			||||||
        h1![format!("Speiseplan vom {}", model.date.format("%d.%m.%Y"))],
 | 
					 | 
				
			||||||
        input![
 | 
					 | 
				
			||||||
            attrs! {
 | 
					 | 
				
			||||||
                At::Type => "date",
 | 
					 | 
				
			||||||
                At::Value => model.date.format(DATE_ISO_FMT)
 | 
					 | 
				
			||||||
            },
 | 
					 | 
				
			||||||
            input_ev(Ev::Input, Msg::SetDate),
 | 
					 | 
				
			||||||
        ],
 | 
					 | 
				
			||||||
        if &model.meals.len() > &0 {
 | 
					 | 
				
			||||||
            view_meals(&model.meals)
 | 
					 | 
				
			||||||
        } else {
 | 
					 | 
				
			||||||
            p!["Kein Speiseplan verfügbar"]
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
    ]
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
fn view_meals(meals: &[Meal]) -> Node<Msg> {
 | 
					 | 
				
			||||||
    ul![meals.iter().map(|meal| {
 | 
					 | 
				
			||||||
        let price = meal.prices().students();
 | 
					 | 
				
			||||||
        let price_str = match price {
 | 
					 | 
				
			||||||
            Some(p) => format!("{:.2} €", p),
 | 
					 | 
				
			||||||
            None => String::from("unbekannt"),
 | 
					 | 
				
			||||||
        };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        li![
 | 
					 | 
				
			||||||
            el_key(&meal.id()),
 | 
					 | 
				
			||||||
            format!("{} ({})", meal.name(), price_str),
 | 
					 | 
				
			||||||
        ]
 | 
					 | 
				
			||||||
    })]
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// ------ ------
 | 
					// ------ ------
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue