From 4b11843916974cb8992163ba68881beb8186da34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Falc=C3=B3n?= Date: Wed, 3 Dec 2025 10:16:29 +0100 Subject: [PATCH] Smart rules: Change operator to `OR` by default (#7) --- .../create-automation-rule-dialog.tsx | 2 +- resources/js/lib/rule-builder-utils.ts | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/resources/js/components/automation-rules/create-automation-rule-dialog.tsx b/resources/js/components/automation-rules/create-automation-rule-dialog.tsx index dfb643a8..05f7fb94 100644 --- a/resources/js/components/automation-rules/create-automation-rule-dialog.tsx +++ b/resources/js/components/automation-rules/create-automation-rule-dialog.tsx @@ -42,7 +42,7 @@ export function CreateAutomationRuleDialog({ const [priority, setPriority] = useState('10'); const [ruleStructure, setRuleStructure] = useState({ groups: [createEmptyGroup()], - groupOperator: 'and', + groupOperator: 'or', }); const [categoryId, setCategoryId] = useState(''); const [note, setNote] = useState(''); diff --git a/resources/js/lib/rule-builder-utils.ts b/resources/js/lib/rule-builder-utils.ts index 674ba7b6..da3bfeaf 100644 --- a/resources/js/lib/rule-builder-utils.ts +++ b/resources/js/lib/rule-builder-utils.ts @@ -218,11 +218,11 @@ export function parseJsonLogic(jsonLogic: JsonLogicRule): RuleStructure { groups: [ { id: crypto.randomUUID(), - operator: 'and', + operator: 'or', conditions: [], }, ], - groupOperator: 'and', + groupOperator: 'or', }; if (!jsonLogic || Object.keys(jsonLogic).length === 0) { @@ -310,7 +310,7 @@ export function parseJsonLogic(jsonLogic: JsonLogicRule): RuleStructure { : defaultStructure.groups[0].conditions, }, ], - groupOperator: 'and', + groupOperator: 'or', }; } } @@ -321,11 +321,11 @@ export function parseJsonLogic(jsonLogic: JsonLogicRule): RuleStructure { groups: [ { id: crypto.randomUUID(), - operator: 'and', + operator: 'or', conditions: [parsed], }, ], - groupOperator: 'and', + groupOperator: 'or', }; } @@ -344,7 +344,7 @@ export function createEmptyCondition(): Condition { export function createEmptyGroup(): ConditionGroup { return { id: crypto.randomUUID(), - operator: 'and', + operator: 'or', conditions: [createEmptyCondition()], }; }