Skip to content

Commit 9329464

Browse files
authored
Merge pull request #373 from topcoder-platform/PROD-2028_icon-mapping
PROD-2028 correct dashboard icon mapping -> PROD-1521_PROD-1551_dashboard-and-header
2 parents a70c18a + 569da6c commit 9329464

File tree

10 files changed

+47
-16
lines changed

10 files changed

+47
-16
lines changed

src-ts/lib/svgs/index.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@ import * as IconSolid from '@heroicons/react/solid'
44

55
import { ReactComponent as LogoIcon } from './logo.svg'
66
import { ReactComponent as TooltipArrowIcon } from './tooltip-arrow.svg'
7-
import { ReactComponent as WorkTypeDataExplorationIcon } from './work-type-data-exploration.svg'
8-
import { ReactComponent as WorkTypeUnknownIcon } from './work-type-unknown.svg'
9-
import { ReactComponent as WorkTypeWebsiteDesignIcon } from './work-type-website-design.svg'
7+
import { ReactComponent as WorkTypeCategoryDataIcon } from './work-type-category-data.svg'
8+
import { ReactComponent as WorkTypeCategoryDesignIcon } from './work-type-category-design.svg'
9+
import { ReactComponent as WorkTypeCategoryUnknownIcon } from './work-type-category-unknown.svg'
1010

1111
export { IconOutline }
1212
export { IconSolid }
1313
export { LogoIcon }
1414
export { TooltipArrowIcon }
15-
export { WorkTypeDataExplorationIcon }
16-
export { WorkTypeUnknownIcon }
17-
export { WorkTypeWebsiteDesignIcon }
15+
export { WorkTypeCategoryDataIcon }
16+
export { WorkTypeCategoryDesignIcon }
17+
export { WorkTypeCategoryUnknownIcon }

src-ts/lib/work-provider/work-functions/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,5 @@ export {
66
type Work,
77
WorkStatus,
88
WorkType,
9+
WorkTypeCategory,
910
} from './work-factory'
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
export * from './work-status.enum'
2+
export * from './work-type-category.enum'
23
export * from './work-type.enum'
34
export { create as workFactoryCreate } from './work.factory'
45
export * from './work.model'
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
export enum WorkTypeCategory {
2+
data = 'Data',
3+
design = 'Design',
4+
dev = 'Development',
5+
qa = 'QA',
6+
unknown = '',
7+
}

src-ts/lib/work-provider/work-functions/work-factory/work.factory.ts

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import { Challenge, ChallengeMetadata } from '../work-store'
88

99
import { ChallengeStatus } from './challenge-status.enum'
1010
import { WorkStatus } from './work-status.enum'
11+
import { WorkTypeCategory } from './work-type-category.enum'
1112
import { WorkType } from './work-type.enum'
1213
import { Work } from './work.model'
1314

@@ -26,6 +27,7 @@ export function create(challenge: Challenge): Work {
2627
status,
2728
title: challenge.name,
2829
type,
30+
typeCategory: getTypeCategory(type),
2931
}
3032
}
3133

@@ -138,3 +140,20 @@ function getType(challenge: Challenge): WorkType {
138140
const output: WorkType = !!workTypeKey ? WorkType[workTypeKey] : WorkType.unknown
139141
return output
140142
}
143+
144+
function getTypeCategory(type: WorkType): WorkTypeCategory {
145+
146+
switch (type) {
147+
148+
case WorkType.data:
149+
case WorkType.findData:
150+
return WorkTypeCategory.data
151+
152+
case WorkType.design:
153+
return WorkTypeCategory.design
154+
155+
// TOOD: other categories: qa and dev
156+
default:
157+
return WorkTypeCategory.unknown
158+
}
159+
}

src-ts/lib/work-provider/work-functions/work-factory/work.model.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { WorkStatus } from './work-status.enum'
2+
import { WorkTypeCategory } from './work-type-category.enum'
23
import { WorkType } from './work-type.enum'
34

45
export interface Work {
@@ -11,4 +12,5 @@ export interface Work {
1112
status: WorkStatus
1213
title: string
1314
type: WorkType
15+
typeCategory: WorkTypeCategory
1416
}

src-ts/tools/work/work-table/work-table-title-renderer/WorkTableTitleRenderer.tsx

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,29 +2,30 @@ import { FC, SVGProps } from 'react'
22

33
import {
44
Work,
5-
WorkType,
6-
WorkTypeDataExplorationIcon,
7-
WorkTypeUnknownIcon,
8-
WorkTypeWebsiteDesignIcon,
5+
WorkTypeCategory,
6+
WorkTypeCategoryDataIcon,
7+
WorkTypeCategoryDesignIcon,
8+
WorkTypeCategoryUnknownIcon,
99
} from '../../../../lib'
1010

1111
import styles from './WorkTableTitleRenderer.module.scss'
1212

1313
function WorkTableTitleRenderer(data: Work): JSX.Element {
1414

1515
let Icon: FC<SVGProps<SVGSVGElement>>
16-
switch (data.type) {
16+
switch (data.typeCategory) {
1717

18-
case WorkType.design:
19-
Icon = WorkTypeWebsiteDesignIcon
18+
case WorkTypeCategory.data:
19+
Icon = WorkTypeCategoryDataIcon
2020
break
2121

22-
case WorkType.data:
23-
Icon = WorkTypeDataExplorationIcon
22+
case WorkTypeCategory.design:
23+
Icon = WorkTypeCategoryDesignIcon
2424
break
2525

26+
// TODO: qa and dev work categories
2627
default:
27-
Icon = WorkTypeUnknownIcon
28+
Icon = WorkTypeCategoryUnknownIcon
2829
break
2930
}
3031

0 commit comments

Comments
 (0)