treewide: complete book management interface
Signed-off-by: NotAShelf <raf@notashelf.dev> Change-Id: If5a21f16221f3c56a8008e139f93edc46a6a6964
This commit is contained in:
parent
bda36ac152
commit
2f31242442
23 changed files with 1693 additions and 126 deletions
|
|
@ -124,12 +124,11 @@ fn parse_date_value(s: &str) -> Option<DateValue> {
|
|||
"last-year" | "lastyear" => Some(DateValue::LastYear),
|
||||
other => {
|
||||
// Try to parse "last-Nd" format (e.g., "last-7d", "last-30d")
|
||||
if let Some(rest) = other.strip_prefix("last-") {
|
||||
if let Some(days_str) = rest.strip_suffix('d') {
|
||||
if let Ok(days) = days_str.parse::<u32>() {
|
||||
return Some(DateValue::DaysAgo(days));
|
||||
}
|
||||
}
|
||||
if let Some(rest) = other.strip_prefix("last-")
|
||||
&& let Some(days_str) = rest.strip_suffix('d')
|
||||
&& let Ok(days) = days_str.parse::<u32>()
|
||||
{
|
||||
return Some(DateValue::DaysAgo(days));
|
||||
}
|
||||
None
|
||||
}
|
||||
|
|
@ -237,13 +236,13 @@ fn field_match(input: &mut &str) -> ModalResult<SearchQuery> {
|
|||
}
|
||||
|
||||
// Check for date queries on created/modified fields
|
||||
if field == "created" || field == "modified" {
|
||||
if let Some(date_val) = parse_date_value(&value) {
|
||||
return SearchQuery::DateQuery {
|
||||
field,
|
||||
value: date_val,
|
||||
};
|
||||
}
|
||||
if (field == "created" || field == "modified")
|
||||
&& let Some(date_val) = parse_date_value(&value)
|
||||
{
|
||||
return SearchQuery::DateQuery {
|
||||
field,
|
||||
value: date_val,
|
||||
};
|
||||
}
|
||||
|
||||
// Default: simple field match
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue