diff --git a/alfa-client/libs/binary-file-shared/src/lib/binary-file.util.ts b/alfa-client/libs/binary-file-shared/src/lib/binary-file.util.ts index b34aefb261df45052ef6492127c733afdd513d87..dcdd8939eb3c999cde700d20863520a2d0e2ffc6 100644 --- a/alfa-client/libs/binary-file-shared/src/lib/binary-file.util.ts +++ b/alfa-client/libs/binary-file-shared/src/lib/binary-file.util.ts @@ -7,3 +7,17 @@ export function getBinaryFiles( ): BinaryFileResource[] { return getEmbeddedResources(binaryFileListResource, BinaryFileListLinkRel.FILE_LIST); } + +export enum BinaryFileIcon { + 'application/pdf' = 'file-pdf', + 'application/json' = 'file-json', + 'application/msword' = 'file-doc', + 'application/vnd.openxmlformats-officedocument.wordprocessingml.document' = 'file-doc', + 'application/xml' = 'file-xml', + 'text/xml' = 'file-xml', + 'image/apng' = 'file-image', + 'image/gif' = 'file-image', + 'image/jpeg' = 'file-image', + 'image/png' = 'file-image', + 'image/svg+xml' = 'file-image', +} diff --git a/alfa-client/libs/binary-file/src/lib/binary-file2-container/binary-file2/binary-file2.component.ts b/alfa-client/libs/binary-file/src/lib/binary-file2-container/binary-file2/binary-file2.component.ts index 48902a375f43a053d5bf35c0ae7b8bdcf299041e..75d55fdc2f7aae8e112484aea9313b041c7a435b 100644 --- a/alfa-client/libs/binary-file/src/lib/binary-file2-container/binary-file2/binary-file2.component.ts +++ b/alfa-client/libs/binary-file/src/lib/binary-file2-container/binary-file2/binary-file2.component.ts @@ -1,5 +1,9 @@ import { ApiDownloadToken } from '@alfa-client/api-root-shared'; -import { BinaryFileLinkRel, BinaryFileResource } from '@alfa-client/binary-file-shared'; +import { + BinaryFileIcon, + BinaryFileLinkRel, + BinaryFileResource, +} from '@alfa-client/binary-file-shared'; import { StateResource, createEmptyStateResource } from '@alfa-client/tech-shared'; import { HttpParams } from '@angular/common/http'; import { Component, EventEmitter, Input, Output } from '@angular/core'; @@ -35,8 +39,7 @@ export class BinaryFile2Component { } getIconType(type: string): string { - if (type.startsWith('image')) return 'file-image'; - return 'file-' + type.split('/')[1]; + return BinaryFileIcon[type] ?? 'file'; } downloadFile(): void { diff --git a/alfa-client/libs/design-system/src/lib/icon/icon.component.ts b/alfa-client/libs/design-system/src/lib/icon/icon.component.ts index e0dbf17fed7b12129a4755b599723e8168d06feb..b1671cdfd108affc89008f3cefb3ae21f9a4b7f2 100644 --- a/alfa-client/libs/design-system/src/lib/icon/icon.component.ts +++ b/alfa-client/libs/design-system/src/lib/icon/icon.component.ts @@ -13,16 +13,15 @@ export class IconComponent { @Input() size: string = '100%'; getFileIconFill(type: string): string { - switch (type.split('-')[1]) { - case 'pdf': - case 'exclamation': - case 'generate': - case 'upload': + switch (type) { + case 'file-pdf': + case 'file-exclamation': + case 'file-generate': + case 'file-upload': return 'fill-pdf'; - case 'doc': - case 'docx': + case 'file-doc': return 'fill-doc'; - case 'image': + case 'file-image': return 'fill-ozggray-800'; } return 'fill-ozggray-300';