From a016f0574ef2306569cce55975ef5c705ce4837f Mon Sep 17 00:00:00 2001 From: schroda <50052685+schroda@users.noreply.github.com> Date: Tue, 2 Jun 2026 13:23:13 +0200 Subject: [PATCH] Create seprate props for ValueRotationButton --- src/base/Base.types.ts | 22 ++++++++++++++++++- .../buttons/ValueRotationButton.tsx | 4 ++-- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/src/base/Base.types.ts b/src/base/Base.types.ts index 166326e2..adde1e6e 100644 --- a/src/base/Base.types.ts +++ b/src/base/Base.types.ts @@ -27,8 +27,28 @@ interface DisplayData { export type ValueToDisplayData = Record; -export interface MultiValueButtonBaseProps { +export interface ValueRotationButtonBaseProps { tooltip?: string; + value: Value; + defaultValue?: Value; + values: Value[]; + setValue: (value: Value) => void; + valueToDisplayData: ValueToDisplayData; +} + +export interface ValueRotationButtonDefaultableProps extends OptionalProperty< + ValueRotationButtonBaseProps, + 'value' +> { + isDefaultable?: boolean; + onDefault?: () => void; +} + +export type ValueRotationButtonProps = + | (ValueRotationButtonBaseProps & PropertiesNever>) + | ValueRotationButtonDefaultableProps; + +export interface MultiValueButtonBaseProps { value: MultiValue; defaultValue?: Value; values: Value[]; diff --git a/src/base/components/buttons/ValueRotationButton.tsx b/src/base/components/buttons/ValueRotationButton.tsx index c13196f5..e5a1fae1 100644 --- a/src/base/components/buttons/ValueRotationButton.tsx +++ b/src/base/components/buttons/ValueRotationButton.tsx @@ -11,7 +11,7 @@ import { useMemo } from 'react'; import Button from '@mui/material/Button'; import { useLingui } from '@lingui/react/macro'; import { CustomTooltip } from '@/base/components/CustomTooltip.tsx'; -import type { MultiValueButtonProps } from '@/base/Base.types.ts'; +import type { ValueRotationButtonProps } from '@/base/Base.types.ts'; import { getNextRotationValue } from '@/base/utils/ValueRotationButton.utils.ts'; import { Superscript } from '@/base/components/texts/Superscript.tsx'; @@ -25,7 +25,7 @@ export const ValueRotationButton = ({ isDefaultable, onDefault, defaultIcon, -}: MultiValueButtonProps & { defaultIcon?: ReactNode }) => { +}: ValueRotationButtonProps & { defaultIcon?: ReactNode }) => { const { t } = useLingui(); const isDefault = value === undefined;