pub mod dashboard;
pub mod issues;
pub mod prs;
pub mod repos;
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum View {
Dashboard,
Repositories,
PullRequests,
Issues,
Pipelines,
}
#[derive(Debug, Default)]
pub struct ViewState {
pub selected_index: usize,
pub scroll_offset: usize,
}
impl ViewState {
pub fn previous(&mut self) {
if self.selected_index > 0 {
self.selected_index -= 1;
}
}
pub fn next(&mut self, max: usize) {
if max > 0 && self.selected_index < max - 1 {
self.selected_index += 1;
}
}
pub fn reset(&mut self) {
self.selected_index = 0;
self.scroll_offset = 0;
}
}