From 48fd5a7508ca960ebcaabb6ad7f7b820d2013b23 Mon Sep 17 00:00:00 2001 From: krolxon Date: Fri, 24 May 2024 15:15:52 +0530 Subject: [PATCH] fix #6 --- src/browser.rs | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/browser.rs b/src/browser.rs index 3ec0fac..f1972ef 100755 --- a/src/browser.rs +++ b/src/browser.rs @@ -66,13 +66,17 @@ impl FileBrowser { dir_vec.sort_by(|a, b| { let num_a = a.1.parse::().unwrap_or(u32::MAX); let num_b = b.1.parse::().unwrap_or(u32::MAX); - num_a.cmp(&num_b).then_with(|| a.1.to_lowercase().cmp(&b.1.to_lowercase())) + num_a + .cmp(&num_b) + .then_with(|| a.1.to_lowercase().cmp(&b.1.to_lowercase())) }); file_vec.sort_by(|a, b| { let num_a = a.1.parse::().unwrap_or(u32::MAX); let num_b = b.1.parse::().unwrap_or(u32::MAX); - num_a.cmp(&num_b).then_with(|| a.1.to_lowercase().cmp(&b.1.to_lowercase())) + num_a + .cmp(&num_b) + .then_with(|| a.1.to_lowercase().cmp(&b.1.to_lowercase())) }); dir_vec.extend(file_vec); @@ -128,9 +132,11 @@ impl FileBrowser { /// handles going back event pub fn handle_go_back(&mut self, conn: &mut Connection) -> AppResult<()> { if self.prev_path != "." { - let r = self.path.rfind('/').unwrap(); - self.path = self.path.as_str()[..r].to_string(); - self.update_directory(conn)?; + let r = self.path.rfind('/'); + if let Some(r) = r { + self.path = self.path.as_str()[..r].to_string(); + self.update_directory(conn)?; + } } else { self.path = self.prev_path.clone(); self.update_directory(conn)?;