mirror of
https://github.com/aljazceru/notedeck.git
synced 2025-12-18 09:04:21 +01:00
chrome: extract more non-methods
This commit is contained in:
@@ -172,7 +172,7 @@ impl Chrome {
|
|||||||
});
|
});
|
||||||
|
|
||||||
ui.with_layout(Layout::bottom_up(egui::Align::Center), |ui| {
|
ui.with_layout(Layout::bottom_up(egui::Align::Center), |ui| {
|
||||||
if let Some(action) = self.bottomup_sidebar(ctx, ui) {
|
if let Some(action) = bottomup_sidebar(ctx, ui) {
|
||||||
got_action = Some(action);
|
got_action = Some(action);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -206,82 +206,6 @@ impl Chrome {
|
|||||||
got_action
|
got_action
|
||||||
}
|
}
|
||||||
|
|
||||||
/// The section of the chrome sidebar that starts at the
|
|
||||||
/// bottom and goes up
|
|
||||||
fn bottomup_sidebar(
|
|
||||||
&mut self,
|
|
||||||
ctx: &mut AppContext,
|
|
||||||
ui: &mut egui::Ui,
|
|
||||||
) -> Option<ChromePanelAction> {
|
|
||||||
ui.add_space(8.0);
|
|
||||||
|
|
||||||
let pfp_resp = pfp_button(ctx, ui);
|
|
||||||
let settings_resp = settings_button(ui);
|
|
||||||
|
|
||||||
let theme_action = match ui.ctx().theme() {
|
|
||||||
egui::Theme::Dark => {
|
|
||||||
let resp = ui
|
|
||||||
.add(Button::new("☀").frame(false))
|
|
||||||
.on_hover_text("Switch to light mode");
|
|
||||||
if resp.hovered() {
|
|
||||||
notedeck_ui::show_pointer(ui);
|
|
||||||
}
|
|
||||||
if resp.clicked() {
|
|
||||||
Some(ChromePanelAction::SaveTheme(ThemePreference::Light))
|
|
||||||
} else {
|
|
||||||
None
|
|
||||||
}
|
|
||||||
}
|
|
||||||
egui::Theme::Light => {
|
|
||||||
let resp = ui
|
|
||||||
.add(Button::new("🌙").frame(false))
|
|
||||||
.on_hover_text("Switch to dark mode");
|
|
||||||
if resp.hovered() {
|
|
||||||
notedeck_ui::show_pointer(ui);
|
|
||||||
}
|
|
||||||
if resp.clicked() {
|
|
||||||
Some(ChromePanelAction::SaveTheme(ThemePreference::Dark))
|
|
||||||
} else {
|
|
||||||
None
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
let support_resp = support_button(ui);
|
|
||||||
|
|
||||||
let wallet_resp = ui.add(wallet_button());
|
|
||||||
|
|
||||||
if ctx.args.debug {
|
|
||||||
ui.weak(format!("{}", ctx.frame_history.fps() as i32));
|
|
||||||
ui.weak(format!(
|
|
||||||
"{:10.1}",
|
|
||||||
ctx.frame_history.mean_frame_time() * 1e3
|
|
||||||
));
|
|
||||||
}
|
|
||||||
|
|
||||||
if pfp_resp.hovered()
|
|
||||||
|| settings_resp.hovered()
|
|
||||||
|| support_resp.hovered()
|
|
||||||
|| wallet_resp.hovered()
|
|
||||||
{
|
|
||||||
notedeck_ui::show_pointer(ui);
|
|
||||||
}
|
|
||||||
|
|
||||||
if pfp_resp.clicked() {
|
|
||||||
Some(ChromePanelAction::Account)
|
|
||||||
} else if settings_resp.clicked() {
|
|
||||||
Some(ChromePanelAction::Settings)
|
|
||||||
} else if theme_action.is_some() {
|
|
||||||
theme_action
|
|
||||||
} else if support_resp.clicked() {
|
|
||||||
Some(ChromePanelAction::Support)
|
|
||||||
} else if wallet_resp.clicked() {
|
|
||||||
Some(ChromePanelAction::Wallet)
|
|
||||||
} else {
|
|
||||||
None
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fn topdown_sidebar(&mut self, ui: &mut egui::Ui) {
|
fn topdown_sidebar(&mut self, ui: &mut egui::Ui) {
|
||||||
// macos needs a bit of space to make room for window
|
// macos needs a bit of space to make room for window
|
||||||
// minimize/close buttons
|
// minimize/close buttons
|
||||||
@@ -550,3 +474,75 @@ fn pfp_button(ctx: &mut AppContext, ui: &mut egui::Ui) -> egui::Response {
|
|||||||
|
|
||||||
helper.take_animation_response()
|
helper.take_animation_response()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// The section of the chrome sidebar that starts at the
|
||||||
|
/// bottom and goes up
|
||||||
|
fn bottomup_sidebar(ctx: &mut AppContext, ui: &mut egui::Ui) -> Option<ChromePanelAction> {
|
||||||
|
ui.add_space(8.0);
|
||||||
|
|
||||||
|
let pfp_resp = pfp_button(ctx, ui);
|
||||||
|
let settings_resp = settings_button(ui);
|
||||||
|
|
||||||
|
let theme_action = match ui.ctx().theme() {
|
||||||
|
egui::Theme::Dark => {
|
||||||
|
let resp = ui
|
||||||
|
.add(Button::new("☀").frame(false))
|
||||||
|
.on_hover_text("Switch to light mode");
|
||||||
|
if resp.hovered() {
|
||||||
|
notedeck_ui::show_pointer(ui);
|
||||||
|
}
|
||||||
|
if resp.clicked() {
|
||||||
|
Some(ChromePanelAction::SaveTheme(ThemePreference::Light))
|
||||||
|
} else {
|
||||||
|
None
|
||||||
|
}
|
||||||
|
}
|
||||||
|
egui::Theme::Light => {
|
||||||
|
let resp = ui
|
||||||
|
.add(Button::new("🌙").frame(false))
|
||||||
|
.on_hover_text("Switch to dark mode");
|
||||||
|
if resp.hovered() {
|
||||||
|
notedeck_ui::show_pointer(ui);
|
||||||
|
}
|
||||||
|
if resp.clicked() {
|
||||||
|
Some(ChromePanelAction::SaveTheme(ThemePreference::Dark))
|
||||||
|
} else {
|
||||||
|
None
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
let support_resp = support_button(ui);
|
||||||
|
|
||||||
|
let wallet_resp = ui.add(wallet_button());
|
||||||
|
|
||||||
|
if ctx.args.debug {
|
||||||
|
ui.weak(format!("{}", ctx.frame_history.fps() as i32));
|
||||||
|
ui.weak(format!(
|
||||||
|
"{:10.1}",
|
||||||
|
ctx.frame_history.mean_frame_time() * 1e3
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
if pfp_resp.hovered()
|
||||||
|
|| settings_resp.hovered()
|
||||||
|
|| support_resp.hovered()
|
||||||
|
|| wallet_resp.hovered()
|
||||||
|
{
|
||||||
|
notedeck_ui::show_pointer(ui);
|
||||||
|
}
|
||||||
|
|
||||||
|
if pfp_resp.clicked() {
|
||||||
|
Some(ChromePanelAction::Account)
|
||||||
|
} else if settings_resp.clicked() {
|
||||||
|
Some(ChromePanelAction::Settings)
|
||||||
|
} else if theme_action.is_some() {
|
||||||
|
theme_action
|
||||||
|
} else if support_resp.clicked() {
|
||||||
|
Some(ChromePanelAction::Support)
|
||||||
|
} else if wallet_resp.clicked() {
|
||||||
|
Some(ChromePanelAction::Wallet)
|
||||||
|
} else {
|
||||||
|
None
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user