Radish alpha
r
rad:z39mP9rQAaGmERfUMPULfPUi473tY
Radicle terminal user interface
Radicle
Git
inbox/list: Dissolve common module
Erik Kundt committed 3 months ago
commit 40e321db0e3fc5e277a7d5b875074346fdbedd1b
parent ce1d29a
3 files changed +20 -25
modified bin/commands/inbox.rs
@@ -1,5 +1,3 @@
-
#[path = "inbox/common.rs"]
-
mod common;
#[path = "inbox/list.rs"]
mod list;

@@ -11,11 +9,10 @@ use radicle::storage::{HasRepoId, ReadRepository};

use radicle_cli::terminal::{Args, Error, Help};

-
use crate::commands::tui_inbox::common::InboxOperation;
use crate::terminal;
use crate::ui::items::notification::filter::{NotificationFilter, SortBy};

-
use self::common::RepositoryMode;
+
use self::list::{InboxOperation, RepositoryMode};

pub const HELP: Help = Help {
    name: "inbox",
deleted bin/commands/inbox/common.rs
@@ -1,19 +0,0 @@
-
use serde::Serialize;
-

-
use radicle::{identity::RepoId, node::notifications::NotificationId};
-

-
#[derive(Clone, Default, Debug, PartialEq, Eq)]
-
pub enum RepositoryMode {
-
    #[default]
-
    Contextual,
-
    All,
-
    ByRepo((RepoId, Option<String>)),
-
}
-

-
/// The selected issue operation returned by the operation
-
/// selection widget.
-
#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
-
pub enum InboxOperation {
-
    Show { id: NotificationId },
-
    Clear { id: NotificationId },
-
}
modified bin/commands/inbox/list.rs
@@ -6,6 +6,9 @@ use std::vec;

use anyhow::Result;

+
use serde::Serialize;
+

+
use radicle::node::notifications::NotificationId;
use ratatui::layout::{Constraint, Layout};
use ratatui::prelude::*;
use ratatui::text::Span;
@@ -29,12 +32,26 @@ use tui::ui::widget::{
use tui::ui::{BufferedValue, Show, Ui};
use tui::{Channel, Exit};

-
use super::common::RepositoryMode;
-
use crate::commands::tui_inbox::common::InboxOperation;
use crate::ui::items::filter::Filter;
use crate::ui::items::notification::filter::{NotificationFilter, SortBy};
use crate::ui::items::notification::{Notification, NotificationKind};

+
#[derive(Clone, Default, Debug, PartialEq, Eq)]
+
pub enum RepositoryMode {
+
    #[default]
+
    Contextual,
+
    All,
+
    ByRepo((RepoId, Option<String>)),
+
}
+

+
/// The selected issue operation returned by the operation
+
/// selection widget.
+
#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
+
pub enum InboxOperation {
+
    Show { id: NotificationId },
+
    Clear { id: NotificationId },
+
}
+

type Selection = tui::Selection<InboxOperation>;

const HELP: &str = r#"# Generic keybindings