bitbucket_cli/tui/views/
mod.rs1pub mod dashboard;
2pub mod issues;
3pub mod prs;
4pub mod repos;
5
6#[derive(Debug, Clone, Copy, PartialEq, Eq)]
8pub enum View {
9 Dashboard,
10 Repositories,
11 PullRequests,
12 Issues,
13 Pipelines,
14}
15
16#[derive(Debug, Default)]
18pub struct ViewState {
19 pub selected_index: usize,
21 pub scroll_offset: usize,
23}
24
25impl ViewState {
26 pub fn previous(&mut self) {
28 if self.selected_index > 0 {
29 self.selected_index -= 1;
30 }
31 }
32
33 pub fn next(&mut self, max: usize) {
35 if max > 0 && self.selected_index < max - 1 {
36 self.selected_index += 1;
37 }
38 }
39
40 pub fn reset(&mut self) {
42 self.selected_index = 0;
43 self.scroll_offset = 0;
44 }
45}