M: Decouple statusbar and graph nodes colors

This commit is contained in:
Ivan 2024-10-31 10:56:12 +03:00
parent ba08844ff8
commit 2b42329956
2 changed files with 17 additions and 2 deletions

View File

@ -11,7 +11,7 @@ import { ExpressionStatus } from '@/models/rsform';
import { type IConstituenta } from '@/models/rsform'; import { type IConstituenta } from '@/models/rsform';
import { inferStatus } from '@/models/rsformAPI'; import { inferStatus } from '@/models/rsformAPI';
import { IExpressionParse, ParsingStatus } from '@/models/rslang'; import { IExpressionParse, ParsingStatus } from '@/models/rslang';
import { colorBgCstStatus } from '@/styling/color'; import { colorStatusBar } from '@/styling/color';
import { globals } from '@/utils/constants'; import { globals } from '@/utils/constants';
import { labelExpressionStatus, prepareTooltip } from '@/utils/labels'; import { labelExpressionStatus, prepareTooltip } from '@/utils/labels';
@ -48,7 +48,7 @@ function StatusBar({ isModified, processing, activeCst, parseData, onAnalyze }:
'focus-frame', 'focus-frame',
'duration-500 transition-colors' '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-id={globals.tooltip}
data-tooltip-html={prepareTooltip('Проверить определение', 'Ctrl + Q')} data-tooltip-html={prepareTooltip('Проверить определение', 'Ctrl + Q')}
onClick={onAnalyze} onClick={onAnalyze}

View File

@ -441,6 +441,21 @@ export function colorBgSyntaxTree(node: ISyntaxTreeNode, colors: IColorTheme): s
* Determines background color for {@link ExpressionStatus}. * Determines background color for {@link ExpressionStatus}.
*/ */
export function colorBgCstStatus(status: ExpressionStatus, colors: IColorTheme): string { 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 // prettier-ignore
switch (status) { switch (status) {
case ExpressionStatus.VERIFIED: return colors.bgGreen50; case ExpressionStatus.VERIFIED: return colors.bgGreen50;