From 12afd5997ef35ad7e4baf14b06ce7fed8acd26cf Mon Sep 17 00:00:00 2001 From: Ivan <8611739+IRBorisov@users.noreply.github.com> Date: Thu, 31 Oct 2024 10:55:45 +0300 Subject: [PATCH] M: Decouple statusbar and graph nodes colors --- .../RSFormPage/EditorRSExpression/StatusBar.tsx | 4 ++-- rsconcept/frontend/src/styling/color.ts | 15 +++++++++++++++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/rsconcept/frontend/src/pages/RSFormPage/EditorRSExpression/StatusBar.tsx b/rsconcept/frontend/src/pages/RSFormPage/EditorRSExpression/StatusBar.tsx index 74b69b19..27d752e7 100644 --- a/rsconcept/frontend/src/pages/RSFormPage/EditorRSExpression/StatusBar.tsx +++ b/rsconcept/frontend/src/pages/RSFormPage/EditorRSExpression/StatusBar.tsx @@ -11,7 +11,7 @@ import { ExpressionStatus } from '@/models/rsform'; import { type IConstituenta } from '@/models/rsform'; import { inferStatus } from '@/models/rsformAPI'; import { IExpressionParse, ParsingStatus } from '@/models/rslang'; -import { colorBgCstStatus } from '@/styling/color'; +import { colorStatusBar } from '@/styling/color'; import { globals } from '@/utils/constants'; import { labelExpressionStatus, prepareTooltip } from '@/utils/labels'; @@ -48,7 +48,7 @@ function StatusBar({ isModified, processing, activeCst, parseData, onAnalyze }: 'focus-frame', 'duration-500 transition-colors' )} - style={{ backgroundColor: processing ? colors.bgDefault : colorBgCstStatus(status, colors) }} + style={{ backgroundColor: processing ? colors.bgDefault : colorStatusBar(status, colors) }} data-tooltip-id={globals.tooltip} data-tooltip-html={prepareTooltip('Проверить определение', 'Ctrl + Q')} onClick={onAnalyze} diff --git a/rsconcept/frontend/src/styling/color.ts b/rsconcept/frontend/src/styling/color.ts index 2e67fc06..e7ad813c 100644 --- a/rsconcept/frontend/src/styling/color.ts +++ b/rsconcept/frontend/src/styling/color.ts @@ -441,6 +441,21 @@ export function colorBgSyntaxTree(node: ISyntaxTreeNode, colors: IColorTheme): s * Determines background color for {@link ExpressionStatus}. */ export function colorBgCstStatus(status: ExpressionStatus, colors: IColorTheme): string { + // prettier-ignore + switch (status) { + case ExpressionStatus.VERIFIED: return colors.bgGreen; + case ExpressionStatus.INCORRECT: return colors.bgRed; + case ExpressionStatus.INCALCULABLE: return colors.bgOrange; + case ExpressionStatus.PROPERTY: return colors.bgTeal; + case ExpressionStatus.UNKNOWN: return colors.bgSelected; + case ExpressionStatus.UNDEFINED: return colors.bgBlue; + } +} + +/** + * Determines statusbar color for {@link ExpressionStatus}. + */ +export function colorStatusBar(status: ExpressionStatus, colors: IColorTheme): string { // prettier-ignore switch (status) { case ExpressionStatus.VERIFIED: return colors.bgGreen50;