diff --git a/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/right-drawer/album-box.component.html b/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/right-drawer/album-box.component.html
index 0a2ba851..1d654395 100644
--- a/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/right-drawer/album-box.component.html
+++ b/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/right-drawer/album-box.component.html
@@ -99,7 +99,13 @@
>
-
+
diff --git a/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/right-drawer/album-box.component.ts b/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/right-drawer/album-box.component.ts
index 40b9c8cb..692c48c0 100644
--- a/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/right-drawer/album-box.component.ts
+++ b/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/right-drawer/album-box.component.ts
@@ -22,6 +22,8 @@ import { UCAP_NATIVE_SERVICE, NativeService } from '@ucap-webmessenger/native';
import { NGXLogger } from 'ngx-logger';
import { SnackBarService } from '@ucap-webmessenger/ui';
import { FileDownloadItem } from '@ucap-webmessenger/api';
+import { ModuleConfig } from '@ucap-webmessenger/api-common';
+import { _MODULE_CONFIG } from 'projects/ucap-webmessenger-api-common/src/lib/config/token';
export interface FileInfoTotal {
info: FileInfo;
@@ -51,12 +53,15 @@ export class AlbumBoxComponent implements OnInit, OnDestroy {
FileType = FileType;
currentTabIndex = 0;
+ thumbBaseUrl: string;
+
constructor(
private store: Store,
private sessionStorageService: SessionStorageService,
private commonApiService: CommonApiService,
private snackBarService: SnackBarService,
@Inject(UCAP_NATIVE_SERVICE) private nativeService: NativeService,
+ @Inject(_MODULE_CONFIG) private moduleConfig: ModuleConfig,
private logger: NGXLogger
) {
this.loginRes = this.sessionStorageService.get(
@@ -68,6 +73,10 @@ export class AlbumBoxComponent implements OnInit, OnDestroy {
this.sessionVerinfo = this.sessionStorageService.get(
KEY_VER_INFO
);
+
+ this.thumbBaseUrl = `${this.moduleConfig.hostConfig.protocol}://${
+ this.moduleConfig.hostConfig.domain
+ }:${String(this.moduleConfig.hostConfig.port)}`;
}
ngOnInit() {
@@ -144,6 +153,31 @@ export class AlbumBoxComponent implements OnInit, OnDestroy {
);
}
+ getThumbnailUrl(fileInfo: FileInfoTotal): string {
+ if (
+ !!fileInfo.eventInfo &&
+ !!fileInfo.eventInfo.sentMessageJson &&
+ !!fileInfo.eventInfo.sentMessageJson.thumbUrl
+ ) {
+ return fileInfo.eventInfo.sentMessageJson.thumbUrl;
+ } else {
+ return `${this.thumbBaseUrl}${fileInfo.info.url.replace(
+ '/AttFile/',
+ '/WebFile/'
+ )}.thumb.jpg`;
+ }
+ }
+
+ onErrorThumbnail(el: HTMLElement, fileInfo: FileInfoTotal): void {
+ const iconEl = document.createElement('div');
+ iconEl.setAttribute(
+ 'class',
+ 'mime-icon light ico-' + this.getExtention(fileInfo.info.name)
+ );
+ iconEl.innerHTML = ``;
+ el.replaceWith(iconEl);
+ }
+
onSelectedIndexChange(index: number) {
this.selectedFile = null;
this.currentTabIndex = index;