Skip to content

Commit

Permalink
fix: enabling creation of headers on empty request
Browse files Browse the repository at this point in the history
  • Loading branch information
wllfaria committed Jun 22, 2024
1 parent 18c6c43 commit 246f7de
Show file tree
Hide file tree
Showing 4 changed files with 43 additions and 40 deletions.
2 changes: 1 addition & 1 deletion Justfile
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ lint:
# =================================== #

# uses convco to figure out the next version
new_version := "$(convco version --bump --minor)"
new_version := "$(convco version --bump)"

release:
git cliff -t "{{new_version}}" > CHANGELOG.md
Expand Down
2 changes: 0 additions & 2 deletions hac-client/src/pages/collection_viewer/collection_store.rs
Original file line number Diff line number Diff line change
Expand Up @@ -230,11 +230,9 @@ impl CollectionStore {
let requests = self.get_requests().unwrap();

let Some(id) = self.get_hovered_request() else {
tracing::debug!("{:?}", self.get_hovered_request());
self.dispatch(CollectionStoreAction::SetHoveredRequest(
requests.read().unwrap().first().map(|req| req.get_id()),
));
tracing::debug!("{:?}", self.get_hovered_request());
return;
};

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ impl<'he> HeadersEditor<'he> {
colors,
collection_store,
scroll: 0,
selected_row: 5,
selected_row: 0,
row_height,
amount_on_view: layout.content_size.height.div_ceil(row_height).into(),
layout,
Expand Down Expand Up @@ -371,11 +371,12 @@ impl Eventful for HeadersEditor<'_> {
};

let mut request = request.write().unwrap();
let Some(headers) = request.headers.as_mut() else {
return Ok(None);
};

let total_headers = headers.len();
let total_headers = request
.headers
.as_ref()
.map(|h| h.len())
.unwrap_or_default();

match key_event.code {
KeyCode::Char('j') | KeyCode::Down => {
Expand All @@ -395,64 +396,70 @@ impl Eventful for HeadersEditor<'_> {
};
}
KeyCode::Char(' ') => {
if headers.is_empty() {
if total_headers.eq(&0) {
return Ok(None);
}

let header = match headers.get_mut(self.selected_row) {
Some(header) => header,
None => {
tracing::error!("tried to disable a non-existing header");
anyhow::bail!("tried to disable a non-existing header");
}
};
if let Some(headers) = request.headers.as_mut() {
let header = match headers.get_mut(self.selected_row) {
Some(header) => header,
None => {
tracing::error!("tried to disable a non-existing header");
anyhow::bail!("tried to disable a non-existing header");
}
};

header.enabled = !header.enabled;
header.enabled = !header.enabled;
}
}
KeyCode::Char('d') => {
if headers.is_empty() {
if total_headers.eq(&0) {
return Ok(None);
}

if headers.get(self.selected_row).is_none() {
tracing::error!("tried to delete a non-existing header");
anyhow::bail!("tried to delete a non-existing header");
}
if let Some(headers) = request.headers.as_ref() {
if headers.get(self.selected_row).is_none() {
tracing::error!("tried to delete a non-existing header");
anyhow::bail!("tried to delete a non-existing header");
}

drop(request);
self.collection_store
.borrow_mut()
.push_overlay(CollectionViewerOverlay::HeadersDelete);
drop(request);
self.collection_store
.borrow_mut()
.push_overlay(CollectionViewerOverlay::HeadersDelete);
}
}
KeyCode::Enter => {
if headers.is_empty() {
if total_headers.eq(&0) {
return Ok(None);
}

if headers.get(self.selected_row).is_none() {
tracing::error!("tried to edit a non-existing header");
anyhow::bail!("tried to edit a non-existing header");
};
if let Some(headers) = request.headers.as_ref() {
if headers.get(self.selected_row).is_none() {
tracing::error!("tried to edit a non-existing header");
anyhow::bail!("tried to edit a non-existing header");
};

drop(request);
self.collection_store
.borrow_mut()
.push_overlay(CollectionViewerOverlay::HeadersForm(self.selected_row));
drop(request);
self.collection_store
.borrow_mut()
.push_overlay(CollectionViewerOverlay::HeadersForm(self.selected_row));
}
}
KeyCode::Esc => return Ok(Some(HeadersEditorEvent::RemoveSelection)),
KeyCode::Char('n') => {
let idx = headers.len();
let headers = request.headers.get_or_insert_with(Vec::new);
headers.push(HeaderMap {
pair: Default::default(),
enabled: true,
});

self.selected_row = idx;
self.selected_row = total_headers;

drop(request);
self.collection_store
.borrow_mut()
.push_overlay(CollectionViewerOverlay::HeadersForm(idx));
.push_overlay(CollectionViewerOverlay::HeadersForm(total_headers));
}
_ => {}
}
Expand Down
2 changes: 0 additions & 2 deletions hac-client/src/pages/collection_viewer/sidebar.rs
Original file line number Diff line number Diff line change
Expand Up @@ -245,8 +245,6 @@ impl<'a> Eventful for Sidebar<'a> {

let overlay = self.collection_store.borrow_mut().peek_overlay();

tracing::debug!("{:?}", key_event.code);

match overlay {
CollectionViewerOverlay::CreateRequest => {
match self.request_form.inner().handle_key_event(key_event)? {
Expand Down

0 comments on commit 246f7de

Please sign in to comment.