Add more detail to panel switcher interaction

This commit is contained in:
Conrad Irwin 2023-11-16 09:55:22 -07:00
parent 2aa7c6f2b4
commit 4540f04dbe
3 changed files with 42 additions and 21 deletions

View file

@ -1,5 +1,5 @@
use crate::{h_stack, prelude::*, ClickHandler, Icon, IconElement};
use gpui::{prelude::*, AnyView, MouseButton};
use gpui::{prelude::*, Action, AnyView, MouseButton};
use std::sync::Arc;
struct IconButtonHandlers<V: 'static> {
@ -69,6 +69,10 @@ impl<V: 'static> IconButton<V> {
self
}
pub fn action(self, action: Box<dyn Action>) -> Self {
self.on_click(move |this, cx| cx.dispatch_action(action.boxed_clone()))
}
fn render(mut self, _view: &mut V, cx: &mut ViewContext<V>) -> impl Component<V> {
let icon_color = match (self.state, self.color) {
(InteractionState::Disabled, _) => TextColor::Disabled,