INNER CODE UNIT · TypeScript
generateStageColors
akuity/kargo · ui/src/features/stage/utils/index.ts:102
export function generateStageColors<T extends HasMetadata>(sortedObjects: T[], prevMap?: ColorMap) {
const curColors = { ...ColorMapHex };
let finalMap: { [key: string]: string } = {};
if (prevMap && Object.keys(prevMap).length > 0) {
for (const color of Object.values(prevMap)) {
delete curColors[color];
}
finalMap = { ...prevMap };
}
for (const stage of sortedObjects) {
const color = parseColorAnnotation(stage);
if (color) {
delete curColors[color];
finalMap[stage?.metadata?.name || ''] = ColorMapHex[color] ?? color;
}
}