Show and clear active filters

This commit is contained in:
Georg Bauer
2026-07-31 17:54:15 +02:00
parent eadbadd3cb
commit de49db0910
6 changed files with 156 additions and 6 deletions

View File

@@ -336,6 +336,27 @@ impl GotchaCore {
save_preferences(&state.preferences).map_err(Into::into)
}
pub fn clear_issue_filters(
&self,
owner: String,
repository: String,
) -> Result<(), GotchaError> {
let owner = owner.trim();
let repository = repository.trim();
if owner.is_empty() || repository.is_empty() {
return Err("Select a repository first.".into());
}
let mut state = self.state.lock().unwrap();
let server = state
.active_server
.and_then(|index| state.preferences.servers.get(index))
.ok_or("Select a server first.")?;
let key = repository_key(&server.url, owner, repository);
state.preferences.issue_status = "open".into();
state.preferences.issue_filters.remove(&key);
save_preferences(&state.preferences).map_err(Into::into)
}
pub async fn issue(
&self,
owner: String,
@@ -556,6 +577,18 @@ impl GotchaCore {
save_preferences(&state.preferences).map_err(Into::into)
}
pub fn clear_pull_filters(&self) -> Result<(), GotchaError> {
let mut state = self.state.lock().unwrap();
let server = state
.active_server
.and_then(|index| state.preferences.servers.get(index))
.ok_or("Select a server first.")?;
let key = server.url.clone();
state.preferences.pull_status = "open".into();
state.preferences.pull_filters.remove(&key);
save_preferences(&state.preferences).map_err(Into::into)
}
pub async fn pulls(&self, page: u32) -> Result<PullListPage, GotchaError> {
let server = self.server()?;
let (status, filter) = {