(self["webpackChunkapp"] = self["webpackChunkapp"] || []).push([["src_app_pages_tabs_appeals_applications-form_chat_chat_module_ts"],{

/***/ 94128:
/*!**********************************************************************************!*\
  !*** ./src/app/pages/tabs/appeals/applications-form/chat/chat-routing.module.ts ***!
  \**********************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   ChatPageRoutingModule: () => (/* binding */ ChatPageRoutingModule)
/* harmony export */ });
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tslib */ 24398);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/core */ 37580);
/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/router */ 95072);
/* harmony import */ var _chat_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./chat.page */ 69946);




const routes = [{
  path: '',
  component: _chat_page__WEBPACK_IMPORTED_MODULE_0__.ChatPage
}];
let ChatPageRoutingModule = class ChatPageRoutingModule {};
ChatPageRoutingModule = (0,tslib__WEBPACK_IMPORTED_MODULE_1__.__decorate)([(0,_angular_core__WEBPACK_IMPORTED_MODULE_2__.NgModule)({
  imports: [_angular_router__WEBPACK_IMPORTED_MODULE_3__.RouterModule.forChild(routes)],
  exports: [_angular_router__WEBPACK_IMPORTED_MODULE_3__.RouterModule]
})], ChatPageRoutingModule);


/***/ }),

/***/ 59873:
/*!**************************************************************************!*\
  !*** ./src/app/pages/tabs/appeals/applications-form/chat/chat.module.ts ***!
  \**************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   ChatPageModule: () => (/* binding */ ChatPageModule)
/* harmony export */ });
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! tslib */ 24398);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @angular/core */ 37580);
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @angular/common */ 60316);
/* harmony import */ var _angular_forms__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @angular/forms */ 34456);
/* harmony import */ var _ionic_angular__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @ionic/angular */ 21507);
/* harmony import */ var _chat_routing_module__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./chat-routing.module */ 94128);
/* harmony import */ var _chat_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./chat.page */ 69946);
/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @ngx-translate/core */ 597);
/* harmony import */ var _awesome_cordova_plugins_preview_any_file_ngx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @awesome-cordova-plugins/preview-any-file/ngx */ 34505);
/* harmony import */ var _services_file_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../../services/file.service */ 24704);










let ChatPageModule = class ChatPageModule {};
ChatPageModule = (0,tslib__WEBPACK_IMPORTED_MODULE_4__.__decorate)([(0,_angular_core__WEBPACK_IMPORTED_MODULE_5__.NgModule)({
  imports: [_angular_common__WEBPACK_IMPORTED_MODULE_6__.CommonModule, _angular_forms__WEBPACK_IMPORTED_MODULE_7__.FormsModule, _ionic_angular__WEBPACK_IMPORTED_MODULE_8__.IonicModule, _chat_routing_module__WEBPACK_IMPORTED_MODULE_0__.ChatPageRoutingModule, _ngx_translate_core__WEBPACK_IMPORTED_MODULE_9__.TranslateModule, _angular_common__WEBPACK_IMPORTED_MODULE_6__.NgOptimizedImage],
  declarations: [_chat_page__WEBPACK_IMPORTED_MODULE_1__.ChatPage],
  providers: [_awesome_cordova_plugins_preview_any_file_ngx__WEBPACK_IMPORTED_MODULE_2__.PreviewAnyFile, _services_file_service__WEBPACK_IMPORTED_MODULE_3__.FileService]
})], ChatPageModule);


/***/ }),

/***/ 69946:
/*!************************************************************************!*\
  !*** ./src/app/pages/tabs/appeals/applications-form/chat/chat.page.ts ***!
  \************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   ChatPage: () => (/* binding */ ChatPage)
/* harmony export */ });
/* harmony import */ var D_progr_mobileappv3_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js */ 89204);
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! tslib */ 24398);
/* harmony import */ var _chat_page_html_ngResource__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./chat.page.html?ngResource */ 71666);
/* harmony import */ var _chat_page_scss_ngResource__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./chat.page.scss?ngResource */ 31200);
/* harmony import */ var _chat_page_scss_ngResource__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_chat_page_scss_ngResource__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @angular/core */ 37580);
/* harmony import */ var _awesome_cordova_plugins_keyboard_ngx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @awesome-cordova-plugins/keyboard/ngx */ 18532);
/* harmony import */ var _services_helper_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../../../services/helper.service */ 54102);
/* harmony import */ var _ionic_angular__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @ionic/angular */ 3920);
/* harmony import */ var _ionic_angular__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @ionic/angular */ 21507);
/* harmony import */ var _environments_settings__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../../../../environments/settings */ 79308);
/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @angular/router */ 95072);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! rxjs */ 5342);
/* harmony import */ var _services_request_service__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../../../services/request.service */ 80931);
/* harmony import */ var _services_app_theme_service__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../../../services/app-theme.service */ 43017);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! rxjs/operators */ 89475);
/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! @ngx-translate/core */ 597);
/* harmony import */ var _awesome_cordova_plugins_camera_ngx__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @awesome-cordova-plugins/camera/ngx */ 68782);
/* harmony import */ var _services_file_service__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../../../services/file.service */ 24704);
/* harmony import */ var _modals_file_preview_modal_file_preview_modal_component__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./modals/file-preview-modal/file-preview-modal.component */ 11526);


















let ChatPage = class ChatPage {
  constructor(keyboard, helper, alertCtrl, cdr, activeRoute, request, appTheme, translate, actionSheetCtrl, camera, fileService, modalController) {
    this.keyboard = keyboard;
    this.helper = helper;
    this.alertCtrl = alertCtrl;
    this.cdr = cdr;
    this.activeRoute = activeRoute;
    this.request = request;
    this.appTheme = appTheme;
    this.translate = translate;
    this.actionSheetCtrl = actionSheetCtrl;
    this.camera = camera;
    this.fileService = fileService;
    this.modalController = modalController;
    this.loading$ = (0,_angular_core__WEBPACK_IMPORTED_MODULE_11__.signal)(false);
    this.maxScrollTop = 0;
    this.userScrolling = false;
    this.messages = [];
    this.messagesError = '';
    this.messageInput = '';
    this.files = [];
    this.allowedExtFiles = [..._environments_settings__WEBPACK_IMPORTED_MODULE_5__.ALLOWED_EXTENSIONS_IMG.name, ..._environments_settings__WEBPACK_IMPORTED_MODULE_5__.ALLOWED_EXTENSIONS_FILE.name].map(item => '.' + item).join(',');
    this.allowedExtImg = _environments_settings__WEBPACK_IMPORTED_MODULE_5__.ALLOWED_EXTENSIONS_IMG.name.join(',');
    this.alertExtFile = false;
    this.alertBrokenFile = false;
    this.alertSizeFile = false;
    this.alertMaxCountFiles = false;
    this.maxCountFiles = _environments_settings__WEBPACK_IMPORTED_MODULE_5__.MAX_FILE_COUNT_UPLOAD;
    this.disabledSend = true;
    this.appeal = JSON.parse(this.activeRoute.snapshot.queryParamMap.get('appeal'));
    this.readonly = this.activeRoute.snapshot.queryParamMap.get('readonly') == 'true';
  }
  ngOnInit() {
    this.keyboard.onKeyboardWillShow().subscribe(keyboard => {
      this.footer.el.style.paddingBottom = keyboard.keyboardHeight + 16 + 'px';
      this.interval = setInterval(() => {
        this.content.scrollToBottom(0);
      }, 0);
    });
    this.keyboard.onKeyboardDidShow().subscribe(() => {
      clearInterval(this.interval);
      this.content.scrollToBottom(0);
    });
    this.keyboard.onKeyboardWillHide().subscribe(keyboard => {
      this.footer.el.style.paddingBottom = 'calc(16px + var(--ion-safe-area-bottom))';
    });
  }
  ionViewWillEnter() {
    if (!this.readonly) {
      this.autoScroll();
    }
    document.body.classList.toggle('chat', true);
    this.timerLoad = setTimeout(() => {
      this.loading$.set(true);
    }, 100);
    this.loadData(this.readonly).finally(() => {
      clearTimeout(this.timerLoad);
      this.loading$.set(false);
    });
  }
  /**
   * Single usage before all
   */
  autoScroll() {
    let observer = new MutationObserver(mutations => {
      mutations.forEach(mutation => {
        if (!this.userScrolling) {
          this.chat.nativeElement.scrollTo(0, this.getMaxScroll());
        }
      });
    });
    observer.observe(this.chat.nativeElement, {
      childList: true,
      subtree: true
    });
    observer.observe(this.attached.nativeElement, {
      childList: true,
      subtree: true
    });
    observer.observe(this.messageText.nativeElement, {
      childList: true,
      subtree: true
    });
  }
  ionViewDidLeave() {
    document.body.classList.toggle('chat', false);
  }
  getMaxScroll() {
    return this.chat.nativeElement.scrollHeight - this.chat.nativeElement.clientHeight;
  }
  loadData(event, onlyCache) {
    var _this = this;
    return new Promise(/*#__PURE__*/function () {
      var _ref = (0,D_progr_mobileappv3_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* (resolve) {
        if (_this.refresher) {
          _this.refresher.complete();
          _this.refresher = null;
        }
        // Выполняем запрос
        _this.request.getRequest(_this.request.uri.appealMessagesGet(_this.appeal.id), {
          preloader: false,
          useOnlyCache: false,
          forceUpdateCache: false,
          onlyCacheOrRequest: false,
          cacheGroup: 'appeal[' + _this.appeal.id + ']:' + _this.request.activeLs.value
        }).pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_12__.finalize)(() => {
          resolve(true);
        })).subscribe(/*#__PURE__*/function () {
          var _ref2 = (0,D_progr_mobileappv3_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* (result) {
            try {
              if (result.result) {
                // Вызываем функцию коллбэк
                if (_this.messages.length !== result.dialog.length) {
                  _this.messages = result.dialog;
                  _this.files = [];
                  _this.messages.map(item => {
                    if (item.is_attachment == 1) {
                      if (_this.allowedExtImg.indexOf(item.fileName.split('.')[item.fileName.split('.').length - 1].toLowerCase()) != -1) {
                        item.preview = 'img';
                      } else {
                        item.preview = 'file';
                      }
                      if (_this.readonly) {
                        _this.files.push(item);
                      }
                      _this.getFile(item);
                    }
                    return item;
                  });
                }
              } else {
                _this.messagesError = result.message;
              }
            } catch (e) {}
          });
          return function (_x2) {
            return _ref2.apply(this, arguments);
          };
        }());
      });
      return function (_x) {
        return _ref.apply(this, arguments);
      };
    }());
  }
  getFile(_x3) {
    var _this2 = this;
    return (0,D_progr_mobileappv3_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* (message, cacheOnly = false) {
      let cacheData;
      try {
        cacheData = yield _this2.request.cacheService.getRawItem('CACHED_FILES:' + message.cacheId);
      } catch (e) {
        cacheData = false;
      }
      const allowedName = [..._environments_settings__WEBPACK_IMPORTED_MODULE_5__.ALLOWED_EXTENSIONS_FILE.name, ..._environments_settings__WEBPACK_IMPORTED_MODULE_5__.ALLOWED_EXTENSIONS_IMG.name];
      const allowedMimeType = [..._environments_settings__WEBPACK_IMPORTED_MODULE_5__.ALLOWED_EXTENSIONS_FILE.value, ..._environments_settings__WEBPACK_IMPORTED_MODULE_5__.ALLOWED_EXTENSIONS_IMG.value];
      if (cacheData) {
        const ext = JSON.parse(cacheData.value).file.fileMimeType.toLowerCase();
        message.base64 = 'data:' + allowedMimeType[allowedName.indexOf(ext)] + ';base64,' + JSON.parse(cacheData.value).file.base64;
        message.preview = 'img';
        message.cacheId = JSON.parse(cacheData.value).file.cacheId;
      } else if (!cacheOnly) {
        message.loading = true;
        message.error = false;
        _this2.request.getRequest(_this2.request.uri.appealFileGet(message.fileId), {
          preloader: false,
          onlyCacheOrRequest: true,
          background: true
        }).subscribe({
          next: response => {
            if (response.result) {
              const ext = response.file.fileMimeType.toLowerCase();
              message.base64 = 'data:' + allowedMimeType[allowedName.indexOf(ext)] + ';base64,' + response.file.base64;
              message.preview = 'img';
              message.cacheId = response.file.cacheId;
              message.loading = false;
              message.error = false;
            } else {
              message.loading = false;
              message.error = true;
            }
            _this2.request.cache('CACHED_FILES:' + message.cacheId, response, false, 'image');
          },
          error: error => {
            message.loading = false;
            message.error = true;
            console.error(error);
          }
        });
      }
    }).apply(this, arguments);
  }
  toggleFocus(isFocus) {
    this.isFocus = isFocus;
  }
  scroll(event) {
    if (!this.readonly) {
      if (this.chat.nativeElement.scrollTop >= 0 && this.appTheme.prefers === 'light') {
        this.toolbar.el.setAttribute('style', 'box-shadow: 0 0 40px rgba(104, 122, 147, min(' + this.chat.nativeElement.scrollTop / 100 + ', .48))');
      } else if (this.chat.nativeElement.scrollTop < 0 && this.appTheme.prefers === 'light') {
        this.toolbar.el.setAttribute('style', 'box-shadow: 0 0 40px rgba(104, 122, 147, min(' + 0 / 100 + ', .48))');
      }
      this.userScrolling = this.getMaxScroll() - 10 > this.chat.nativeElement.scrollTop;
    }
  }
  inputInput(ev) {
    if (!this.userScrolling && !this.readonly) {
      this.chat.nativeElement.scrollTo(0, this.getMaxScroll());
    }
  }
  previewError(file) {
    file.preview = 'file';
  }
  removeFile(ev, file) {
    var _this3 = this;
    return (0,D_progr_mobileappv3_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* () {
      _this3.alertCtrl.create({
        message: yield (0,rxjs__WEBPACK_IMPORTED_MODULE_13__.lastValueFrom)(_this3.translate.get('APPEALS.APPLICATIONS_FORM_PAGE.CREATE_PAGE.FILE_REMOVE')),
        buttons: [{
          text: yield (0,rxjs__WEBPACK_IMPORTED_MODULE_13__.lastValueFrom)(_this3.translate.get('BUTTONS.NO')),
          role: 'cancel'
        }, {
          text: yield (0,rxjs__WEBPACK_IMPORTED_MODULE_13__.lastValueFrom)(_this3.translate.get('BUTTONS.YES')),
          handler: () => {
            _this3.files.splice(_this3.files.indexOf(file), 1);
          }
        }]
      }).then(alert => {
        alert.present();
      });
      ev.stopPropagation();
    })();
  }
  attachment() {
    var _this4 = this;
    return (0,D_progr_mobileappv3_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* () {
      if (!(0,_ionic_angular__WEBPACK_IMPORTED_MODULE_14__.isPlatform)('android')) {
        _this4.addFile.nativeElement.click();
      } else {
        _this4.actionSheetCtrl.create({
          buttons: [{
            text: yield (0,rxjs__WEBPACK_IMPORTED_MODULE_13__.lastValueFrom)(_this4.translate.get("APPEALS.APPLICATIONS_FORM_PAGE.CREATE_PAGE.FILES_ADD_ACTION.CAMERA")),
            icon: 'camera',
            handler: () => {
              _this4.camera.getPicture({
                quality: 20,
                destinationType: _this4.camera.DestinationType.DATA_URL,
                encodingType: _this4.camera.EncodingType.PNG,
                mediaType: _this4.camera.MediaType.PICTURE,
                sourceType: _this4.camera.PictureSourceType.CAMERA
              }).then(data => {
                let allFiles = _this4.files;
                allFiles.push({
                  fileName: 'ph_' + Math.round(Math.random() * 1000) + '.png',
                  mimeType: 'image/png',
                  size: data.length / 4 * 3,
                  base64: 'data:image/png;base64,' + data,
                  preview: 'img'
                });
                _this4.files = allFiles;
                _this4.cdr.detectChanges();
              }).catch(err => {});
            }
          }, {
            text: yield (0,rxjs__WEBPACK_IMPORTED_MODULE_13__.lastValueFrom)(_this4.translate.get("APPEALS.APPLICATIONS_FORM_PAGE.CREATE_PAGE.FILES_ADD_ACTION.IMAGE")),
            icon: 'images',
            handler: () => _this4.addImage.nativeElement.click()
          }, {
            text: yield (0,rxjs__WEBPACK_IMPORTED_MODULE_13__.lastValueFrom)(_this4.translate.get("APPEALS.APPLICATIONS_FORM_PAGE.CREATE_PAGE.FILES_ADD_ACTION.FILE")),
            icon: 'document',
            handler: () => _this4.addFile.nativeElement.click()
          }, {
            text: yield (0,rxjs__WEBPACK_IMPORTED_MODULE_13__.lastValueFrom)(_this4.translate.get("BUTTONS.CANCEL")),
            role: 'cancel'
          }]
        }).then(actionSheet => {
          actionSheet.present();
        });
      }
    })();
  }
  fileEvent(ev) {
    var _this5 = this;
    let files = ev.target.files;
    let reader = new FileReader();
    reader.onerror = /*#__PURE__*/(0,D_progr_mobileappv3_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* () {
      _this5.alertCtrl.create({
        header: yield (0,rxjs__WEBPACK_IMPORTED_MODULE_13__.lastValueFrom)(_this5.translate.get("ERROR_STRING.ERROR_HEADER")),
        message: yield (0,rxjs__WEBPACK_IMPORTED_MODULE_13__.lastValueFrom)(_this5.translate.get("ERROR_STRING.ERROR_GET_FILE")),
        buttons: [yield (0,rxjs__WEBPACK_IMPORTED_MODULE_13__.lastValueFrom)(_this5.translate.get("BUTTONS.OK"))]
      }).then(/*#__PURE__*/function () {
        var _ref4 = (0,D_progr_mobileappv3_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* (alert) {
          yield alert.present();
        });
        return function (_x4) {
          return _ref4.apply(this, arguments);
        };
      }());
    });
    let i = 0;
    reader.onloadend = /*#__PURE__*/function () {
      var _ref5 = (0,D_progr_mobileappv3_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* (evt) {
        let fileMimeType = null;
        let fileSize = 0;
        let fileBase64 = '';
        fileBase64 = evt.target['result'];
        if (typeof fileBase64 === "string") {
          fileMimeType = fileBase64.split(';')[0].split(':')[1];
        }
        let allFiles = _this5.files;
        if (fileMimeType == null || fileBase64 == '') {
          if (!_this5.alertBrokenFile) {
            _this5.alertCtrl.create({
              header: yield (0,rxjs__WEBPACK_IMPORTED_MODULE_13__.lastValueFrom)(_this5.translate.get("ERROR_STRING.ATTENTION_HEADER")),
              message: yield (0,rxjs__WEBPACK_IMPORTED_MODULE_13__.lastValueFrom)(_this5.translate.get("ERROR_STRING.FILE_IS_BROKEN")),
              buttons: [yield (0,rxjs__WEBPACK_IMPORTED_MODULE_13__.lastValueFrom)(_this5.translate.get("BUTTONS.OK"))]
            }).then(/*#__PURE__*/function () {
              var _ref6 = (0,D_progr_mobileappv3_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* (alert) {
                alert.onDidDismiss().then(() => {
                  _this5.alertBrokenFile = false;
                });
                yield alert.present();
                _this5.alertBrokenFile = true;
              });
              return function (_x6) {
                return _ref6.apply(this, arguments);
              };
            }());
          }
        } else if ([..._environments_settings__WEBPACK_IMPORTED_MODULE_5__.ALLOWED_EXTENSIONS_IMG.value, ..._environments_settings__WEBPACK_IMPORTED_MODULE_5__.ALLOWED_EXTENSIONS_FILE.value].indexOf(fileMimeType) < 0) {
          if (!_this5.alertExtFile) {
            _this5.alertCtrl.create({
              header: yield (0,rxjs__WEBPACK_IMPORTED_MODULE_13__.lastValueFrom)(_this5.translate.get("ERROR_STRING.ATTENTION_HEADER")),
              message: (yield (0,rxjs__WEBPACK_IMPORTED_MODULE_13__.lastValueFrom)(_this5.translate.get("ERROR_STRING.MIME_TYPE_FILE_FAIL"))) + "\n" + (yield (0,rxjs__WEBPACK_IMPORTED_MODULE_13__.lastValueFrom)(_this5.translate.get("ERROR_STRING.MIME_TYPE_FILE"))) + [..._environments_settings__WEBPACK_IMPORTED_MODULE_5__.ALLOWED_EXTENSIONS_IMG.name, ..._environments_settings__WEBPACK_IMPORTED_MODULE_5__.ALLOWED_EXTENSIONS_FILE.name].join(', '),
              buttons: [yield (0,rxjs__WEBPACK_IMPORTED_MODULE_13__.lastValueFrom)(_this5.translate.get("BUTTONS.OK"))]
            }).then(/*#__PURE__*/function () {
              var _ref7 = (0,D_progr_mobileappv3_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* (alert) {
                alert.onDidDismiss().then(() => {
                  _this5.alertExtFile = false;
                });
                yield alert.present();
                _this5.alertExtFile = true;
              });
              return function (_x7) {
                return _ref7.apply(this, arguments);
              };
            }());
          }
        } else {
          fileSize = files[i].size;
          if (fileSize > _environments_settings__WEBPACK_IMPORTED_MODULE_5__.MAX_FILE_SIZE_UPLOAD) {
            if (!_this5.alertSizeFile) {
              _this5.alertCtrl.create({
                header: yield (0,rxjs__WEBPACK_IMPORTED_MODULE_13__.lastValueFrom)(_this5.translate.get("ERROR_STRING.ATTENTION_HEADER")),
                message: yield (0,rxjs__WEBPACK_IMPORTED_MODULE_13__.lastValueFrom)(_this5.translate.get("ERROR_STRING.MAX_FILESIZE_FAIL", {
                  value: _environments_settings__WEBPACK_IMPORTED_MODULE_5__.MAX_FILE_SIZE_UPLOAD / 1024 / 1024 + 'МБ'
                })),
                buttons: [yield (0,rxjs__WEBPACK_IMPORTED_MODULE_13__.lastValueFrom)(_this5.translate.get("BUTTONS.OK"))]
              }).then(/*#__PURE__*/function () {
                var _ref8 = (0,D_progr_mobileappv3_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* (alert) {
                  alert.onDidDismiss().then(() => {
                    _this5.alertSizeFile = false;
                  });
                  yield alert.present();
                  _this5.alertSizeFile = true;
                });
                return function (_x8) {
                  return _ref8.apply(this, arguments);
                };
              }());
            }
          } else {
            allFiles.push({
              fileName: files[i].name,
              mimeType: fileMimeType,
              size: fileSize,
              base64: fileBase64,
              preview: 'img'
            });
            _this5.files = allFiles;
            _this5.cdr.detectChanges();
          }
        }
        i++;
        if (files[i] !== undefined) {
          if (allFiles.length >= _environments_settings__WEBPACK_IMPORTED_MODULE_5__.MAX_FILE_COUNT_UPLOAD) {
            if (!_this5.alertMaxCountFiles) {
              _this5.alertCtrl.create({
                header: yield (0,rxjs__WEBPACK_IMPORTED_MODULE_13__.lastValueFrom)(_this5.translate.get("ERROR_STRING.ATTENTION_HEADER")),
                message: yield (0,rxjs__WEBPACK_IMPORTED_MODULE_13__.lastValueFrom)(_this5.translate.get("ERROR_STRING.MAX_COUNT_FILES", {
                  value: _environments_settings__WEBPACK_IMPORTED_MODULE_5__.MAX_FILE_COUNT_UPLOAD
                })),
                buttons: [yield (0,rxjs__WEBPACK_IMPORTED_MODULE_13__.lastValueFrom)(_this5.translate.get("BUTTONS.OK"))]
              }).then(/*#__PURE__*/function () {
                var _ref9 = (0,D_progr_mobileappv3_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* (alert) {
                  alert.onDidDismiss().then(() => {
                    _this5.alertMaxCountFiles = false;
                  });
                  yield alert.present();
                  _this5.alertMaxCountFiles = true;
                });
                return function (_x9) {
                  return _ref9.apply(this, arguments);
                };
              }());
            }
            _this5.addFile.nativeElement.value = '';
            _this5.addImage.nativeElement.value = '';
          } else {
            reader.readAsDataURL(files[i]);
          }
        } else {
          _this5.addFile.nativeElement.value = '';
          _this5.addImage.nativeElement.value = '';
        }
      });
      return function (_x5) {
        return _ref5.apply(this, arguments);
      };
    }();
    reader.readAsDataURL(files[i]);
  }
  send(ev, message) {
    ev.stopPropagation();
    if (this.messageInput.length === 0 && this.files.length === 0 && !message) {
      return '';
    }
    let params = {
      messageText: '',
      messageFiles: []
    };
    let newMessage;
    let files = [];
    if (message) {
      message.sendStatus = 0;
      if (!message.is_attachment) {
        newMessage = message;
        params.messageText = message['содержание'];
      } else {
        files.push(message);
        params.messageFiles.push({
          name: message.fileName,
          base64File: message.base64.split('base64,')[1]
        });
      }
    } else {
      if (this.messageInput.trim() !== '') {
        newMessage = {
          is_attachment: false,
          is_incoming: 0,
          'автор': '',
          created_at: new Date().toLocaleString('ru-RU').replace(',', ''),
          'содержание': this.messageInput,
          'состояние': 0,
          sendStatus: 0
        };
        this.messages.push(newMessage);
        params.messageText = this.messageInput;
      }
      this.messageInput = '';
      this.files.forEach(file => {
        const newFile = {
          is_attachment: true,
          is_incoming: 0,
          'автор': '',
          created_at: new Date().toLocaleString('ru-RU').replace(',', ''),
          'содержание': file.fileName,
          'состояние': 0,
          fileName: file.fileName,
          base64: file.base64,
          loading: false,
          preview: 'img',
          error: false,
          sendStatus: 0
        };
        files.push(newFile);
        this.messages.push(newFile);
        params.messageFiles.push({
          name: file.fileName,
          base64File: file.base64.split('base64,')[1]
        });
      });
      this.files = [];
    }
    this.request.postRequest(this.request.uri.appealSendMessagePost(this.appeal.id), params, {
      useCache: false,
      preloader: false,
      background: true
    }).subscribe({
      next: response => {
        if (response.result) {
          if (newMessage != null) {
            newMessage.sendStatus = 1;
          }
          files.forEach(file => {
            file.sendStatus = 1;
          });
        } else {
          if (newMessage != null) {
            newMessage.sendStatus = 2;
          }
          if (newMessage != null) {
            newMessage.sendStatus = 2;
          }
          files.forEach(file => {
            file.sendStatus = 2;
          });
        }
      },
      error: error => {
        if (newMessage != null) {
          newMessage.sendStatus = 2;
        }
        files.forEach(file => {
          file.sendStatus = 2;
        });
      }
    });
  }
  scrollToBottom(ev) {
    this.content.scrollToBottom(0);
  }
  openPreview(file) {
    if (file.base64) {
      const mimeType = this.fileService.getMimeType(file.base64);
      if (mimeType.includes('image')) {
        this.modalController.create({
          component: _modals_file_preview_modal_file_preview_modal_component__WEBPACK_IMPORTED_MODULE_10__.FilePreviewModalComponent,
          componentProps: {
            file: file.base64,
            fileName: file.fileName
          }
        }).then(modal => modal.present());
      } else {
        this.fileService.open(file.fileName.split('.')[0], '', file.base64);
      }
    }
  }
  static {
    this.ctorParameters = () => [{
      type: _awesome_cordova_plugins_keyboard_ngx__WEBPACK_IMPORTED_MODULE_3__.Keyboard
    }, {
      type: _services_helper_service__WEBPACK_IMPORTED_MODULE_4__.HelperService
    }, {
      type: _ionic_angular__WEBPACK_IMPORTED_MODULE_15__.AlertController
    }, {
      type: _angular_core__WEBPACK_IMPORTED_MODULE_11__.ChangeDetectorRef
    }, {
      type: _angular_router__WEBPACK_IMPORTED_MODULE_16__.ActivatedRoute
    }, {
      type: _services_request_service__WEBPACK_IMPORTED_MODULE_6__.RequestService
    }, {
      type: _services_app_theme_service__WEBPACK_IMPORTED_MODULE_7__.AppThemeService
    }, {
      type: _ngx_translate_core__WEBPACK_IMPORTED_MODULE_17__.TranslateService
    }, {
      type: _ionic_angular__WEBPACK_IMPORTED_MODULE_15__.ActionSheetController
    }, {
      type: _awesome_cordova_plugins_camera_ngx__WEBPACK_IMPORTED_MODULE_8__.Camera
    }, {
      type: _services_file_service__WEBPACK_IMPORTED_MODULE_9__.FileService
    }, {
      type: _ionic_angular__WEBPACK_IMPORTED_MODULE_15__.ModalController
    }];
  }
  static {
    this.propDecorators = {
      toolbar: [{
        type: _angular_core__WEBPACK_IMPORTED_MODULE_11__.ViewChild,
        args: ['toolbar']
      }],
      content: [{
        type: _angular_core__WEBPACK_IMPORTED_MODULE_11__.ViewChild,
        args: ['content']
      }],
      chat: [{
        type: _angular_core__WEBPACK_IMPORTED_MODULE_11__.ViewChild,
        args: ['chat']
      }],
      attached: [{
        type: _angular_core__WEBPACK_IMPORTED_MODULE_11__.ViewChild,
        args: ['attached']
      }],
      footer: [{
        type: _angular_core__WEBPACK_IMPORTED_MODULE_11__.ViewChild,
        args: ['footer']
      }],
      messageText: [{
        type: _angular_core__WEBPACK_IMPORTED_MODULE_11__.ViewChild,
        args: ['messageText']
      }],
      textarea: [{
        type: _angular_core__WEBPACK_IMPORTED_MODULE_11__.ViewChild,
        args: ['textarea']
      }],
      addFile: [{
        type: _angular_core__WEBPACK_IMPORTED_MODULE_11__.ViewChild,
        args: ['addFile']
      }],
      addImage: [{
        type: _angular_core__WEBPACK_IMPORTED_MODULE_11__.ViewChild,
        args: ['addImage']
      }],
      infiniteScroll: [{
        type: _angular_core__WEBPACK_IMPORTED_MODULE_11__.ViewChild,
        args: [_ionic_angular__WEBPACK_IMPORTED_MODULE_15__.IonInfiniteScroll]
      }]
    };
  }
};
ChatPage = (0,tslib__WEBPACK_IMPORTED_MODULE_18__.__decorate)([(0,_angular_core__WEBPACK_IMPORTED_MODULE_11__.Component)({
  selector: 'app-chat',
  template: _chat_page_html_ngResource__WEBPACK_IMPORTED_MODULE_1__,
  styles: [(_chat_page_scss_ngResource__WEBPACK_IMPORTED_MODULE_2___default())]
})], ChatPage);


/***/ }),

/***/ 11526:
/*!*********************************************************************************************************************!*\
  !*** ./src/app/pages/tabs/appeals/applications-form/chat/modals/file-preview-modal/file-preview-modal.component.ts ***!
  \*********************************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   FilePreviewModalComponent: () => (/* binding */ FilePreviewModalComponent)
/* harmony export */ });
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! tslib */ 24398);
/* harmony import */ var _file_preview_modal_component_html_ngResource__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./file-preview-modal.component.html?ngResource */ 48374);
/* harmony import */ var _file_preview_modal_component_scss_ngResource__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./file-preview-modal.component.scss?ngResource */ 42818);
/* harmony import */ var _file_preview_modal_component_scss_ngResource__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_file_preview_modal_component_scss_ngResource__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/core */ 37580);
/* harmony import */ var _ionic_angular__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @ionic/angular */ 21507);
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @angular/common */ 60316);
/* harmony import */ var _services_file_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../../services/file.service */ 24704);







let FilePreviewModalComponent = class FilePreviewModalComponent {
  constructor(fileService, modalController, injector) {
    this.fileService = fileService;
    this.modalController = modalController;
    this.injector = injector;
  }
  ngOnInit() {
    this.subscribeOnSaveStatuses();
  }
  dismiss() {
    this.modalController.dismiss();
  }
  loadFile() {
    this.fileService.saveBase64(this.file);
  }
  subscribeOnSaveStatuses() {
    (0,_angular_core__WEBPACK_IMPORTED_MODULE_3__.effect)(() => {
      const {
        isSuccessSave$,
        isErrorSave$
      } = this.fileService;
      this.icon = isSuccessSave$() ? 'checkmark-outline' : 'close-outline';
      setTimeout(() => {
        isSuccessSave$.set(false);
        isErrorSave$.set(false);
      }, 1000);
    }, {
      injector: this.injector,
      allowSignalWrites: true
    });
  }
  static {
    this.ctorParameters = () => [{
      type: _services_file_service__WEBPACK_IMPORTED_MODULE_2__.FileService
    }, {
      type: _ionic_angular__WEBPACK_IMPORTED_MODULE_4__.ModalController
    }, {
      type: _angular_core__WEBPACK_IMPORTED_MODULE_3__.Injector
    }];
  }
  static {
    this.propDecorators = {
      file: [{
        type: _angular_core__WEBPACK_IMPORTED_MODULE_3__.Input
      }],
      fileName: [{
        type: _angular_core__WEBPACK_IMPORTED_MODULE_3__.Input
      }]
    };
  }
};
FilePreviewModalComponent = (0,tslib__WEBPACK_IMPORTED_MODULE_5__.__decorate)([(0,_angular_core__WEBPACK_IMPORTED_MODULE_3__.Component)({
  selector: 'app-file-preview-modal',
  template: _file_preview_modal_component_html_ngResource__WEBPACK_IMPORTED_MODULE_0__,
  standalone: true,
  imports: [_ionic_angular__WEBPACK_IMPORTED_MODULE_4__.IonicModule, _angular_common__WEBPACK_IMPORTED_MODULE_6__.NgOptimizedImage],
  styles: [(_file_preview_modal_component_scss_ngResource__WEBPACK_IMPORTED_MODULE_1___default())]
})], FilePreviewModalComponent);


/***/ }),

/***/ 31200:
/*!*************************************************************************************!*\
  !*** ./src/app/pages/tabs/appeals/applications-form/chat/chat.page.scss?ngResource ***!
  \*************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

// Imports
var ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = __webpack_require__(/*! ../../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js */ 53142);
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../../../../../node_modules/css-loader/dist/runtime/api.js */ 35950);
var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);
// Module
___CSS_LOADER_EXPORT___.push([module.id, `ion-content {
  --padding-start: 0;
  --padding-end: 0;
}
ion-content .content-chat {
  width: 100%;
  height: 100%;
  overflow: auto;
}
ion-content .messages {
  width: 100%;
  max-width: 562px;
  margin: auto;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 100%;
  padding: 24px 24px;
  gap: 8px;
}
ion-content .messages .message {
  width: min-content;
  max-width: 75%;
  font-size: 14px;
  overflow: hidden;
  position: relative;
}
ion-content .messages .message-incoming {
  border-radius: 8px 8px 8px 0;
  align-self: flex-start;
}
ion-content .messages .message-incoming .message-text, ion-content .messages .message-incoming .message-file-bg {
  background: var(--base-color-dark-background);
}
ion-content .messages .message-incoming .message-text .message-file-date, ion-content .messages .message-incoming .message-file-bg .message-file-date {
  color: initial;
}
ion-content .messages .message-incoming .message-file-date {
  color: var(--custom-color-white);
}
ion-content .messages .message-incoming .message-text-date {
  text-align: start;
}
ion-content .messages .message-outcoming {
  border-radius: 8px 8px 0 8px;
  align-self: flex-end;
  color: var(--custom-color-white);
}
ion-content .messages .message-outcoming .message-text, ion-content .messages .message-outcoming .message-file-bg {
  background: var(--ion-color-primary-lighten-1);
}
ion-content .messages .message-outcoming .message-text-date {
  text-align: end;
}
ion-content .messages .message-text {
  padding: 16px;
  min-width: 180px;
  max-width: calc(100% - 20px);
  width: auto;
}
ion-content .messages .message-text p {
  margin: 0;
}
ion-content .messages .message-text-date {
  font-size: 12px;
  margin: 8px 0 -10px 0px;
}
ion-content .messages .message-file {
  min-width: 180px;
  min-height: 60px;
  display: flex;
  align-items: center;
  position: relative;
}
ion-content .messages .message-file-bg .message-file-date {
  position: absolute;
  bottom: 0;
  right: 0;
  background: none;
  border-radius: 0;
  padding: 0 16px 6px 0;
}
ion-content .messages .message-file-full {
  min-width: 180px;
  min-height: 180px;
}
ion-content .messages .message-file-date {
  position: absolute;
  bottom: 0;
  right: 0;
  background: rgba(var(--base-color-icon-rgb), 0.6);
  border-radius: 8px;
  padding: 2px 5px;
  font-size: 12px;
  color: var(--custom-color-white);
}
ion-content .messages .message-file-preview {
  width: 50px;
  height: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
}
ion-content .messages .message-file-preview img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
ion-content .messages .message-file-preview ion-icon {
  width: 44px;
  height: 44px;
  margin: 0 5px;
}
ion-content .messages .message-file-preview .load {
  opacity: 0.2;
}
ion-content .messages .message-file-loading, ion-content .messages .message-file-error {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  background: rgba(var(--ion-color-tertiary-contrast-rgb), 0.2);
}
ion-content .messages .message-file-loading ion-spinner, ion-content .messages .message-file-error ion-spinner {
  --color: var(--custom-color-white);
}
ion-content .messages .message-file-loading ion-icon, ion-content .messages .message-file-error ion-icon {
  width: 32px;
  height: 32px;
  color: var(--ion-color-danger);
}
ion-content .messages .message .sending {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  background: rgba(var(--ion-color-tertiary-contrast-rgb), 0.2);
}
ion-content .messages .message .sending ion-spinner {
  --color: var(--custom-color-white);
}
ion-content .messages .message .sending ion-icon {
  width: 32px;
  height: 32px;
  color: var(--ion-color-danger);
}
ion-content .messages .message-error {
  color: var(--ion-color-danger);
  width: 100%;
  text-align: center;
}
ion-content .appeal {
  display: flex;
  flex-direction: column;
  gap: 8px;
  background: var(--base-color-dark-background);
  margin-bottom: calc(var(--ion-safe-area-bottom) + 50px);
}
ion-content .appeal-header {
  display: flex;
  flex-direction: column;
  padding: 24px calc(max((100% - 562px) / 2, 0px) + 24px) 24px calc(max((100% - 562px) / 2, 0px) + 24px);
  gap: 16px;
  background: var(--background);
}
ion-content .appeal-header-status {
  font-size: 16px;
  font-weight: 500;
  color: var(--font-color-primary);
}
ion-content .appeal-header-text {
  font-size: 16px;
  line-height: 24px;
  color: var(--font-color-secondary);
}
ion-content .appeal-body {
  display: flex;
  flex-direction: column;
  padding: 24px calc(max((100% - 562px) / 2, 0px) + 24px) 24px calc(max((100% - 562px) / 2, 0px) + 24px);
  gap: 16px;
  background: var(--background);
}
ion-content .appeal-body-attachments {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
ion-content .appeal-body-attachments-title {
  font-size: 18px;
  font-weight: 500;
  color: var(--font-color-primary);
}
ion-content .appeal-body-attachments-files {
  display: flex;
  width: 100%;
  column-gap: 24px;
  row-gap: 12px;
  flex-wrap: wrap;
}
ion-content .appeal-body-attachments-files-arr {
  display: flex;
  flex-direction: column;
  width: 64px;
  height: 110px;
  border-radius: 8px;
  overflow: visible;
  align-items: center;
  justify-content: flex-start;
  margin: 0;
  box-shadow: none;
  position: relative;
  contain: initial;
  background: none;
}
ion-content .appeal-body-attachments-files-arr-remove {
  position: absolute;
  right: -17px;
  top: -17px;
  width: 34px;
  height: 34px;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9;
  transition: 0.2s;
}
ion-content .appeal-body-attachments-files-arr-remove:active {
  transform: scale(0.9);
}
ion-content .appeal-body-attachments-files-arr-remove-icon {
  background: var(--ion-color-danger);
  width: 20px;
  height: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 10px;
}
ion-content .appeal-body-attachments-files-arr-remove-icon ion-icon {
  width: 14px;
  height: 14px;
  color: var(--custom-color-white);
  position: relative;
}
ion-content .appeal-body-attachments-files-arr-preview, ion-content .appeal-body-attachments-files-arr-preview-bg {
  width: 64px;
  height: 64px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 8px;
  overflow: hidden;
  position: relative;
}
ion-content .appeal-body-attachments-files-arr-preview .message-file-loading, ion-content .appeal-body-attachments-files-arr-preview-bg .message-file-loading {
  position: absolute;
  background: rgba(var(--ion-color-light-rgb), 0.7);
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
ion-content .appeal-body-attachments-files-arr-preview-bg, ion-content .appeal-body-attachments-files-arr-preview-bg-bg {
  background: var(--ion-color-primary-lighten-5);
}
ion-content .appeal-body-attachments-files-arr-preview-bg ion-icon, ion-content .appeal-body-attachments-files-arr-preview-bg-bg ion-icon {
  width: 32px;
  height: 32px;
  color: var(--ion-color-primary);
}
ion-content .appeal-body-attachments-files-arr-preview img, ion-content .appeal-body-attachments-files-arr-preview-bg img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
ion-content .appeal-body-attachments-files-arr-name {
  width: 80px;
  overflow: hidden;
  text-align: center;
  position: relative;
  margin: auto 0;
}
ion-content .appeal-body-messages {
  display: flex;
  flex-direction: column;
}
ion-content .appeal-body-messages-title {
  font-size: 18px;
  font-weight: 500;
  color: var(--font-color-primary);
}
ion-content .appeal-body-messages .messages {
  padding: 24px 0 0 0;
}

ion-footer {
  background: transparent;
  padding: 0 !important;
}
ion-footer ion-toolbar {
  transition: all 0.42s cubic-bezier(0, 1, 0.56, 1) 0s;
}
ion-footer .attachments {
  padding: 0 max(0px, (100vw - 562px) / 2) 0 max(0px, (100vw - 562px) / 2);
  --padding-top: 0;
  --padding-bottom: 0;
  --padding-start: 0;
  --padding-end: 0;
  --min-height: 0;
}
ion-footer .attachments .appeal-files {
  display: flex;
  width: 100%;
  gap: 12px;
  padding: 16px 16px 0 16px;
  overflow: auto;
}
ion-footer .attachments .appeal-files-header {
  margin-top: 24px;
  text-align: left;
  font-size: 18px;
  font-weight: 500;
  color: var(--font-color-primary);
}
ion-footer .attachments .appeal-files-block {
  display: flex;
  gap: 24px;
  margin: 24px 0;
  flex-wrap: wrap;
}
ion-footer .attachments .appeal-files-block-arr, ion-footer .attachments .appeal-files-block-arr-bg {
  display: flex;
  flex-direction: column;
  width: 80px;
  height: 80px;
  border-radius: 8px;
  overflow: visible;
  align-items: center;
  justify-content: flex-start;
  margin: 0 0 16px 0;
  box-shadow: none;
  position: relative;
}
ion-footer .attachments .appeal-files-block-arr-bg, ion-footer .attachments .appeal-files-block-arr-bg-bg {
  background: var(--ion-color-primary-lighten-5);
}
ion-footer .attachments .appeal-files-block-arr-remove, ion-footer .attachments .appeal-files-block-arr-bg-remove {
  position: absolute;
  right: -4px;
  top: -4px;
  width: 30px;
  height: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9;
  transition: 0.2s;
}
ion-footer .attachments .appeal-files-block-arr-remove:active, ion-footer .attachments .appeal-files-block-arr-bg-remove:active {
  transform: scale(0.9);
}
ion-footer .attachments .appeal-files-block-arr-remove-icon, ion-footer .attachments .appeal-files-block-arr-bg-remove-icon {
  background: var(--ion-color-danger);
  width: 16px;
  height: 16px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 10px;
}
ion-footer .attachments .appeal-files-block-arr-remove-icon ion-icon, ion-footer .attachments .appeal-files-block-arr-bg-remove-icon ion-icon {
  width: 14px;
  height: 14px;
  color: var(--custom-color-white);
  position: relative;
}
ion-footer .attachments .appeal-files-block-arr-preview, ion-footer .attachments .appeal-files-block-arr-preview-bg, ion-footer .attachments .appeal-files-block-arr-bg-preview, ion-footer .attachments .appeal-files-block-arr-bg-preview-bg {
  width: 80px;
  min-width: 80px;
  height: 80px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 8px;
  overflow: hidden;
  position: relative;
}
ion-footer .attachments .appeal-files-block-arr-preview-bg, ion-footer .attachments .appeal-files-block-arr-preview-bg-bg, ion-footer .attachments .appeal-files-block-arr-bg-preview-bg, ion-footer .attachments .appeal-files-block-arr-bg-preview-bg-bg {
  align-self: flex-start;
  align-items: flex-end;
  width: 46px;
  height: 46px;
}
ion-footer .attachments .appeal-files-block-arr-preview-bg ion-icon, ion-footer .attachments .appeal-files-block-arr-preview-bg-bg ion-icon, ion-footer .attachments .appeal-files-block-arr-bg-preview-bg ion-icon, ion-footer .attachments .appeal-files-block-arr-bg-preview-bg-bg ion-icon {
  width: 34px;
  height: 34px;
  color: var(--ion-color-primary);
}
ion-footer .attachments .appeal-files-block-arr-preview img, ion-footer .attachments .appeal-files-block-arr-preview-bg img, ion-footer .attachments .appeal-files-block-arr-bg-preview img, ion-footer .attachments .appeal-files-block-arr-bg-preview-bg img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
ion-footer .attachments .appeal-files-block-arr-name, ion-footer .attachments .appeal-files-block-arr-bg-name {
  width: 80px;
  overflow: hidden;
  text-align: center;
  position: relative;
  margin: auto 0;
}
ion-footer .attachments .appeal-files-block-add {
  display: flex;
  width: 64px;
  height: 64px;
  border-radius: 8px;
  background: var(--ion-color-primary-lighten-5);
  overflow: hidden;
  align-items: center;
  justify-content: center;
  margin: 0;
  box-shadow: none;
}
ion-footer .attachments .appeal-files-block-add ion-icon {
  width: 32px;
  height: 32px;
  color: var(--ion-color-primary);
}
ion-footer ion-toolbar {
  --background: var(--base-color-dark-background);
  padding: 0 max(12px, (100vw - 562px) / 2 + 12px) calc(16px + var(--ion-safe-area-bottom)) max(12px, (100vw - 562px) / 2 + 12px);
  --padding-top: 0;
  --padding-bottom: 0;
  --padding-start: 0;
  --padding-end: 0;
  --min-height: 0;
}
ion-footer ion-toolbar ion-buttons {
  align-self: flex-end;
  margin-right: 3px;
}
ion-footer ion-toolbar ion-buttons ion-button {
  width: 38px;
  height: 38px;
  opacity: 1 !important;
  padding: 5px 0 5px 0;
}
ion-footer ion-toolbar ion-buttons ion-button ion-icon {
  color: var(--base-color-icon);
  display: contents;
}
ion-footer ion-toolbar ion-buttons ion-button:before {
  display: none;
}
ion-footer ion-toolbar .text-input {
  border: 1px solid var(--base-color-border-input);
  background: var(--base-color-background);
  border-radius: 17px;
  overflow: auto;
  padding-right: 32px;
  cursor: text;
}
ion-footer ion-toolbar .text-input ion-textarea {
  background: var(--base-color-background);
  height: auto;
  border-radius: 17px;
  max-height: 120px;
  overflow: auto;
  font-size: 16px;
  --padding-top: 0;
  --padding-bottom: 0;
  --padding-start: 0;
  --padding-end: 0;
  padding: 5px 12px;
  line-height: 24px;
  position: relative;
}
ion-footer ion-toolbar .send ion-button {
  width: 38px;
  height: 38px;
  margin: 0;
  padding: 5px 0 5px 0;
  --padding-start: 0;
  --padding-end: 0;
  pointer-events: auto !important;
  position: absolute;
  bottom: 0;
  right: 0;
  opacity: 1 !important;
}
ion-footer ion-toolbar .send ion-button ion-icon {
  color: var(--ion-color-primary);
  transition: 0.15s;
}
ion-footer ion-toolbar .send ion-button:before {
  display: none;
}
ion-footer ion-toolbar .send .button-disabled ion-icon {
  color: var(--base-color-icon);
  opacity: 0.5;
}`, "",{"version":3,"sources":["webpack://./src/app/pages/tabs/appeals/applications-form/chat/chat.page.scss"],"names":[],"mappings":"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","sourcesContent":["ion-content {\n  --padding-start: 0;\n  --padding-end: 0;\n\n  .content-chat {\n    width: 100%;\n    height: 100%;\n    //height: auto;\n    //position: relative;\n    overflow: auto;\n  }\n\n  .messages {\n    width: 100%;\n    max-width: 562px;\n    margin: auto;\n    display: flex;\n    flex-direction: column;\n    justify-content: flex-end;\n    min-height: 100%;\n    padding: 24px 24px;\n    gap: 8px;\n    //position: absolute;\n    //bottom: 0;\n\n    .message {\n      width: min-content;\n      max-width: 75%;\n      font-size: 14px;\n      overflow: hidden;\n      position: relative;\n\n      &-incoming {\n        //background: var(--base-color-dark-background);\n        border-radius: 8px 8px 8px 0;\n        align-self: flex-start;\n\n        .message-text, .message-file-bg {\n          background: var(--base-color-dark-background);\n\n          .message-file-date {\n            color: initial;\n          }\n        }\n\n        .message-file-date {\n          color: var(--custom-color-white);\n        }\n\n        .message-text-date {\n          text-align: start;\n        }\n      }\n\n      &-outcoming {\n        //background: var(--ion-color-primary-lighten-1);\n        border-radius: 8px 8px 0 8px;\n        align-self: flex-end;\n        color: var(--custom-color-white);\n\n        .message-text, .message-file-bg {\n          background: var(--ion-color-primary-lighten-1);\n        }\n\n        .message-text-date {\n          text-align: end;\n        }\n      }\n\n      &-text {\n        padding: 16px;\n        min-width: 180px;\n        max-width: calc(100% - 20px);\n        width: auto;\n\n        p {\n          margin: 0;\n        }\n\n        &-date {\n          font-size: 12px;\n          margin: 8px 0 -10px 0px;\n        }\n      }\n\n      &-file {\n        min-width: 180px;\n        min-height: 60px;\n        display: flex;\n        align-items: center;\n        position: relative;\n        //padding-bottom: 0;\n\n        &-bg {\n          //padding-bottom: 20px;\n\n          .message-file-date {\n            position: absolute;\n            bottom: 0;\n            right: 0;\n            background: none;\n            border-radius: 0;\n            padding: 0 16px 6px 0;\n          }\n        }\n\n        &-full {\n          min-width: 180px;\n          min-height: 180px;\n        }\n\n        &-date {\n          position: absolute;\n          bottom: 0;\n          right: 0;\n          background: rgba(var(--base-color-icon-rgb), 0.6);\n          border-radius: 8px;\n          padding: 2px 5px;\n          font-size: 12px;\n          color: var(--custom-color-white);\n        }\n\n        &-preview {\n          width: 50px;\n          height: 60px;\n          display: flex;\n          justify-content: center;\n          align-items: center;\n\n          img {\n            object-fit: cover;\n            width: 100%;\n            height: 100%;\n          }\n\n          ion-icon {\n            width: 44px;\n            height: 44px;\n            margin: 0 5px;\n          }\n\n          .load {\n            opacity: 0.2;\n          }\n        }\n\n        &-loading, &-error {\n          position: absolute;\n          top: 0;\n          left: 0;\n          right: 0;\n          bottom: 0;\n          display: flex;\n          justify-content: center;\n          align-items: center;\n          background: rgba(var(--ion-color-tertiary-contrast-rgb), 0.2);\n\n          ion-spinner {\n            --color: var(--custom-color-white);\n          }\n\n          ion-icon {\n            width: 32px;\n            height: 32px;\n            color: var(--ion-color-danger);\n          }\n        }\n      }\n\n      .sending {\n        position: absolute;\n        top: 0;\n        left: 0;\n        right: 0;\n        bottom: 0;\n        display: flex;\n        justify-content: center;\n        align-items: center;\n        background: rgba(var(--ion-color-tertiary-contrast-rgb), 0.2);\n\n        ion-spinner {\n          --color: var(--custom-color-white);\n        }\n\n        ion-icon {\n          width: 32px;\n          height: 32px;\n          color: var(--ion-color-danger);\n        }\n      }\n    }\n\n    .message-error {\n      color: var(--ion-color-danger);\n      width: 100%;\n      text-align: center;\n    }\n  }\n\n  .appeal {\n    display: flex;\n    flex-direction: column;\n    gap: 8px;\n    background: var(--base-color-dark-background);\n    margin-bottom: calc(var(--ion-safe-area-bottom) + 50px);\n\n    &-header {\n      display: flex;\n      flex-direction: column;\n      padding: 24px calc(max((100% - 562px) / 2, 0px) + 24px) 24px calc(max((100% - 562px) / 2, 0px) + 24px);\n      gap: 16px;\n      background: var(--background);\n\n      &-status {\n        font-size: 16px;\n        font-weight: 500;\n        color: var(--font-color-primary);\n      }\n\n      &-text {\n        font-size: 16px;\n        line-height: 24px;\n        color: var(--font-color-secondary);\n      }\n    }\n\n    &-body {\n      display: flex;\n      flex-direction: column;\n      padding: 24px calc(max((100% - 562px) / 2, 0px) + 24px) 24px calc(max((100% - 562px) / 2, 0px) + 24px);\n      gap: 16px;\n      background: var(--background);\n\n      &-attachments {\n        display: flex;\n        flex-direction: column;\n        gap: 16px;\n\n        &-title {\n          font-size: 18px;\n          font-weight: 500;\n          color: var(--font-color-primary);\n        }\n        &-files {\n          display: flex;\n          width: 100%;\n          //flex-direction: column;\n          column-gap: 24px;\n          row-gap: 12px;\n          //padding: 16px 16px 0 16px;\n          //overflow: auto;\n          flex-wrap: wrap;\n\n          &-arr {\n            display: flex;\n            flex-direction: column;\n            width: 64px;\n            height: 110px;\n            border-radius: 8px;\n            overflow: visible;\n            align-items: center;\n            justify-content: flex-start;\n            margin: 0;\n            box-shadow: none;\n            position: relative;\n            contain: initial;\n            background: none;\n\n            &-remove {\n              position: absolute;\n              right: -17px;\n              top: -17px;\n              width: 34px;\n              height: 34px;\n              display: flex;\n              justify-content: center;\n              align-items: center;\n              z-index: 9;\n              transition: 0.2s;\n\n              &:active {\n                transform: scale(0.90);\n              }\n\n              &-icon {\n                background: var(--ion-color-danger);\n                width: 20px;\n                height: 20px;\n                display: flex;\n                justify-content: center;\n                align-items: center;\n                border-radius: 10px;\n\n                ion-icon {\n                  width: 14px;\n                  height: 14px;\n                  color: var(--custom-color-white);\n                  //color: var(--ion-color-danger);\n                  position: relative;\n                }\n              }\n            }\n\n            &-preview, &-preview-bg {\n              width: 64px;\n              height: 64px;\n              display: flex;\n              justify-content: center;\n              align-items: center;\n              //background: var(--ion-color-primary-lighten-5);\n              border-radius: 8px;\n              overflow: hidden;\n              position: relative;\n\n              .message-file-loading {\n                position: absolute;\n                background: rgba(var(--ion-color-light-rgb), 0.7);\n                width: 100%;\n                height: 100%;\n                display: flex;\n                justify-content: center;\n                align-items: center;\n              }\n\n              &-bg {\n                background: var(--ion-color-primary-lighten-5);\n\n                ion-icon {\n                  width: 32px;\n                  height: 32px;\n                  color: var(--ion-color-primary);\n                }\n              }\n\n              img {\n                //max-width: 64px;\n                //max-height: 64px;\n                //margin: auto;\n                //position: absolute;\n                object-fit: cover;\n                width: 100%;\n                height: 100%;\n              }\n            }\n\n            &-name {\n              width: 80px;\n              overflow: hidden;\n              text-align: center;\n              position: relative;\n              margin: auto 0;\n              //display: -webkit-box;\n              //-webkit-line-clamp: 2;\n              //-webkit-box-orient: horizontal;\n            }\n          }\n        }\n\n      }\n\n      &-messages {\n        display: flex;\n        flex-direction: column;\n\n        &-title {\n          font-size: 18px;\n          font-weight: 500;\n          color: var(--font-color-primary);\n        }\n\n        .messages {\n          padding: 24px 0 0 0;\n        }\n      }\n    }\n  }\n}\n\nion-footer {\n  //background: var(--base-color-dark-background);\n  background: transparent;\n  padding: 0 !important;\n\n  ion-toolbar {\n    transition: all 0.42s cubic-bezier(0, 1, 0.56, 1) 0s;\n  }\n\n  .attachments {\n    padding: 0 max(0px, calc((100vw - 562px)/2)) 0 max(0px, calc((100vw - 562px)/2));\n    --padding-top: 0;\n    --padding-bottom: 0;\n    --padding-start: 0;\n    --padding-end: 0;\n    --min-height: 0;\n\n    .appeal-files {\n      display: flex;\n      width: 100%;\n      //flex-direction: column;\n      gap: 12px;\n      padding: 16px 16px 0 16px;\n      overflow: auto;\n\n\n      &-header {\n        margin-top: 24px;\n        text-align: left;\n        font-size: 18px;\n        font-weight: 500;\n        color: var(--font-color-primary);\n      }\n      &-block {\n        display: flex;\n        //margin: 0 -24px;\n        gap: 24px;\n        margin: 24px 0;\n        flex-wrap: wrap;\n\n        &-arr, &-arr-bg {\n          display: flex;\n          flex-direction: column;\n          width: 80px;\n          height: 80px;\n          border-radius: 8px;\n          overflow: visible;\n          align-items: center;\n          justify-content: flex-start;\n          margin: 0 0 16px 0;\n          box-shadow: none;\n          position: relative;\n\n          &-bg {\n            background: var(--ion-color-primary-lighten-5);\n          }\n\n          &-remove {\n            position: absolute;\n            right: -4px;\n            top: -4px;\n            width: 30px;\n            height: 30px;\n            display: flex;\n            justify-content: center;\n            align-items: center;\n            z-index: 9;\n            transition: 0.2s;\n\n            &:active {\n              transform: scale(0.90);\n            }\n\n            &-icon {\n              background: var(--ion-color-danger);\n              width: 16px;\n              height: 16px;\n              display: flex;\n              justify-content: center;\n              align-items: center;\n              border-radius: 10px;\n\n              ion-icon {\n                width: 14px;\n                height: 14px;\n                color: var(--custom-color-white);\n                //color: var(--ion-color-danger);\n                position: relative;\n              }\n            }\n          }\n\n          &-preview, &-preview-bg {\n            width: 80px;\n            min-width: 80px;\n            height: 80px;\n            display: flex;\n            justify-content: center;\n            align-items: center;\n            //background: var(--ion-color-primary-lighten-5);\n            border-radius: 8px;\n            overflow: hidden;\n            position: relative;\n\n            &-bg {\n              align-self: flex-start;\n              align-items: flex-end;\n              width: 46px;\n              height: 46px;\n\n              ion-icon {\n                width: 34px;\n                height: 34px;\n                color: var(--ion-color-primary);\n              }\n            }\n\n            img {\n              //max-width: 64px;\n              //max-height: 64px;\n              //margin: auto;\n              //position: absolute;\n              object-fit: cover;\n              width: 100%;\n              height: 100%;\n            }\n          }\n\n          &-name {\n            width: 80px;\n            overflow: hidden;\n            text-align: center;\n            position: relative;\n            margin: auto 0;\n            //display: -webkit-box;\n            //-webkit-line-clamp: 2;\n            //-webkit-box-orient: horizontal;\n          }\n        }\n        &-add {\n          display: flex;\n          width: 64px;\n          height: 64px;\n          border-radius: 8px;\n          background: var(--ion-color-primary-lighten-5);\n          overflow: hidden;\n          align-items: center;\n          justify-content: center;\n          margin: 0;\n          box-shadow: none;\n\n          ion-icon {\n            width: 32px;\n            height: 32px;\n            color: var(--ion-color-primary);\n          }\n        }\n      }\n    }\n  }\n\n  ion-toolbar {\n    --background: var(--base-color-dark-background);\n    padding: 0 max(12px, calc((100vw - 562px)/2 + 12px)) calc(16px + var(--ion-safe-area-bottom)) max(12px, calc((100vw - 562px)/2 + 12px));\n    --padding-top: 0;\n    --padding-bottom: 0;\n    --padding-start: 0;\n    --padding-end: 0;\n    --min-height: 0;\n\n    ion-buttons {\n      align-self: flex-end;\n\n      ion-button {\n        width: 38px;\n        height: 38px;\n        opacity: 1 !important;\n        padding: 5px 0 5px 0;\n\n        ion-icon {\n          color: var(--base-color-icon);\n          display: contents;\n        }\n\n        &:before {\n          display: none;\n        }\n      }\n      margin-right: 3px;\n    }\n\n    .text-input {\n      border: 1px solid var(--base-color-border-input);\n      background: var(--base-color-background);\n      border-radius: 17px;\n      overflow: auto;\n      padding-right: 32px;\n      //padding: 0 32px 0 12px;\n      cursor: text;\n\n      ion-textarea {\n        background: var(--base-color-background);\n        height: auto;\n        border-radius: 17px;\n        max-height: 120px;\n        overflow: auto;\n        font-size: 16px;\n        --padding-top: 0;\n        --padding-bottom: 0;\n        --padding-start: 0;\n        --padding-end: 0;\n        padding: 5px 12px;\n        line-height: 24px;\n        position: relative;\n      }\n    }\n\n    .send {\n      ion-button {\n        width: 38px;\n        height: 38px;\n        margin: 0;\n        padding: 5px 0 5px 0;\n        --padding-start: 0;\n        --padding-end: 0;\n        pointer-events: auto !important;\n        position: absolute;\n        bottom: 0;\n        right: 0;\n        opacity: 1 !important;\n\n        //ion-icon {\n        //  color: var(--base-color-icon);\n        //}\n\n        ion-icon {\n          color: var(--ion-color-primary);\n          transition: 0.15s;\n        }\n\n        &:before {\n          display: none;\n        }\n      }\n\n      .button-disabled {\n        ion-icon {\n          color: var(--base-color-icon);\n          opacity: 0.5;\n        }\n      }\n    }\n  }\n}"],"sourceRoot":""}]);
// Exports
module.exports = ___CSS_LOADER_EXPORT___.toString();


/***/ }),

/***/ 42818:
/*!**********************************************************************************************************************************!*\
  !*** ./src/app/pages/tabs/appeals/applications-form/chat/modals/file-preview-modal/file-preview-modal.component.scss?ngResource ***!
  \**********************************************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

// Imports
var ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = __webpack_require__(/*! ../../../../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js */ 53142);
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../../../../../../../node_modules/css-loader/dist/runtime/api.js */ 35950);
var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);
// Module
___CSS_LOADER_EXPORT___.push([module.id, `ion-content {
  overflow: hidden;
}
ion-content .image-block {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}
ion-content .image-block img {
  max-height: 100%;
}

.status-block {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.status-block .status-element {
  background: rgba(0, 0, 0, 0.5);
  width: 50px;
  height: 50px;
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.status-block .status-element ion-icon {
  width: 25px;
  height: 25px;
  color: white;
}`, "",{"version":3,"sources":["webpack://./src/app/pages/tabs/appeals/applications-form/chat/modals/file-preview-modal/file-preview-modal.component.scss"],"names":[],"mappings":"AAAA;EACE,gBAAA;AACF;AACE;EACE,aAAA;EACA,sBAAA;EACA,uBAAA;EACA,mBAAA;EACA,WAAA;EACA,YAAA;AACJ;AACI;EACE,gBAAA;AACN;;AAIA;EACE,eAAA;EACA,MAAA;EACA,OAAA;EACA,WAAA;EACA,YAAA;EACA,aAAA;EACA,sBAAA;EACA,uBAAA;EACA,mBAAA;AADF;AAGE;EACE,8BAAA;EACA,WAAA;EACA,YAAA;EACA,kBAAA;EACA,aAAA;EACA,sBAAA;EACA,uBAAA;EACA,mBAAA;AADJ;AAGI;EACE,WAAA;EACA,YAAA;EACA,YAAA;AADN","sourcesContent":["ion-content {\n  overflow: hidden;\n\n  .image-block {\n    display: flex;\n    flex-direction: column;\n    justify-content: center;\n    align-items: center;\n    width: 100%;\n    height: 100%;\n\n    img {\n      max-height: 100%;\n    }\n  }\n}\n\n.status-block {\n  position: fixed;\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n  display: flex;\n  flex-direction: column;\n  justify-content: center;\n  align-items: center;\n\n  .status-element {\n    background: rgba(0, 0, 0, 0.5);\n    width: 50px;\n    height: 50px;\n    border-radius: 8px;\n    display: flex;\n    flex-direction: column;\n    justify-content: center;\n    align-items: center;\n\n    ion-icon {\n      width: 25px;\n      height: 25px;\n      color: white;\n    }\n  }\n}\n\n\n"],"sourceRoot":""}]);
// Exports
module.exports = ___CSS_LOADER_EXPORT___.toString();


/***/ }),

/***/ 71666:
/*!*************************************************************************************!*\
  !*** ./src/app/pages/tabs/appeals/applications-form/chat/chat.page.html?ngResource ***!
  \*************************************************************************************/
/***/ ((module) => {

"use strict";
module.exports = "<ion-header class=\"ion-no-border\">\n  <ion-toolbar #toolbar>\n    <ion-buttons slot=\"start\">\n      <ion-back-button text=\"\" icon=\"/assets/icons/Chevron_Left.svg\"></ion-back-button>\n    </ion-buttons>\n      @if (loading$()) {\n          <ion-title>\n              <div class=\"header-fullscreen\">\n                  <div class=\"title\">\n                      <ion-spinner></ion-spinner> {{ 'UPDATING' | translate }}\n                  </div>\n              </div>\n          </ion-title>\n      } @else {\n          <ion-title>\n              {{ 'APPEALS.APPLICATIONS_FORM_PAGE.CHAT_PAGE.TITLE' | translate:{value: appeal.number} }}\n          </ion-title>\n      }\n  </ion-toolbar>\n</ion-header>\n\n<ion-content\n    #content\n    scroll-events=\"true\"\n    scroll-x=\"false\"\n    [scrollY]=\"readonly\"\n    (change)=\"scrollToBottom($event)\"\n>\n    @if (!readonly) {\n        <div class=\"content-chat\" #chat (scroll)=\"scroll($event)\">\n            <div class=\"messages\">\n                @for (message of messages; track message) {\n                    <div\n                        class=\"message\"\n                        (click)=\"openPreview(message)\"\n                        [ngClass]=\"message['is_incoming'] == 1 ? 'message-incoming' : 'message-outcoming'\"\n                    >\n                        @if (message['is_attachment'] == 0) {\n                            <div class=\"message-text\">\n                                @if (message['is_incoming'] == 0) {\n                                    <p>{{ message['содержание'] }}</p>\n                                } @else if (message['is_incoming'] == 1) {\n                                    <p [innerHTML]=\"message['содержание']\"></p>\n                                }\n                                <div class=\"message-text-date\">\n                                    {{ helper.dateConvert(message['created_at'], 'dd.mm.yyyy hh:mm:ss', true) }}\n                                </div>\n                            </div>\n                        }@else if (message['is_attachment'] == 1) {\n                            <div\n                                class=\"message-file\"\n                                [ngStyle]=\"message.preview == 'file' ? {paddingBottom: '20px'} : {}\"\n                                [ngClass]=\"message.preview == 'file' || !message.base64 ? 'message-file-bg' : ''\"\n                            >\n                                <div class=\"message-file-preview\" [ngClass]=\"message.preview == 'img' ? 'message-file-full' : ''\">\n                                    @if (message.base64 && message.preview == 'img') {\n                                        <img [src]=\"message.base64\" (error)=\"previewError(message)\" />\n                                    } @else if (message.loading) {\n                                        <div class=\"message-file-loading\">\n                                            <ion-spinner name=\"crescent\"></ion-spinner>\n                                        </div>\n                                    } @else if (message.error) {\n                                        <div class=\"message-file-error\" (click)=\"getFile(message)\">\n                                            <ion-icon src=\"assets/icons/Close.svg\"></ion-icon>\n                                        </div>\n                                    }\n                                    <ion-icon [hidden]=\"message.preview == 'img' && message.base64\" [ngClass]=\"!message.base64 ? 'load' : ''\" src=\"assets/icons/File.svg\"></ion-icon>\n                                </div>\n                                <!--        <div class=\"message-file-preview-bg\" [ngClass]=\"message.base64 ? '' : 'load'\"  [hidden]=\"['jpg'].indexOf(message.fileName.split('.')[1]) > 0\">-->\n                                <!--&lt;!&ndash;          <ion-icon src=\"assets/icons/File.svg\"></ion-icon>&ndash;&gt;-->\n                                <!--          <img [src]=\"message.base64\" (error)=\"previewError(message)\" />-->\n                                <!--        </div>-->\n                                <div [hidden]=\"message.preview == 'img'\" class=\"message-file-name\">\n                                    {{ helper.shortFileName(message.fileName, 12) }}\n                                    <!--          {{ message.preview }}-->\n                                </div>\n\n                                <div class=\"message-file-date\">\n                                    {{ helper.dateConvert(message['created_at'], 'dd.mm.yyyy hh:mm:ss', true) }}\n                                </div>\n                            </div>\n                        }\n                        @if (message.sendStatus == 0) {\n                            <div class=\"sending\">\n                                <ion-spinner name=\"crescent\"></ion-spinner>\n                            </div>\n                        } @else if (message.sendStatus == 2) {\n                            <div class=\"sending\" (click)=\"send($event, message)\">\n                                <ion-icon src=\"assets/icons/Close.svg\"></ion-icon>\n                            </div>\n                        }\n                    </div>\n                }\n                @if (messagesError !== '') {\n                    <div class=\"message-error\">{{ messagesError }}</div>\n                }\n            </div>\n        </div>\n    } @else {\n        <div class=\"appeal\">\n            <div class=\"appeal-header\">\n                <div class=\"appeal-header-status\">{{ appeal.status }}</div>\n                <div class=\"appeal-header-text\">{{ appeal.description }}</div>\n            </div>\n            <div class=\"appeal-body\">\n                @if (files.length > 1) {\n                    <div class=\"appeal-body-attachments\">\n                        <div class=\"appeal-body-attachments-title\">Прикрепленные файлы</div>\n                        <div class=\"appeal-body-attachments-files\">\n                            @for (file of files; track file) {\n                                <ion-card class=\"appeal-body-attachments-files-arr el-anim-tap\" (click)=\"openPreview(file)\">\n                                    @if (file.base64 && file.preview == 'img') {\n                                        <div class=\"appeal-body-attachments-files-arr-preview\">\n                                            <img [src]=\"file.base64\" (error)=\"previewError(file)\" />\n                                        </div>\n                                    }\n                                    <div class=\"appeal-body-attachments-files-arr-preview-bg\" [hidden]=\"file.preview == 'img' && file.base64\">\n                                        <ion-icon src=\"assets/icons/File.svg\"></ion-icon>\n                                        @if (file.loading) {\n                                            <div class=\"message-file-loading\">\n                                                <ion-spinner name=\"crescent\"></ion-spinner>\n                                            </div>\n                                        }\n                                    </div>\n\n                                    <div class=\"appeal-body-attachments-files-arr-name\">{{ helper.shortFileName(file.fileName, 16) }}</div>\n                                </ion-card>\n                            }\n                        </div>\n                    </div>\n                }\n                @if (messages.length > 1) {\n                    <div class=\"appeal-body-messages\">\n                        <div class=\"appeal-body-messages-title\">Работа по обращению</div>\n                        <div class=\"messages\">\n                            @for (message of messages; let key = $index; track message) {\n                                <div\n                                    class=\"message\"\n                                    [hidden]=\"key == 0\" [ngClass]=\"message['is_incoming'] == 1 ? 'message-incoming' : 'message-outcoming'\"\n                                    (click)=\"openPreview(message)\"\n                                >\n                                    @if (message['is_attachment'] == 0) {\n                                        <div class=\"message-text\">\n                                            <p [innerHTML]=\"message['содержание']\"></p>\n                                            <div class=\"message-text-date\">\n                                                {{ helper.dateConvert(message['created_at'], 'dd.mm.yyyy hh:mm:ss', true) }}\n                                            </div>\n                                        </div>\n                                    } @else {\n                                        <div\n                                                class=\"message-file\"\n                                                [ngStyle]=\"message.preview == 'file' ? {paddingBottom: '20px'} : {}\"\n                                                [ngClass]=\"message.preview == 'file' || !message.base64 ? 'message-file-bg' : ''\"\n                                        >\n                                            <div class=\"message-file-preview\" [ngClass]=\"message.preview == 'img' ? 'message-file-full' : ''\">\n                                                @if (message.base64 && message.preview == 'img') {\n                                                    <img [src]=\"message.base64\" (error)=\"previewError(message)\" />\n                                                }\n                                                <ion-icon\n                                                        src=\"assets/icons/File.svg\"\n                                                        [hidden]=\"message.preview == 'img' && message.base64\"\n                                                        [ngClass]=\"!message.base64 ? 'load' : ''\"\n                                                ></ion-icon>\n                                                @if (message.loading) {\n                                                    <div class=\"message-file-loading\">\n                                                        <ion-spinner name=\"crescent\"></ion-spinner>\n                                                    </div>\n                                                } @else if (message.error) {\n                                                    <div class=\"message-file-error\">\n                                                        <ion-icon src=\"assets/icons/Close.svg\"></ion-icon>\n                                                    </div>\n                                                }\n                                            </div>\n                                            <!--        <div class=\"message-file-preview-bg\" [ngClass]=\"message.base64 ? '' : 'load'\"  [hidden]=\"['jpg'].indexOf(message.fileName.split('.')[1]) > 0\">-->\n                                            <!--&lt;!&ndash;          <ion-icon src=\"assets/icons/File.svg\"></ion-icon>&ndash;&gt;-->\n                                            <!--          <img [src]=\"message.base64\" (error)=\"previewError(message)\" />-->\n                                            <!--        </div>-->\n                                            <div [hidden]=\"message.preview == 'img'\" class=\"message-file-name\">\n                                                {{ helper.shortFileName(message.fileName, 12) }}\n                                                <!--          {{ message.preview }}-->\n                                            </div>\n\n                                            <div class=\"message-file-date\">\n                                                {{ helper.dateConvert(message['created_at'], 'dd.mm.yyyy hh:mm:ss', true) }}\n                                            </div>\n                                        </div>\n                                    }\n                                </div>\n                            }\n                        </div>\n                    </div>\n                }\n            </div>\n        </div>\n    }\n</ion-content>\n@if (!readonly) {\n    <ion-footer class=\"ion-no-border\" no-back>\n        <ion-toolbar class=\"attachments\">\n            <div #attached class=\"appeal-files\">\n                @for (file of files; track file) {\n                    <ion-card\n                        class=\"el-anim-tap\"\n                        [ngClass]=\"file.preview == 'img' ? 'appeal-files-block-arr' : 'appeal-files-block-arr-bg'\"\n                        (click)=\"openPreview(file)\"\n                    >\n                        <div class=\"appeal-files-block-arr-remove el-anim-tap not-anim-background\" (click)=\"removeFile($event, file)\">\n                            <div class=\"appeal-files-block-arr-remove-icon\">\n                                <ion-icon src=\"assets/icons/Close.svg\"></ion-icon>\n                            </div>\n                        </div>\n\n                        <div class=\"appeal-files-block-arr-preview\" [hidden]=\"file.preview != 'img'\">\n                            <img [src]=\"file.base64\" (error)=\"previewError(file)\" />\n                        </div>\n                        <div class=\"appeal-files-block-arr-preview-bg\" [hidden]=\"file.preview == 'img'\">\n                            <ion-icon src=\"assets/icons/File.svg\"></ion-icon>\n                        </div>\n                        @if (file.preview != 'img') {\n                            <div class=\"appeal-files-block-arr-name\">{{ helper.shortFileName(file.fileName, 8) }}</div>\n                        }\n                    </ion-card>\n                }\n            </div>\n        </ion-toolbar>\n\n        <ion-toolbar #footer>\n            <ion-buttons slot=\"start\">\n                <ion-button (click)=\"attachment()\">\n                    <ion-icon src=\"/assets/icons/Add_Circle.svg\"></ion-icon>\n                </ion-button>\n                <input\n                    #addFile\n                    style=\"display:none\"\n                    type=\"file\"\n                    accept=\"{{ allowedExtFiles }}\"\n                    multiple\n                    (change)=\"fileEvent($event)\"\n                >\n\n                <input\n                    #addImage\n                    style=\"display: none\"\n                    type=\"file\"\n                    accept=\"image/*\"\n                    multiple\n                    (change)=\"fileEvent($event)\"\n                >\n            </ion-buttons>\n\n            <div class=\"text-input\" #messageText (click)=\"textarea.setFocus()\">\n                <ion-textarea\n                  #textarea\n                  placeholder=\"{{ 'APPEALS.APPLICATIONS_FORM_PAGE.CHAT_PAGE.PLACEHOLDER' | translate }}\"\n                  enterkeyhint=\"send\"\n                  rows=\"1\"\n                  spellcheck=\"true\"\n                  [autoGrow]=\"true\"\n                  [(ngModel)]=\"messageInput\"\n                  (ionFocus)=\"toggleFocus(true)\"\n                  (ionBlur)=\"toggleFocus(false)\"\n                  (ionInput)=\"inputInput($event)\">\n                </ion-textarea>\n            </div>\n\n            <ion-buttons class=\"send\" slot=\"end\">\n                <ion-button\n                    expand=\"block\"\n                    fill=\"clear\"\n                    [disabled]=\"messageInput.length === 0 && files.length === 0\"\n                    (click)=\"send($event)\"\n                >\n                    <ion-icon src=\"/assets/icons/Send.svg\"></ion-icon>\n                </ion-button>\n            </ion-buttons>\n        </ion-toolbar>\n    </ion-footer>\n}\n";

/***/ }),

/***/ 48374:
/*!**********************************************************************************************************************************!*\
  !*** ./src/app/pages/tabs/appeals/applications-form/chat/modals/file-preview-modal/file-preview-modal.component.html?ngResource ***!
  \**********************************************************************************************************************************/
/***/ ((module) => {

"use strict";
module.exports = "<ion-header class=\"ion-no-border\">\n    <ion-toolbar>\n        <ion-buttons slot=\"end\">\n            <ion-button type=\"button\" fill=\"clear\" (click)=\"dismiss()\">\n                <ion-icon src=\"/assets/icons/Close.svg\"></ion-icon>\n            </ion-button>\n        </ion-buttons>\n\n        <ion-buttons slot=\"start\">\n            <ion-button type=\"button\" fill=\"clear\" (click)=\"loadFile()\">\n                <ion-icon src=\"/assets/icons/Arrow_Collapse_Down.svg\"></ion-icon>\n            </ion-button>\n        </ion-buttons>\n    </ion-toolbar>\n</ion-header>\n\n<ion-content>\n    <div class=\"image-block\">\n        <img draggable=\"true\" [src]=\"file\" [alt]=\"fileName\">\n    </div>\n\n\n\n</ion-content>\n\n@if (fileService.isSuccessSave$() || fileService.isErrorSave$()) {\n    <div class=\"status-block\">\n        <div class=\"status-element\">\n            <ion-icon [name]=\"icon\"></ion-icon>\n        </div>\n    </div>\n}\n";

/***/ })

}]);
//# sourceMappingURL=src_app_pages_tabs_appeals_applications-form_chat_chat_module_ts.js.map