diff --git a/package/client/resource/interface/context.ts b/package/client/resource/interface/context.ts index ff8fda8..20180bd 100644 --- a/package/client/resource/interface/context.ts +++ b/package/client/resource/interface/context.ts @@ -12,7 +12,10 @@ interface ContextMenuItem { colorScheme?: string; onSelect?: (args: any) => void; readOnly?: boolean; - metadata?: string[] | { [key: string]: any } | { label: string; value: any; progress?: number }[]; + metadata?: + | string[] + | { [key: string]: any } + | { label: string; value: any; progress?: number; colorScheme?: string }[]; disabled?: boolean; event?: string; serverEvent?: string; diff --git a/web/src/features/dev/debug/context.ts b/web/src/features/dev/debug/context.ts index cfefefb..2a3114f 100644 --- a/web/src/features/dev/debug/context.ts +++ b/web/src/features/dev/debug/context.ts @@ -19,11 +19,13 @@ export const debugContext = () => { ['label']: 'Body', ['value']: '55%', ['progress']: 55, + colorScheme: 'red', }, { ['label']: 'Engine', ['value']: '100%', ['progress']: 100, + colorScheme: 'green', }, { ['label']: 'Oil', diff --git a/web/src/features/menu/context/components/ContextButton.tsx b/web/src/features/menu/context/components/ContextButton.tsx index 534541f..9ea3eee 100644 --- a/web/src/features/menu/context/components/ContextButton.tsx +++ b/web/src/features/menu/context/components/ContextButton.tsx @@ -145,14 +145,21 @@ const ContextButton: React.FC<{ {button.image && } {Array.isArray(button.metadata) ? ( button.metadata.map( - (metadata: string | { label: string; value?: any; progress?: number }, index: number) => ( + ( + metadata: string | { label: string; value?: any; progress?: number; colorScheme?: string }, + index: number + ) => ( <> {typeof metadata === 'string' ? `${metadata}` : `${metadata.label}: ${metadata?.value ?? ''}`} {typeof metadata === 'object' && metadata.progress !== undefined && ( - + )} ) diff --git a/web/src/typings/context.ts b/web/src/typings/context.ts index c9f6c4f..1bcfd14 100644 --- a/web/src/typings/context.ts +++ b/web/src/typings/context.ts @@ -11,7 +11,10 @@ export interface Option { progress?: number; colorScheme?: string; readOnly?: boolean; - metadata?: string[] | { [key: string]: any } | { label: string; value: any; progress?: number }[]; + metadata?: + | string[] + | { [key: string]: any } + | { label: string; value: any; progress?: number; colorScheme?: string }[]; disabled?: boolean; event?: string; serverEvent?: string;