use makepad_widgets::*; script_mod! { use mod.prelude.widgets.* use mod.widgets.* load_all_resources() do #(ChatStandaloneApp::script_component(vm)) { ui: Root { main_window := Window { window.inner_size: vec2(430, 860) window.title: "nigig-chat" body +: { root := mod.widgets.StandaloneFeatureShell { root_screen := mod.widgets.ChatScreen {} standalone_bottom_nav := mod.widgets.StandaloneFeatureBottomNav { root_nav := mod.widgets.ChatActionBar {} } } } } } } } app_main!(ChatStandaloneApp); #[derive(Script)] pub struct ChatStandaloneApp { #[live] ui: WidgetRef, } impl ScriptHook for ChatStandaloneApp {} impl MatchEvent for ChatStandaloneApp {} impl AppMain for ChatStandaloneApp { fn script_mod(vm: &mut ScriptVm) -> ScriptValue { makepad_widgets::theme_mod(vm); makepad_widgets::widgets_mod(vm); nigig_chat::script_mod(vm); self::script_mod(vm) } fn handle_event(&mut self, cx: &mut Cx, event: &Event) { self.match_event(cx, event); self.ui.handle_event(cx, event, &mut Scope::empty()); } }