mirror of
https://github.com/jeffvli/feishin.git
synced 2026-06-23 20:37:42 +02:00
feat(playlists): add isMissing and isPresent operators to Navidrome smart playlist form (#2149)
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import { useEffect, useState } from 'react';
|
||||
import { useEffect, useMemo, useState } from 'react';
|
||||
|
||||
import { Filters } from '/@/renderer/components/query-builder';
|
||||
import { ActionIcon } from '/@/shared/components/action-icon/action-icon';
|
||||
@@ -102,19 +102,28 @@ const QueryValueInput = ({
|
||||
const isDatePickerOperator =
|
||||
operator === 'beforeDate' || operator === 'afterDate' || operator === 'inTheRangeDate';
|
||||
|
||||
const BooleanSelectComponent = useMemo(
|
||||
() => (
|
||||
<Select
|
||||
data={[
|
||||
{ label: 'true', value: 'true' },
|
||||
{ label: 'false', value: 'false' },
|
||||
]}
|
||||
onChange={onChange}
|
||||
value={value}
|
||||
{...props}
|
||||
/>
|
||||
),
|
||||
[onChange, props, value],
|
||||
);
|
||||
|
||||
if (operator === 'isMissing' || operator === 'isPresent') {
|
||||
return BooleanSelectComponent;
|
||||
}
|
||||
|
||||
switch (type) {
|
||||
case 'boolean':
|
||||
return (
|
||||
<Select
|
||||
data={[
|
||||
{ label: 'true', value: 'true' },
|
||||
{ label: 'false', value: 'false' },
|
||||
]}
|
||||
onChange={onChange}
|
||||
value={value}
|
||||
{...props}
|
||||
/>
|
||||
);
|
||||
return BooleanSelectComponent;
|
||||
case 'date':
|
||||
if (isDatePickerOperator && operator !== 'inTheRangeDate') {
|
||||
const dateValue = value ? parseDateValue(value) : null;
|
||||
|
||||
Reference in New Issue
Block a user