poe2-loot-filter-iced/src/components/app.rs
2024-12-25 04:04:17 +09:00

39 lines
925 B
Rust

use iced::{
widget::{button, column, container, horizontal_rule, row, text, toggler, vertical_rule},
Element, Task,
};
use crate::models::{Filter, FilterConfig, FilterRule, FilterText, Settings};
use super::rule_list;
pub struct App {
pub settings: Settings,
pub filter_config: FilterConfig,
}
#[derive(Debug, Clone, Copy)]
pub enum Message {
RuleList(rule_list::Message),
}
pub fn view(state: &App) -> Element<Message> {
container(
row![
rule_list::view(&state.filter_config).map(Message::RuleList),
vertical_rule(2),
column![]
]
.spacing(8),
)
.padding(8)
.into()
}
pub fn update(state: &mut App, msg: Message) -> Task<Message> {
match msg {
Message::RuleList(msg) => {
rule_list::update(&mut state.filter_config, msg).map(Message::RuleList)
}
}
}