- {!addFilterField ? (
- /* Step 1: choose field */
- <>
-
- {customFields.map((cf) => (
-
- ))}
- >
- ) : (
- /* Step 2: operator + value */
-
-
-
-
- {addFilterField.startsWith("cf.") ? addFilterField.slice(3) : addFilterField}
-
-
-
- {addFilterField === "queue" ? (
-
- ) : addFilterField === "owner" ? (
-
- ) : (
-
setAddFilterValue(e.target.value)}
- placeholder="Value"
- className="h-7 w-full rounded border border-input bg-card px-2 text-xs outline-none"
- onKeyDown={(e) => {
- if (e.key === "Enter" && addFilterValue.trim()) {
- const field = addFilterField;
- const value = addFilterValue;
- let valueLabel = value;
- setFilters((prev) => [...prev, {
- id: crypto.randomUUID(),
- field,
- operator: addFilterOperator,
- value,
- label: buildFilterLabel(field, addFilterOperator, valueLabel),
- }]);
- setAddFilterField(null);
- setAddFilterOpen(false);
- }
- }}
- />
- )}
-
-
-
-
-