Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 8047a3e

Browse files
authored
refactor(site): remove eslint-disable in ResourceAvatar (#4463)
1 parent cf999f3 commit 8047a3e

File tree

1 file changed

+12
-6
lines changed

1 file changed

+12
-6
lines changed

site/src/components/Resources/ResourceAvatar.tsx

+12-6
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@ import { WorkspaceResource } from "../../api/typesGenerated"
77
// These resources (i.e. docker_image, kubernetes_deployment) map to Terraform
88
// resource types. These are the most used ones and are based on user usage.
99
// We may want to update from time-to-time.
10-
const iconPathByResource: Record<WorkspaceResource["type"], string> = {
10+
const DEFAULT_ICON_PATHS: {
11+
[resourceType: WorkspaceResource["type"]]: string
12+
} = {
1113
docker_volume: "/icon/folder.svg",
1214
docker_container: "/icon/memory.svg",
1315
docker_image: "/icon/image.svg",
@@ -20,15 +22,19 @@ const iconPathByResource: Record<WorkspaceResource["type"], string> = {
2022
null_resource: "/icon/widgets.svg",
2123
}
2224

25+
const getIconPathResource = (resourceType: string): string => {
26+
if (resourceType in DEFAULT_ICON_PATHS) {
27+
return DEFAULT_ICON_PATHS[resourceType]
28+
}
29+
30+
return DEFAULT_ICON_PATHS[resourceType]
31+
}
32+
2333
export type ResourceAvatarProps = { resource: WorkspaceResource }
2434

2535
export const ResourceAvatar: React.FC<ResourceAvatarProps> = ({ resource }) => {
2636
const hasIcon = resource.icon && resource.icon !== ""
27-
const avatarSrc = hasIcon
28-
? resource.icon
29-
: // resource.type is dynamic so iconPathByResource[resource.type] can be null
30-
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
31-
iconPathByResource[resource.type] ?? iconPathByResource["null_resource"]
37+
const avatarSrc = hasIcon ? resource.icon : getIconPathResource(resource.type)
3238
const styles = useStyles()
3339

3440
return <Avatar className={styles.resourceAvatar} src={avatarSrc} />

0 commit comments

Comments
 (0)