feat: Adds new search filter options: search titles only and tag filters (#3039)

* feat: Adds search by note title

* feat: Adds search enhancement feature flag

* feat: Improve UX

* fix: Fixes checkboxes cursor

* feat: Adds tag filter

* feat: Use sheet layout for mobile

* feat: Adds tag filter condition to smart view builder

* chore: Clean up code

* feat: Implements or logic for tag filters

* fix: Includes title + body matches for search title only

* chore: add package_name to fastfile [skip ci]

* chore: remove internal feature flag
This commit is contained in:
Antonella Sgarlatta
2026-08-17 16:55:57 -03:00
committed by GitHub
parent 1ea8da6009
commit f7f947a855
22 changed files with 547 additions and 86 deletions
@@ -66,19 +66,23 @@ const CompoundPredicateBuilder = ({ controller }: Props) => {
</option>
))}
</select>
<select
className="rounded border border-border bg-default px-2 py-1.5 focus:outline focus:outline-1 focus:outline-info"
value={predicate.operator}
onChange={(event) => {
setPredicate(index, { operator: event.target.value as PredicateOperator })
}}
>
{AllNonCompoundPredicateOperators.map((operator) => (
<option key={operator} value={operator}>
{operator}
</option>
))}
</select>
{PredicateKeypathTypes[predicate.keypath as PredicateKeypath] === 'tag' ? (
<div className="shrink-0 px-2 py-1.5 text-sm">include</div>
) : (
<select
className="rounded border border-border bg-default px-2 py-1.5 focus:outline focus:outline-1 focus:outline-info"
value={predicate.operator}
onChange={(event) => {
setPredicate(index, { operator: event.target.value as PredicateOperator })
}}
>
{AllNonCompoundPredicateOperators.map((operator) => (
<option key={operator} value={operator}>
{operator}
</option>
))}
</select>
)}
{predicate.keypath && (
<PredicateValue
keypath={predicate.keypath as PredicateKeypath}