// Copyright 2023 The Grim Developers // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. use egui::Frame; use crate::gui::app::is_dual_panel_mode; use crate::gui::icons::{ARROW_CIRCLE_LEFT, GEAR_SIX, GLOBE}; use crate::gui::platform::PlatformCallbacks; use crate::gui::screens::{Navigator, Screen, ScreenId}; use crate::gui::views::{TitlePanel, TitlePanelAction, View}; #[derive(Default)] pub struct Accounts {} impl Screen for Accounts { fn id(&self) -> ScreenId { ScreenId::Accounts } fn ui(&mut self, ui: &mut egui::Ui, frame: &mut eframe::Frame, cb: &dyn PlatformCallbacks) { TitlePanel::new(t!("accounts")) .left_action( if !is_dual_panel_mode(frame) { TitlePanelAction::new(GLOBE.into(), || { Navigator::toggle_side_panel(); }) } else { None } ).right_action(TitlePanelAction::new(GEAR_SIX.into(), || { //TODO: settings })).ui(ui); egui::CentralPanel::default().frame(Frame { stroke: View::DEFAULT_STROKE, .. Default::default() }).show_inside(ui, |ui| { ui.label(format!("{}Here we go 10000 ツ", ARROW_CIRCLE_LEFT)); if ui.button("TEST").clicked() { Navigator::to(ScreenId::Account) }; if ui.button(format!("{}BACK ", ARROW_CIRCLE_LEFT)).clicked() { Navigator::to(ScreenId::Account) }; }); } }