Skip to content
3 changes: 3 additions & 0 deletions src/ui/src/actions.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
use gpui::actions;

actions!(scope, [Quit]);
8 changes: 8 additions & 0 deletions src/ui/src/main.rs
Original file line number Diff line number Diff line change
@@ -1,13 +1,16 @@
pub mod actions;
pub mod app;
pub mod app_state;
pub mod channel;
pub mod menu;

use std::sync::Arc;

use app_state::AppState;
use components::theme::{hsl, Theme, ThemeColor, ThemeMode};
use gpui::*;
use http_client::anyhow;
use menu::app_menus;

#[derive(rust_embed::RustEmbed)]
#[folder = "../../assets"]
Expand Down Expand Up @@ -47,6 +50,11 @@ async fn main() {
return;
}

cx.bind_keys(vec![KeyBinding::new("cmd-q", actions::Quit, None)]);

cx.set_menus(app_menus());
cx.on_action(|_: &Quit, cx| cx.quit());

let mut theme = Theme::from(ThemeColor::dark());
theme.mode = ThemeMode::Dark;
theme.accent = hsl(335.0, 97.0, 61.0);
Expand Down
10 changes: 10 additions & 0 deletions src/ui/src/menu.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
use gpui::{Menu, MenuItem};

use crate::actions;

pub fn app_menus() -> Vec<Menu> {
vec![Menu {
name: "Scope".into(),
items: vec![MenuItem::action("Quit", actions::Quit)],
}]
}