aboutsummaryrefslogtreecommitdiffstats
path: root/src/listing.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/listing.rs')
-rw-r--r--src/listing.rs12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/listing.rs b/src/listing.rs
index 6e75b0e..40c5a77 100644
--- a/src/listing.rs
+++ b/src/listing.rs
@@ -223,7 +223,7 @@ pub fn directory_listing(
res
};
- let query_params = extract_query_parameters(req);
+ let mut query_params = extract_query_parameters(req);
let mut entries: Vec<Entry> = Vec::new();
let mut readme: Option<(String, String)> = None;
@@ -299,6 +299,14 @@ pub fn directory_listing(
}
}
+ if query_params.sort.is_none() {
+ query_params.sort = conf.default_sorting_method
+ }
+
+ if query_params.order.is_none() {
+ query_params.order = conf.default_sorting_order
+ }
+
match query_params.sort.unwrap_or(SortingMethod::Name) {
SortingMethod::Name => entries.sort_by(|e1, e2| {
alphanumeric_sort::compare_str(e1.name.to_lowercase(), e2.name.to_lowercase())
@@ -319,7 +327,7 @@ pub fn directory_listing(
}),
};
- if let Some(SortingOrder::Descending) = query_params.order {
+ if let Some(SortingOrder::Ascending) = query_params.order {
entries.reverse()
}