diff --git a/frontend/src/components/format/FormatConditionsTab.jsx b/frontend/src/components/format/FormatConditionsTab.jsx index feec468..792e812 100644 --- a/frontend/src/components/format/FormatConditionsTab.jsx +++ b/frontend/src/components/format/FormatConditionsTab.jsx @@ -45,6 +45,24 @@ const FormatConditionsTab = ({conditions, onConditionsChange}) => { } }; + const handleMoveToTop = index => { + if (index > 0) { + const newConditions = [...conditions]; + const [movedCondition] = newConditions.splice(index, 1); + newConditions.unshift(movedCondition); + onConditionsChange(newConditions); + } + }; + + const handleMoveToBottom = index => { + if (index < conditions.length - 1) { + const newConditions = [...conditions]; + const [movedCondition] = newConditions.splice(index, 1); + newConditions.push(movedCondition); + onConditionsChange(newConditions); + } + }; + if (isLoading) { return (
@@ -101,6 +119,8 @@ const FormatConditionsTab = ({conditions, onConditionsChange}) => { patterns={patterns} onMoveUp={() => handleMoveUp(index)} onMoveDown={() => handleMoveDown(index)} + onMoveToTop={() => handleMoveToTop(index)} + onMoveToBottom={() => handleMoveToBottom(index)} isFirst={index === 0} isLast={index === conditions.length - 1} /> diff --git a/frontend/src/components/format/conditions/ConditionCard.jsx b/frontend/src/components/format/conditions/ConditionCard.jsx index a66ebcb..f720f47 100644 --- a/frontend/src/components/format/conditions/ConditionCard.jsx +++ b/frontend/src/components/format/conditions/ConditionCard.jsx @@ -1,7 +1,7 @@ import React from 'react'; import PropTypes from 'prop-types'; import {CONDITION_TYPES, createCondition} from './conditionTypes'; -import {ArrowUp, ArrowDown, X} from 'lucide-react'; +import {ArrowUp, ArrowDown, X, ChevronsUp, ChevronsDown} from 'lucide-react'; import BrowserSelect from '@ui/BrowserSelect'; const ConditionCard = ({ @@ -11,6 +11,8 @@ const ConditionCard = ({ patterns, onMoveUp, onMoveDown, + onMoveToTop, + onMoveToBottom, isFirst, isLast }) => { @@ -123,6 +125,15 @@ const ConditionCard = ({
+ +