asap-feed-beta 12.7.4 → 12.7.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -604,7 +604,7 @@ class AsapFeedBetaComponent {
604
604
  AsapFeedBetaComponent.decorators = [
605
605
  { type: Component, args: [{
606
606
  selector: 'asap-feed-beta',
607
- template: "<!-- <code>{{publication}}/{{hasID}}/{{isSinglePost}}</code> -->\n\n<ng-container *ngIf=\"!settings?.channelsHidden\">\n <app-stories *ngIf=\"stories && !hasID && !isSinglePost\"></app-stories>\n</ng-container>\n\n<feed-publication [settings]=\"settings\" [announce]=\"announce\" (feedCreated)=\"onNewFeed($event)\" (filter)=\"reload($event)\" *ngIf=\"publication && !hasID && !isSinglePost\"></feed-publication>\n\n<!-- Este trecho do c\u00F3digo foi removido, pois ele fazia o Feed ficar flicando na tela. -->\n<ng-container *ngIf=\"!feeds\">\n <div [class.col-sm-8]=\"hasID\" [class.mx-auto]=\"hasID\"> \n <ng-container *ngFor=\"let item of [0,1]\">\n <div>\n <mat-card class=\"feed-card mb-4\">\n <mat-card-header class=\"feed-header\">\n <div class=\"mr-3\" mat-card-avatar>\n <ngx-skeleton-loader animation=\"progress\" appearance=\"circle\" [theme]=\"{height:'40px'}\">\n </ngx-skeleton-loader>\n </div>\n <mat-card-title>\n <ngx-skeleton-loader animation=\"progress\" [theme]=\"{height:'25px','transform': 'initial', marginBottom: '0'}\">\n </ngx-skeleton-loader>\n <ngx-skeleton-loader animation=\"progress\" [theme]=\"{height:'15px','transform': 'initial'}\">\n </ngx-skeleton-loader>\n </mat-card-title>\n\n </mat-card-header>\n\n <ng-container>\n <ngx-skeleton-loader animation=\"progress\" [theme]=\"{height:'400px','transform': 'initial'}\">\n </ngx-skeleton-loader>\n </ng-container>\n\n </mat-card>\n </div>\n </ng-container>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"feeds\">\n <ng-container *ngFor=\"let item of feeds\">\n <div [class.focus-on-me]=\"item.focus\" [class.col-sm-8]=\"hasID\" [class.mx-auto]=\"hasID\">\n <app-feed-item [owner]=\"this\" [settings]=\"settings\" [item]=\"item\" (isVisible)=\"sendVisible($event)\"></app-feed-item>\n </div>\n </ng-container>\n</ng-container>\n\n<div *ngIf=\"loading\">\n <ngx-skeleton-loader animation=\"progress\" [theme]=\"{height:'40px', width:'100%'}\"></ngx-skeleton-loader>\n</div>\n\n<div infiniteScroll [infiniteScrollDistance]=\"2\" [infiniteScrollThrottle]=\"2000\" [infiniteScrollDisabled]=\"\n loading || \n paginate.count >= paginate.limit || \n isSinglePost || \n paginate.last_document === paginate.next_document\" (scrolled)=\"getMore()\">\n</div>\n\n<button \n *ngIf=\"showToTopButton\" \n (click)=\"gotoTop()\" \n style=\"position: fixed;\n bottom: 0;\n right: 0;\n color:#FFFF;\n font-size: 20px;\n margin-right: 10px;\n margin-bottom: 10px;\n height: 35px;\n width: 35px;\n border: none;\n text-align: center;\n border-radius: 50%;\n outline: none;\n transition: all 1s ease-in;\n background-color: var(--main-color);\n z-index: 99999;\"\n class=\"d-none d-sm-block\">\n <i class=\"fa fa-angle-up\"></i>\n</button>\n",
607
+ template: "<ng-container *ngIf=\"!settings?.channelsHidden\">\n <app-stories *ngIf=\"stories && !hasID && !isSinglePost\"></app-stories>\n</ng-container>\n\n<feed-publication [settings]=\"settings\" [announce]=\"announce\" (feedCreated)=\"onNewFeed($event)\" (filter)=\"reload($event)\" *ngIf=\"publication && !hasID && !isSinglePost\"></feed-publication>\n\n<!-- Este trecho do c\u00F3digo foi removido, pois ele fazia o Feed ficar flicando na tela. -->\n<ng-container *ngIf=\"!feeds\">\n <div [class.col-sm-8]=\"hasID\" [class.mx-auto]=\"hasID\"> \n <ng-container *ngFor=\"let item of [0,1]\">\n <div>\n <mat-card class=\"feed-card mb-4\">\n <mat-card-header class=\"feed-header\">\n <div class=\"mr-3\" mat-card-avatar>\n <ngx-skeleton-loader animation=\"progress\" appearance=\"circle\" [theme]=\"{height:'40px'}\">\n </ngx-skeleton-loader>\n </div>\n <mat-card-title>\n <ngx-skeleton-loader animation=\"progress\" [theme]=\"{height:'25px','transform': 'initial', marginBottom: '0'}\">\n </ngx-skeleton-loader>\n <ngx-skeleton-loader animation=\"progress\" [theme]=\"{height:'15px','transform': 'initial'}\">\n </ngx-skeleton-loader>\n </mat-card-title>\n\n </mat-card-header>\n\n <ng-container>\n <ngx-skeleton-loader animation=\"progress\" [theme]=\"{height:'400px','transform': 'initial'}\">\n </ngx-skeleton-loader>\n </ng-container>\n\n </mat-card>\n </div>\n </ng-container>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"feeds\">\n <ng-container *ngFor=\"let item of feeds\">\n <div [class.focus-on-me]=\"item.focus\" [class.col-sm-8]=\"hasID\" [class.mx-auto]=\"hasID\">\n <app-feed-item [owner]=\"this\" [settings]=\"settings\" [item]=\"item\" (isVisible)=\"sendVisible($event)\"></app-feed-item>\n </div>\n </ng-container>\n</ng-container>\n\n<div *ngIf=\"loading\">\n <ngx-skeleton-loader animation=\"progress\" [theme]=\"{height:'40px', width:'100%'}\"></ngx-skeleton-loader>\n</div>\n\n<div infiniteScroll [infiniteScrollDistance]=\"2\" [infiniteScrollThrottle]=\"2000\" [infiniteScrollDisabled]=\"\n loading || \n paginate.count >= paginate.limit || \n isSinglePost || \n paginate.last_document === paginate.next_document\" (scrolled)=\"getMore()\">\n</div>\n\n<button \n *ngIf=\"showToTopButton\" \n (click)=\"gotoTop()\" \n style=\"position: fixed;\n bottom: 0;\n right: 0;\n color:#FFFF;\n font-size: 20px;\n margin-right: 10px;\n margin-bottom: 10px;\n height: 35px;\n width: 35px;\n border: none;\n text-align: center;\n border-radius: 50%;\n outline: none;\n transition: all 1s ease-in;\n background-color: var(--main-color);\n z-index: 99999;\"\n class=\"d-none d-sm-block\">\n <i class=\"fa fa-angle-up\"></i>\n</button>\n",
608
608
  styles: ['./asap-feed.beta.componente.scss']
609
609
  }] }
610
610
  ];
@@ -791,7 +791,7 @@ class AsapTabFeedComponent {
791
791
  AsapTabFeedComponent.decorators = [
792
792
  { type: Component, args: [{
793
793
  selector: 'asap-tab-feed',
794
- template: "<ng-container *ngIf=\"!settings?.channelsHidden\">\n <app-stories></app-stories>\n</ng-container>\n\n<feed-publication [settings]=\"settings\" [hideFilterByMe]=\"true\" [announce]=\"false\" (feedCreated)=\"feed?.onNewFeed($event)\"></feed-publication>\n\n<div *ngIf=\"settings?.tabs\" class=\"asap-tab-feed\">\n <mat-tab-group (selectedTabChange)=\"onChangeTab($event)\" dynamicHeight>\n <mat-tab [label]=\"settings.tabs.channel\" *ngIf=\"settings.tabs.channel_list?.length\">\n <ng-container *ngIf=\"canShow == 0\">\n <asap-feed-beta [settings]=\"settings\"></asap-feed-beta>\n </ng-container>\n </mat-tab>\n <mat-tab *ngIf=\"settings.tabs.feed\" [label]=\"settings.tabs.feed\">\n <ng-container *ngIf=\"canShow == 1\">\n <asap-feed-beta #feed [settings]=\"settings\"></asap-feed-beta>\n </ng-container>\n </mat-tab>\n <mat-tab *ngIf=\"settings.tabs.feed_users\" [label]=\"settings.tabs.feed_users\">\n <ng-container *ngIf=\"canShow == 2\">\n <asap-feed-beta #feed [settings]=\"settings\"></asap-feed-beta>\n </ng-container>\n </mat-tab>\n <mat-tab *ngIf=\"settings.tabs.allFeed\" [label]=\"settings.tabs.allFeed\">\n <ng-container *ngIf=\"canShow == 3\">\n <asap-feed-beta #feed [settings]=\"settings\"></asap-feed-beta>\n </ng-container>\n </mat-tab>\n </mat-tab-group>\n</div>",
794
+ template: "<ng-container *ngIf=\"!settings?.channelsHidden\">\n <app-stories></app-stories>\n</ng-container>\n\n<feed-publication [settings]=\"settings\" [hideFilterByMe]=\"true\" [announce]=\"false\" (feedCreated)=\"feed?.onNewFeed($event)\"></feed-publication>\n\n<div *ngIf=\"settings?.tabs\" class=\"asap-tab-feed\">\n <mat-tab-group (selectedTabChange)=\"onChangeTab($event)\" dynamicHeight>\n <mat-tab *ngIf=\"settings.tabs.allFeed\" [label]=\"settings.tabs.allFeed\">\n <ng-container *ngIf=\"canShow == 3\">\n <asap-feed-beta #feed [settings]=\"settings\"></asap-feed-beta>\n </ng-container>\n </mat-tab>\n <mat-tab [label]=\"settings.tabs.channel\" *ngIf=\"settings.tabs.channel_list?.length\">\n <ng-container *ngIf=\"canShow == 0\">\n <asap-feed-beta [settings]=\"settings\"></asap-feed-beta>\n </ng-container>\n </mat-tab>\n <mat-tab *ngIf=\"settings.tabs.feed\" [label]=\"settings.tabs.feed\">\n <ng-container *ngIf=\"canShow == 1\">\n <asap-feed-beta #feed [settings]=\"settings\"></asap-feed-beta>\n </ng-container>\n </mat-tab>\n <mat-tab *ngIf=\"settings.tabs.feed_users\" [label]=\"settings.tabs.feed_users\">\n <ng-container *ngIf=\"canShow == 2\">\n <asap-feed-beta #feed [settings]=\"settings\"></asap-feed-beta>\n </ng-container>\n </mat-tab>\n </mat-tab-group>\n</div>",
795
795
  styles: [""]
796
796
  }] }
797
797
  ];
@@ -1842,14 +1842,16 @@ class FeedItemComponent {
1842
1842
  * @param {?} dialog
1843
1843
  * @param {?} service
1844
1844
  * @param {?} translate
1845
+ * @param {?} sanitizer
1845
1846
  */
1846
- constructor(streamService, db, global, dialog, service, translate) {
1847
+ constructor(streamService, db, global, dialog, service, translate, sanitizer) {
1847
1848
  this.streamService = streamService;
1848
1849
  this.db = db;
1849
1850
  this.global = global;
1850
1851
  this.dialog = dialog;
1851
1852
  this.service = service;
1852
1853
  this.translate = translate;
1854
+ this.sanitizer = sanitizer;
1853
1855
  this.isVisible = new EventEmitter();
1854
1856
  this.imageLoaded = false;
1855
1857
  this.imageDataLoaded = false;
@@ -1861,6 +1863,7 @@ class FeedItemComponent {
1861
1863
  ngOnInit() {
1862
1864
  this.loadVisibilityControls();
1863
1865
  if (this.item.files && this.item.files.length > 0) {
1866
+ this.item.linkifiedTitle = this.sanitizedLinkify(this.item.title);
1864
1867
  this.item.files.map((/**
1865
1868
  * @param {?} feed
1866
1869
  * @return {?}
@@ -1951,6 +1954,15 @@ class FeedItemComponent {
1951
1954
  this.videoplayer.nativeElement.play();
1952
1955
  }
1953
1956
  }
1957
+ /**
1958
+ * @param {?} str
1959
+ * @return {?}
1960
+ */
1961
+ sanitizedLinkify(str) {
1962
+ /** @type {?} */
1963
+ const sanitized = this.sanitizer.bypassSecurityTrustHtml(this.linkify(str));
1964
+ return sanitized;
1965
+ }
1954
1966
  /**
1955
1967
  * @param {?} str
1956
1968
  * @return {?}
@@ -1976,11 +1988,11 @@ class FeedItemComponent {
1976
1988
  */
1977
1989
  function (match, url, www, mail, twitler) {
1978
1990
  if (url)
1979
- return "<a class='text-primary' target='_blank' (click)='redirectNewLink(url)' href=\"" + url + "\">" + url + "</a>";
1991
+ return "<a class='text-primary' target='_blank' href=\"" + url + "\">" + url + "</a>";
1980
1992
  if (www)
1981
1993
  return "<a class='text-primary' href=\"http://" + www + "\">" + www + "</a>";
1982
1994
  if (mail)
1983
- return "<a class='text-primary' href=\"#</a>";
1995
+ return "<a class='text-primary' href=\"mailto://" + mail + "\">" + mail + "</a>";
1984
1996
  if (twitler)
1985
1997
  return "<a class='text-primary' href=\"portal/search/" + encodeURIComponent('#' + twitler) + "\">#" + twitler + "</a>";
1986
1998
  // return "<a class='text-primary' href=\"#\">#" + twitler + "</a>";
@@ -2114,7 +2126,7 @@ class FeedItemComponent {
2114
2126
  FeedItemComponent.decorators = [
2115
2127
  { type: Component, args: [{
2116
2128
  selector: 'app-feed-item',
2117
- template: "<ng-container *ngIf=\"item && item.status && !item.deleted\">\n <mat-card #visibleControl class=\"feed-card\" id=\"{{ item.id +'#'+ item.type}}\">\n <mat-card-header class=\"feed-header ml-2\">\n <popover-content #myPopover placement=\"auto right\" [closeOnClickOutside]=\"false\" [closeOnMouseOutside]=\"false\"\n [animation]=\"true\">\n <div class='minibio'>\n <img\n [src]=\"(item.user_info?.picture)? item.user_info.picture : 'assets/img/default-avatar.png' || 'assets/img/default-avatar.png'\"\n (error)=\"item.user_info.picture = 'assets/img/default-avatar.png'\" alt=\"{{ item?.user_info?.name }}\">\n <div class=\"info\"><b>{{ item?.user_info?.name }}</b><br />\n <!-- <span class=\"location\"><i class=\"icon fa fa-globe\" aria-hidden=\"true\"></i>&nbsp;Fortaleza/CE</span> -->\n </div>\n </div>\n </popover-content>\n <div mat-card-avatar>\n <a [routerLink]=\"['/profile',item.user_info?.id]\"><img\n [src]=\"(item.user_info?.picture)? item.user_info.picture : 'assets/img/default-avatar.png' || 'assets/img/default-avatar.png'\"\n class=\"feed-avatar mr-1\" (error)=\"item.user_info.picture = 'assets/img/default-avatar.png'\"\n alt=\"{{ item?.user_info?.name }}\" [popover]=\"myPopover\" [popoverOnHover]=\"true\"></a>\n </div>\n\n <mat-card-title>\n <h4 class=\"ml-2\"><b><a [routerLink]=\"['/profile',item.user_info?.id]\">{{ item?.user_info?.name }}</a> <i\n *ngIf=\"item?.channel_id\" class=\"material-icons text-primary\" matTooltip=\"Este \u00E9 um post Institucional\"\n matTooltipClass=\"tooltip-primary\">done_all</i></b>\n </h4>\n <p class=\"ml-2\"> {{ 'SharedPublication' | translate }} <a [routerLink]=\"['/start',item.id]\">{{\n item?.updated_at | amTimeAgo }}</a></p>\n </mat-card-title>\n\n <ng-container *ngIf=\"global.loggedUser()\">\n <div class=\"feed-buttom-option\" *ngIf=\"item.user_info.id === global.loggedUser().id\">\n <button mat-icon-button [matMenuTriggerFor]=\"menu\" [disabled]=\"!item.status\">\n <mat-icon>more_vert</mat-icon>\n </button>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item (click)=\"onEditItem()\" [disabled]=\"!item.status\">\n <mat-icon>create</mat-icon>\n <span>{{ 'Edit' | translate }}</span>\n </button>\n <button mat-menu-item (click)=\"onRemoveItem(item)\" [disabled]=\"!item.status\">\n <mat-icon>delete</mat-icon>\n <span>{{ 'Remove' | translate }}</span>\n </button>\n </mat-menu>\n </div>\n <div *ngIf=\"item.isHighlighted\" matTooltip=\"Post destacado\" class=\"feed-buttom-option pinned-feed\">\n <i class=\"fa fa-thumb-tack fa-lg\"></i>\n </div>\n </ng-container>\n\n </mat-card-header>\n\n <ng-container *ngIf=\"item.type != 'announce'\">\n <ng-container *ngIf=\"!(item.files && item.files.length > 0)\">\n <div class=\"card card-file mt-0 pointer\">\n <!-- <div class=\"card-cover\"> -->\n <ng-container *ngIf=\"item.additional_data && item.additional_data.image\">\n <img style=\"display: none;\" [src]=\"item.additional_data.image\" (load)=\"onloadImage($event)\"\n (error)=\"onErrorImage($event)\">\n\n <div class=\"container-mat-card\" *ngIf=\"imageLoaded\">\n <img class=\"bg-mat-card\" [src]=\"item.additional_data.image\">\n <img mat-card-image [src]=\"item.additional_data.image\">\n </div>\n\n <div class=\"container-mat-card\" *ngIf=\"!imageLoaded\">\n <img mat-card-image [src]=\"'assets/img/background-blur-' + blurBackgroundIndex + '.png'\">\n </div>\n </ng-container>\n <!-- </div> -->\n <a *ngIf=\"item.additional_data && item.additional_data.file_id\"\n [routerLink]=\"['/channel/files/' + item.channel_id +'/'+ item.additional_data.file_id]\" class=\"circle\">\n <i class=\"fa fa-file-text-o\"></i>\n </a>\n <div *ngIf=\"item.additional_data && item.additional_data.description\" class=\"card-content\">\n <div class=\"clearfix\"></div>\n <p class=\"description m-3\" [innerHTML]=\"linkify(item.additional_data.description)\"></p>\n </div>\n </div>\n </ng-container>\n <ng-container *ngIf=\"item.files && item.files.length > 0\">\n\n <ng-container *ngIf=\"item.files.length === 1\">\n <ng-container *ngFor=\"let file of item.files\">\n <ng-container *ngIf=\"file.type == 'image'\">\n\n <img style=\"display: none;\" [src]=\"file.name || file.url\" (load)=\"onloadImage($event)\"\n (error)=\"onErrorImage($event)\">\n\n <div class=\"container-mat-card\" *ngIf=\"imageLoaded\">\n <img class=\"bg-mat-card\" [src]=\"file.name || file.url\">\n <img mat-card-image [src]=\"file.name || file.url\">\n </div>\n\n <div class=\"container-mat-card\" *ngIf=\"!imageLoaded\">\n <img mat-card-image [src]=\"'assets/img/background-blur-' + blurBackgroundIndex + '.png'\">\n </div>\n\n </ng-container>\n\n <ng-container *ngIf=\"file.type == 'video'\">\n <div class=\"carousel custom-carrousel\">\n <div class=\"content\">\n <div class=\"item\">\n <div class=\"video-overlay cloudinary-true\" *ngIf=\"file.isCloudinary == true\"\n [style.background-image]=\"file.thumb | stream: 'backgroundImage'\"></div>\n\n <div class=\"video-overlay youtube-true\" *ngIf=\"!file.isYoutube == true\"\n [style.background-image]=\"file.url | stream: 'styleThumbUrl'\"></div>\n\n <div class=\"video-overlay not-cloudinary-youtube\" *ngIf=\"!file.isCloudinary && !file.isYoutube\"\n [style.background-image]=\"file.url | stream: 'styleThumbUrl'\"></div>\n\n <video attr.type='stream' #videoPlayer *ngIf=\"!file.isCloudinary && !file.isYoutube\"\n (click)=\"playVideo($event)\" (onloadeddata)=\"checkVideoRender(file.url)\"\n class=\"video not-cloudinary-youtube\" width=\"100%\" controls=\"false\" preload=\"metadata\"\n poster=\"{{file?.url | stream:'thumb'}}\">\n <source [src]=\"file.url | stream:'link'\" />\n </video>\n\n <video attr.type='cloudinary' #videoPlayer *ngIf=\"file.isCloudinary == true\"\n (click)=\"playVideo($event)\" (onloadeddata)=\"checkVideoRender(file.url)\"\n class=\"video cloudinary-true\" width=\"100%\" controls=\"false\" preload=\"metadata\"\n poster=\"{{file?.thumb}}\">\n <source [src]=\"file.url\" />\n </video>\n\n <ng-container *ngIf=\"file.isYoutube == true\">\n <iframe attr.type='youtube' #videoPlayer [src]=\"file.url | safe:'resourceUrl'\" frameborder=\"0\"\n frameborder=\"0\" width=\"100%\" class=\"video\"></iframe>\n </ng-container>\n\n </div>\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"file.type == 'pdf' || file.type == 'txt'\">\n <div class=\"container-mat-card px-3\">\n <a [routerLink]=\"['/channel/files/' + file.channel_id + '/' + file.file_id]\" class=\"w-100\">\n\n <div class=\"card card-file mt-0 pointer\">\n <div class=\"card-cover\">\n <a [routerLink]=\"['/channel/files/' + file.channel_id +'/'+ file.file_id]\">\n <ng-container *ngIf=\"file.image\">\n <img [src]=\"file.image\" alt=\"\">\n </ng-container>\n\n <ng-container *ngIf=\"!file.image || file.image == null\">\n <h4 class=\"title\" [innerHTML]=\"linkify(file.title)\"></h4>\n </ng-container>\n </a>\n </div>\n <a [routerLink]=\"['/channel/files/' + file.channel_id +'/'+ file.file_id]\" class=\"circle\">\n <i *ngIf=\"file.type == 'pdf'\" class=\"fa fa-file-pdf-o\"></i>\n <i *ngIf=\"file.type == 'txt'\" class=\"fa fa-file-text-o\"></i>\n </a>\n <div class=\"card-content\">\n <div class=\"clearfix\"></div>\n <p class=\"title mb-1\" style=\"color: #414141 !important; text-shadow: none !important; font-weight: 500 !important;\" [innerHTML]=\"linkify(file.title)\"></p>\n <p class=\"description mb-3\" [innerHTML]=\"linkify(file.description)\"></p>\n </div>\n </div>\n\n </a>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"file.type == 'embed'\">\n <iframe class=\"video\" style=\"height: 280px; width: 100%;margin-top: 15px;\"\n [src]=\"file.url | safe:'resourceUrl'\" frameborder=\"0\" allowfullscreen></iframe>\n </ng-container>\n\n </ng-container>\n </ng-container>\n\n\n <ng-container *ngIf=\"item.files.length > 1\">\n\n <!-- Carrosel de Imavens e v\u00EDdeos -->\n\n <div class=\"swiper-stage\">\n <swiper [config]=\"global.swiperConfig(false)\">\n <div swiperSlide *ngFor=\"let file of item.files; let i = index\">\n <div class=\"swiper-carousel-custom\">\n\n <!-- Imagem -->\n\n <ng-container *ngIf=\"file.type === 'image'\">\n <ng-container *ngIf=\"file.url\">\n <div class=\"swiper-container-img\">\n <div class=\"swiper-bg-blur\" [style.backgroundImage]=\"'url('+file.url+')'\">\n </div>\n <img class=\"img\" [src]=\"file.url\" alt=\"\" (load)=\"onloadImage($event)\"\n (error)=\"onErrorImage($event)\">\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"file.name\">\n <div class=\"swiper-container-img\" [style.backgroundImage]=\"'url('+file.name+')'\">\n <div class=\"swiper-bg-blur\" [style.backgroundImage]=\"'url('+file.name+')'\">\n </div>\n <img class=\"img\" [src]=\"file.name\" alt=\"\" (load)=\"onloadImage($event)\"\n (error)=\"onErrorImage($event)\">\n </div>\n </ng-container>\n </ng-container>\n\n <!-- Video -->\n\n <ng-container *ngIf=\"file.type === 'video'\">\n\n <ng-container>\n\n <div class=\"video-overlay\" *ngIf=\"file.isCloudinary == true\"\n [style.background-image]=\"file.thumb | stream: 'backgroundImage'\">\n </div>\n\n <div class=\"video-overlay\" *ngIf=\"!file.isYoutube == true\"\n [style.background-image]=\"file.url | stream: 'styleThumbUrl'\">\n </div>\n\n <div class=\"video-overlay\" *ngIf=\"!file.isCloudinary && !file.isYoutube\"\n [style.background-image]=\"file.url | stream: 'styleThumbUrl'\">\n </div>\n\n <video attr.type='stream' #videoPlayer *ngIf=\"!file.isCloudinary && !file.isYoutube\"\n (click)=\"playVideo($event)\" (onloadeddata)=\"checkVideoRender(file.url)\" class=\"video\"\n width=\"100%\" controls=\"false\" preload=\"metadata\" poster=\"{{file?.url | stream:'thumb'}}\">\n <source [src]=\"file.url | stream:'link'\" />\n </video>\n\n <video attr.type='cloudinary' #videoPlayer *ngIf=\"file.isCloudinary == true\"\n (click)=\"playVideo($event)\" (onloadeddata)=\"checkVideoRender(file.url)\" class=\"video\"\n width=\"100%\" controls=\"false\" preload=\"metadata\" poster=\"{{file?.thumb}}\">\n <source [src]=\"file.url\" />\n </video>\n\n <ng-container *ngIf=\"file.isYoutube == true\">\n <iframe attr.type='youtube' #videoPlayer [src]=\"file.url | safe:'resourceUrl'\" frameborder=\"0\"\n frameborder=\"0\" width=\"100%\" class=\"video\"></iframe>\n </ng-container>\n\n </ng-container>\n\n <!-- Verifica se o V\u00EDdeo \u00E9 a primeira posi\u00E7\u00E3o do Slide -->\n <!-- <ng-container *ngIf=\" i === 0\">\n\n <div class=\"video-overlay\" *ngIf=\"file.isCloudinary == true\"\n [style.background-image]=\"file.thumb | stream: 'backgroundImage'\">\n </div>\n\n <div class=\"video-overlay\" *ngIf=\"!file.isYoutube == true\"\n [style.background-image]=\"file.url | stream: 'styleThumbUrl'\">\n </div>\n\n <div class=\"video-overlay\" *ngIf=\"!file.isCloudinary && !file.isYoutube\"\n [style.background-image]=\"file.url | stream: 'styleThumbUrl'\">\n </div>\n\n <video attr.type='stream' #videoPlayer\n *ngIf=\"!file.isCloudinary && !file.isYoutube\"\n (click)=\"playVideo($event)\" (onloadeddata)=\"checkVideoRender(file.url)\"\n class=\"video\" width=\"100%\" controls=\"false\" preload=\"metadata\"\n poster=\"{{file.url | stream:'thumb'}}\">\n <source [src]=\"file.url | stream:'link'\" />\n </video>\n\n <video attr.type='cloudinary' #videoPlayer\n *ngIf=\"file.isCloudinary === true\" (click)=\"playVideo($event)\"\n (onloadeddata)=\"checkVideoRender(file.url)\" class=\"video\" width=\"100%\"\n controls=\"false\" preload=\"metadata\" poster=\"{{file.thumb}}\">\n <source [src]=\"file.url\" />\n </video>\n\n <ng-container *ngIf=\"file.isYoutube === true\">\n <iframe attr.type='youtube' #videoPlayer\n [src]=\"file.url | safe:'resourceUrl'\" frameborder=\"0\"\n frameborder=\"0\" width=\"100%\" class=\"video\"></iframe>\n </ng-container>\n\n </ng-container> -->\n\n </ng-container>\n\n <ng-template #infiniteContainer></ng-template>\n </div>\n </div>\n </swiper>\n </div>\n\n <!-- Fim Carrosel de Imagens e V\u00EDdeos -->\n\n </ng-container>\n\n </ng-container>\n\n </ng-container>\n\n <ng-container *ngIf=\"item.type == 'announce'\">\n <div class=\"ribbon ribbon-top-right\"><span>An\u00FAncio</span></div>\n\n <div class=\"swiper-stage\">\n <swiper [config]=\"global.swiperConfig(false)\">\n <div swiperSlide *ngFor=\"let file of item.files; let i = index\">\n <div class=\"swiper-carousel-custom\">\n <ng-container *ngIf=\"file.type === 'image'\">\n <div class=\"img\" [style.backgroundImage]=\"'url('+file.name+')'\" *ngIf=\"file.name\">\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"file.type === 'video'\">\n\n <ng-container>\n\n <div class=\"video-overlay\" [style.background-image]=\"file.url | stream:'styleThumbUrl'\">\n </div>\n\n <video class=\"video\" width=\"100%\" preload=\"metadata\" poster=\"{{ file?.url | stream:'thumb' }}\">\n <source [src]=\"file?.url | stream:'link'\" />\n </video>\n\n </ng-container>\n\n </ng-container>\n </div>\n </div>\n <ng-template #infiniteContainer></ng-template>\n </swiper>\n </div>\n\n <div class=\"pull-right mt-3\" [routerLink]=\"['/market/product/', item.product.id]\">\n <button class=\"btn btn-primary\">\n <i class=\"fa fa-shopping-cart\"></i>\n {{ preConvertNumber(item?.product?.valorDe) | currency:'BRL':true}} -\n {{ preConvertNumber(item?.product?.valorAte) | currency:'BRL':true}}\n </button>\n </div>\n <p *ngIf=\"item?.product?.data?.descr\" [innerHTML]=\"item.product.descr\"></p>\n </ng-container>\n\n <div class=\"mat-card-content\">\n <span class=\"ws-pre-wrap post-text mt-1 mb-4\" [innerHTML]=\"linkify(item.title)\"></span>\n <span class=\"ws-pre-wrap post-text mt-1 mb-4\" *ngIf=\"item.additional_data?.type != 'video'\" [innerHTML]=\"linkify(item.additional_data?.description)\"></span>\n \n <feed-actions [settings]=\"settings\" [item]=\"item\"></feed-actions>\n <feed-comments [settings]=\"settings\" [feed_id]=\"item.id\" [user]=\"item.user_info\"></feed-comments>\n </div>\n\n </mat-card>\n</ng-container>\n\n<ng-container *ngIf=\"item && !item.status\">\n <ng-container *ngIf=\"global.loggedUser()\">\n <ng-container *ngIf=\"item.user_info.id === global.loggedUser().id\">\n <ng-container *ngIf=\"item\">\n <mat-card #visibleControl class=\"feed-card\" id=\"{{ item.id +'#'+ item.type}}\">\n <mat-card-header class=\"feed-header ml-2\">\n <div mat-card-avatar>\n <img\n [src]=\"(item.user_info?.picture)? item.user_info.picture : 'assets/img/default-avatar.png' || 'assets/img/default-avatar.png'\"\n class=\"feed-avatar\" (error)=\"item.user_info.picture = 'assets/img/default-avatar.png'\"\n alt=\"{{ item?.user_info?.name }}\">\n </div>\n <mat-card-title>\n <h4><b>{{ item?.user_info?.name }}</b></h4>\n <p> {{ 'SharedPublication' | translate }} <a>{{ item?.updated_at | amTimeAgo }}</a></p>\n </mat-card-title>\n\n <div class=\"feed-buttom-option\" *ngIf=\"false\">\n <button mat-icon-button [matMenuTriggerFor]=\"menu\">\n <mat-icon>more_vert</mat-icon>\n </button>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item (click)=\"false\">\n <mat-icon>create</mat-icon>\n <span>{{ 'Edit' | translate }}</span>\n </button>\n <button mat-menu-item (click)=\"false\">\n <mat-icon>delete</mat-icon>\n <span>{{ 'Remove' | translate }}</span>\n </button>\n </mat-menu>\n </div>\n\n </mat-card-header>\n\n <ng-container>\n <div class=\"col-sm-12 mx-auto text-center post-processing-section\">\n <img src=\"https://image.flaticon.com/icons/svg/2654/2654464.svg\" width=\"30%\">\n <h4>Estamos processando os dados do seu Post!</h4>\n <p>No momento ele est\u00E1 vis\u00EDvel apenas para voc\u00EA, mas logo estar\u00E1 dispon\u00EDvel para todos!</p>\n </div>\n </ng-container>\n \n <div class=\"mat-card-content\">\n <span class=\"ws-pre-wrap post-text mt-1 mb-4\" [innerHTML]=\"linkify(item.title)\"></span>\n <feed-actions [settings]=\"settings\" prefix=\"prefix\" [item]=\"item\"></feed-actions>\n <feed-comments [settings]=\"settings\" prefix=\"prefix\" [feed_id]=\"item.id\" [user]=\"item.user_info\"></feed-comments>\n </div>\n </mat-card>\n </ng-container>\n </ng-container>\n </ng-container>\n</ng-container>\n",
2129
+ template: "<ng-container *ngIf=\"item && item.status && !item.deleted\">\n <mat-card #visibleControl class=\"feed-card\" id=\"{{ item.id +'#'+ item.type}}\">\n <mat-card-header class=\"feed-header ml-2\">\n <popover-content #myPopover placement=\"auto right\" [closeOnClickOutside]=\"false\" [closeOnMouseOutside]=\"false\"\n [animation]=\"true\">\n <div class='minibio'>\n <img\n [src]=\"(item.user_info?.picture)? item.user_info.picture : 'assets/img/default-avatar.png' || 'assets/img/default-avatar.png'\"\n (error)=\"item.user_info.picture = 'assets/img/default-avatar.png'\" alt=\"{{ item?.user_info?.name }}\">\n <div class=\"info\"><b>{{ item?.user_info?.name }}</b><br />\n <!-- <span class=\"location\"><i class=\"icon fa fa-globe\" aria-hidden=\"true\"></i>&nbsp;Fortaleza/CE</span> -->\n </div>\n </div>\n </popover-content>\n <div mat-card-avatar>\n <a [routerLink]=\"['/profile',item.user_info?.id]\"><img\n [src]=\"(item.user_info?.picture)? item.user_info.picture : 'assets/img/default-avatar.png' || 'assets/img/default-avatar.png'\"\n class=\"feed-avatar mr-1\" (error)=\"item.user_info.picture = 'assets/img/default-avatar.png'\"\n alt=\"{{ item?.user_info?.name }}\" [popover]=\"myPopover\" [popoverOnHover]=\"true\"></a>\n </div>\n\n <mat-card-title>\n <h4 class=\"ml-2\"><b><a [routerLink]=\"['/profile',item.user_info?.id]\">{{ item?.user_info?.name }}</a> <i\n *ngIf=\"item?.channel_id\" class=\"material-icons text-primary\" matTooltip=\"Este \u00E9 um post Institucional\"\n matTooltipClass=\"tooltip-primary\">done_all</i></b>\n </h4>\n <p class=\"ml-2\"> {{ 'SharedPublication' | translate }} <a [routerLink]=\"['/start',item.id]\">{{\n item?.updated_at | amTimeAgo }}</a></p>\n </mat-card-title>\n\n <ng-container *ngIf=\"global.loggedUser()\">\n <div class=\"feed-buttom-option\" *ngIf=\"item.user_info.id === global.loggedUser().id\">\n <button mat-icon-button [matMenuTriggerFor]=\"menu\" [disabled]=\"!item.status\">\n <mat-icon>more_vert</mat-icon>\n </button>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item (click)=\"onEditItem()\" [disabled]=\"!item.status\">\n <mat-icon>create</mat-icon>\n <span>{{ 'Edit' | translate }}</span>\n </button>\n <button mat-menu-item (click)=\"onRemoveItem(item)\" [disabled]=\"!item.status\">\n <mat-icon>delete</mat-icon>\n <span>{{ 'Remove' | translate }}</span>\n </button>\n </mat-menu>\n </div>\n <div *ngIf=\"item.isHighlighted\" matTooltip=\"Post destacado\" class=\"feed-buttom-option pinned-feed\">\n <i class=\"fa fa-thumb-tack fa-lg\"></i>\n </div>\n </ng-container>\n\n </mat-card-header>\n\n <ng-container *ngIf=\"item.type != 'announce'\">\n <ng-container *ngIf=\"!(item.files && item.files.length > 0)\">\n <div class=\"card card-file mt-0 pointer\">\n <!-- <div class=\"card-cover\"> -->\n <ng-container *ngIf=\"item.additional_data && item.additional_data.image\">\n <img style=\"display: none;\" [src]=\"item.additional_data.image\" (load)=\"onloadImage($event)\"\n (error)=\"onErrorImage($event)\">\n\n <div class=\"container-mat-card\" *ngIf=\"imageLoaded\">\n <img class=\"bg-mat-card\" [src]=\"item.additional_data.image\">\n <img mat-card-image [src]=\"item.additional_data.image\">\n </div>\n\n <div class=\"container-mat-card\" *ngIf=\"!imageLoaded\">\n <img mat-card-image [src]=\"'assets/img/background-blur-' + blurBackgroundIndex + '.png'\">\n </div>\n </ng-container>\n <!-- </div> -->\n <a *ngIf=\"item.additional_data && item.additional_data.file_id\"\n [routerLink]=\"['/channel/files/' + item.channel_id +'/'+ item.additional_data.file_id]\" class=\"circle\">\n <i class=\"fa fa-file-text-o\"></i>\n </a>\n <div *ngIf=\"item.additional_data && item.additional_data.description\" class=\"card-content\">\n <div class=\"clearfix\"></div>\n <p class=\"description m-3\" [innerHTML]=\"linkify(item.additional_data.description)\"></p>\n </div>\n </div>\n </ng-container>\n <ng-container *ngIf=\"item.files && item.files.length > 0\">\n\n <ng-container *ngIf=\"item.files.length === 1\">\n <ng-container *ngFor=\"let file of item.files\">\n <ng-container *ngIf=\"file.type == 'image'\">\n\n <img style=\"display: none;\" [src]=\"file.name || file.url\" (load)=\"onloadImage($event)\"\n (error)=\"onErrorImage($event)\">\n\n <div class=\"container-mat-card\" *ngIf=\"imageLoaded\">\n <img class=\"bg-mat-card\" [src]=\"file.name || file.url\">\n <img mat-card-image [src]=\"file.name || file.url\">\n </div>\n\n <div class=\"container-mat-card\" *ngIf=\"!imageLoaded\">\n <img mat-card-image [src]=\"'assets/img/background-blur-' + blurBackgroundIndex + '.png'\">\n </div>\n\n </ng-container>\n\n <ng-container *ngIf=\"file.type == 'video'\">\n <div class=\"carousel custom-carrousel\">\n <div class=\"content\">\n <div class=\"item\">\n <div class=\"video-overlay cloudinary-true\" *ngIf=\"file.isCloudinary == true\"\n [style.background-image]=\"file.thumb | stream: 'backgroundImage'\"></div>\n\n <div class=\"video-overlay youtube-true\" *ngIf=\"!file.isYoutube == true\"\n [style.background-image]=\"file.url | stream: 'styleThumbUrl'\"></div>\n\n <div class=\"video-overlay not-cloudinary-youtube\" *ngIf=\"!file.isCloudinary && !file.isYoutube\"\n [style.background-image]=\"file.url | stream: 'styleThumbUrl'\"></div>\n\n <video attr.type='stream' #videoPlayer *ngIf=\"!file.isCloudinary && !file.isYoutube\"\n (click)=\"playVideo($event)\" (onloadeddata)=\"checkVideoRender(file.url)\"\n class=\"video not-cloudinary-youtube\" width=\"100%\" controls=\"false\" preload=\"metadata\"\n poster=\"{{file?.url | stream:'thumb'}}\">\n <source [src]=\"file.url | stream:'link'\" />\n </video>\n\n <video attr.type='cloudinary' #videoPlayer *ngIf=\"file.isCloudinary == true\"\n (click)=\"playVideo($event)\" (onloadeddata)=\"checkVideoRender(file.url)\"\n class=\"video cloudinary-true\" width=\"100%\" controls=\"false\" preload=\"metadata\"\n poster=\"{{file?.thumb}}\">\n <source [src]=\"file.url\" />\n </video>\n\n <ng-container *ngIf=\"file.isYoutube == true\">\n <iframe attr.type='youtube' #videoPlayer [src]=\"file.url | safe:'resourceUrl'\" frameborder=\"0\"\n frameborder=\"0\" width=\"100%\" class=\"video\"></iframe>\n </ng-container>\n\n </div>\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"file.type == 'pdf' || file.type == 'txt'\">\n <div class=\"container-mat-card px-3\">\n <a [routerLink]=\"['/channel/files/' + file.channel_id + '/' + file.file_id]\" class=\"w-100\">\n\n <div class=\"card card-file mt-0 pointer\">\n <div class=\"card-cover\">\n <a [routerLink]=\"['/channel/files/' + file.channel_id +'/'+ file.file_id]\">\n <ng-container *ngIf=\"file.image\">\n <img [src]=\"file.image\" alt=\"\">\n </ng-container>\n\n <ng-container *ngIf=\"!file.image || file.image == null\">\n <h4 class=\"title\" [innerHTML]=\"linkify(file.title)\"></h4>\n </ng-container>\n </a>\n </div>\n <a [routerLink]=\"['/channel/files/' + file.channel_id +'/'+ file.file_id]\" class=\"circle\">\n <i *ngIf=\"file.type == 'pdf'\" class=\"fa fa-file-pdf-o\"></i>\n <i *ngIf=\"file.type == 'txt'\" class=\"fa fa-file-text-o\"></i>\n </a>\n <div class=\"card-content\">\n <div class=\"clearfix\"></div>\n <p class=\"title mb-1\" style=\"color: #414141 !important; text-shadow: none !important; font-weight: 500 !important;\" [innerHTML]=\"linkify(file.title)\"></p>\n <p class=\"description mb-3\" [innerHTML]=\"linkify(file.description)\"></p>\n </div>\n </div>\n\n </a>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"file.type == 'embed'\">\n <iframe class=\"video\" style=\"height: 280px; width: 100%;margin-top: 15px;\"\n [src]=\"file.url | safe:'resourceUrl'\" frameborder=\"0\" allowfullscreen></iframe>\n </ng-container>\n\n </ng-container>\n </ng-container>\n\n\n <ng-container *ngIf=\"item.files.length > 1\">\n\n <!-- Carrosel de Imavens e v\u00EDdeos -->\n\n <div class=\"swiper-stage\">\n <swiper [config]=\"global.swiperConfig(false)\">\n <div swiperSlide *ngFor=\"let file of item.files; let i = index\">\n <div class=\"swiper-carousel-custom\">\n\n <!-- Imagem -->\n\n <ng-container *ngIf=\"file.type === 'image'\">\n <ng-container *ngIf=\"file.url\">\n <div class=\"swiper-container-img\">\n <div class=\"swiper-bg-blur\" [style.backgroundImage]=\"'url('+file.url+')'\">\n </div>\n <img class=\"img\" [src]=\"file.url\" alt=\"\" (load)=\"onloadImage($event)\"\n (error)=\"onErrorImage($event)\">\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"file.name\">\n <div class=\"swiper-container-img\" [style.backgroundImage]=\"'url('+file.name+')'\">\n <div class=\"swiper-bg-blur\" [style.backgroundImage]=\"'url('+file.name+')'\">\n </div>\n <img class=\"img\" [src]=\"file.name\" alt=\"\" (load)=\"onloadImage($event)\"\n (error)=\"onErrorImage($event)\">\n </div>\n </ng-container>\n </ng-container>\n\n <!-- Video -->\n\n <ng-container *ngIf=\"file.type === 'video'\">\n\n <ng-container>\n\n <div class=\"video-overlay\" *ngIf=\"file.isCloudinary == true\"\n [style.background-image]=\"file.thumb | stream: 'backgroundImage'\">\n </div>\n\n <div class=\"video-overlay\" *ngIf=\"!file.isYoutube == true\"\n [style.background-image]=\"file.url | stream: 'styleThumbUrl'\">\n </div>\n\n <div class=\"video-overlay\" *ngIf=\"!file.isCloudinary && !file.isYoutube\"\n [style.background-image]=\"file.url | stream: 'styleThumbUrl'\">\n </div>\n\n <video attr.type='stream' #videoPlayer *ngIf=\"!file.isCloudinary && !file.isYoutube\"\n (click)=\"playVideo($event)\" (onloadeddata)=\"checkVideoRender(file.url)\" class=\"video\"\n width=\"100%\" controls=\"false\" preload=\"metadata\" poster=\"{{file?.url | stream:'thumb'}}\">\n <source [src]=\"file.url | stream:'link'\" />\n </video>\n\n <video attr.type='cloudinary' #videoPlayer *ngIf=\"file.isCloudinary == true\"\n (click)=\"playVideo($event)\" (onloadeddata)=\"checkVideoRender(file.url)\" class=\"video\"\n width=\"100%\" controls=\"false\" preload=\"metadata\" poster=\"{{file?.thumb}}\">\n <source [src]=\"file.url\" />\n </video>\n\n <ng-container *ngIf=\"file.isYoutube == true\">\n <iframe attr.type='youtube' #videoPlayer [src]=\"file.url | safe:'resourceUrl'\" frameborder=\"0\"\n frameborder=\"0\" width=\"100%\" class=\"video\"></iframe>\n </ng-container>\n\n </ng-container>\n\n <!-- Verifica se o V\u00EDdeo \u00E9 a primeira posi\u00E7\u00E3o do Slide -->\n <!-- <ng-container *ngIf=\" i === 0\">\n\n <div class=\"video-overlay\" *ngIf=\"file.isCloudinary == true\"\n [style.background-image]=\"file.thumb | stream: 'backgroundImage'\">\n </div>\n\n <div class=\"video-overlay\" *ngIf=\"!file.isYoutube == true\"\n [style.background-image]=\"file.url | stream: 'styleThumbUrl'\">\n </div>\n\n <div class=\"video-overlay\" *ngIf=\"!file.isCloudinary && !file.isYoutube\"\n [style.background-image]=\"file.url | stream: 'styleThumbUrl'\">\n </div>\n\n <video attr.type='stream' #videoPlayer\n *ngIf=\"!file.isCloudinary && !file.isYoutube\"\n (click)=\"playVideo($event)\" (onloadeddata)=\"checkVideoRender(file.url)\"\n class=\"video\" width=\"100%\" controls=\"false\" preload=\"metadata\"\n poster=\"{{file.url | stream:'thumb'}}\">\n <source [src]=\"file.url | stream:'link'\" />\n </video>\n\n <video attr.type='cloudinary' #videoPlayer\n *ngIf=\"file.isCloudinary === true\" (click)=\"playVideo($event)\"\n (onloadeddata)=\"checkVideoRender(file.url)\" class=\"video\" width=\"100%\"\n controls=\"false\" preload=\"metadata\" poster=\"{{file.thumb}}\">\n <source [src]=\"file.url\" />\n </video>\n\n <ng-container *ngIf=\"file.isYoutube === true\">\n <iframe attr.type='youtube' #videoPlayer\n [src]=\"file.url | safe:'resourceUrl'\" frameborder=\"0\"\n frameborder=\"0\" width=\"100%\" class=\"video\"></iframe>\n </ng-container>\n\n </ng-container> -->\n\n </ng-container>\n\n <ng-template #infiniteContainer></ng-template>\n </div>\n </div>\n </swiper>\n </div>\n\n <!-- Fim Carrosel de Imagens e V\u00EDdeos -->\n\n </ng-container>\n\n </ng-container>\n\n </ng-container>\n\n <ng-container *ngIf=\"item.type == 'announce'\">\n <div class=\"ribbon ribbon-top-right\"><span>An\u00FAncio</span></div>\n\n <div class=\"swiper-stage\">\n <swiper [config]=\"global.swiperConfig(false)\">\n <div swiperSlide *ngFor=\"let file of item.files; let i = index\">\n <div class=\"swiper-carousel-custom\">\n <ng-container *ngIf=\"file.type === 'image'\">\n <div class=\"img\" [style.backgroundImage]=\"'url('+file.name+')'\" *ngIf=\"file.name\">\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"file.type === 'video'\">\n\n <ng-container>\n\n <div class=\"video-overlay\" [style.background-image]=\"file.url | stream:'styleThumbUrl'\">\n </div>\n\n <video class=\"video\" width=\"100%\" preload=\"metadata\" poster=\"{{ file?.url | stream:'thumb' }}\">\n <source [src]=\"file?.url | stream:'link'\" />\n </video>\n\n </ng-container>\n\n </ng-container>\n </div>\n </div>\n <ng-template #infiniteContainer></ng-template>\n </swiper>\n </div>\n\n <div class=\"pull-right mt-3\" [routerLink]=\"['/market/product/', item.product.id]\">\n <button class=\"btn btn-primary\">\n <i class=\"fa fa-shopping-cart\"></i>\n {{ preConvertNumber(item?.product?.valorDe) | currency:'BRL':true}} -\n {{ preConvertNumber(item?.product?.valorAte) | currency:'BRL':true}}\n </button>\n </div>\n <p *ngIf=\"item?.product?.data?.descr\" [innerHTML]=\"item.product.descr\"></p>\n </ng-container>\n\n <div class=\"mat-card-content\">\n <span class=\"ws-pre-wrap post-text mt-1 mb-4\" [innerHTML]=\"item.linkifiedTitle\"></span>\n <span class=\"ws-pre-wrap post-text mt-1 mb-4\" *ngIf=\"item.additional_data?.type != 'video'\" [innerHTML]=\"linkify(item.additional_data?.description)\"></span>\n \n <feed-actions [settings]=\"settings\" [item]=\"item\"></feed-actions>\n <feed-comments [settings]=\"settings\" [feed_id]=\"item.id\" [user]=\"item.user_info\"></feed-comments>\n </div>\n\n </mat-card>\n</ng-container>\n\n<ng-container *ngIf=\"item && !item.status\">\n <ng-container *ngIf=\"global.loggedUser()\">\n <ng-container *ngIf=\"item.user_info.id === global.loggedUser().id\">\n <ng-container *ngIf=\"item\">\n <mat-card #visibleControl class=\"feed-card\" id=\"{{ item.id +'#'+ item.type}}\">\n <mat-card-header class=\"feed-header ml-2\">\n <div mat-card-avatar>\n <img\n [src]=\"(item.user_info?.picture)? item.user_info.picture : 'assets/img/default-avatar.png' || 'assets/img/default-avatar.png'\"\n class=\"feed-avatar\" (error)=\"item.user_info.picture = 'assets/img/default-avatar.png'\"\n alt=\"{{ item?.user_info?.name }}\">\n </div>\n <mat-card-title>\n <h4><b>{{ item?.user_info?.name }}</b></h4>\n <p> {{ 'SharedPublication' | translate }} <a>{{ item?.updated_at | amTimeAgo }}</a></p>\n </mat-card-title>\n\n <div class=\"feed-buttom-option\" *ngIf=\"false\">\n <button mat-icon-button [matMenuTriggerFor]=\"menu\">\n <mat-icon>more_vert</mat-icon>\n </button>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item (click)=\"false\">\n <mat-icon>create</mat-icon>\n <span>{{ 'Edit' | translate }}</span>\n </button>\n <button mat-menu-item (click)=\"false\">\n <mat-icon>delete</mat-icon>\n <span>{{ 'Remove' | translate }}</span>\n </button>\n </mat-menu>\n </div>\n\n </mat-card-header>\n\n <ng-container>\n <div class=\"col-sm-12 mx-auto text-center post-processing-section\">\n <img src=\"https://image.flaticon.com/icons/svg/2654/2654464.svg\" width=\"30%\">\n <h4>Estamos processando os dados do seu Post!</h4>\n <p>No momento ele est\u00E1 vis\u00EDvel apenas para voc\u00EA, mas logo estar\u00E1 dispon\u00EDvel para todos!</p>\n </div>\n </ng-container>\n \n <div class=\"mat-card-content\">\n <span class=\"ws-pre-wrap post-text mt-1 mb-4\" [innerHTML]=\"item.linkifiedTitle\"></span>\n <feed-actions [settings]=\"settings\" prefix=\"prefix\" [item]=\"item\"></feed-actions>\n <feed-comments [settings]=\"settings\" prefix=\"prefix\" [feed_id]=\"item.id\" [user]=\"item.user_info\"></feed-comments>\n </div>\n </mat-card>\n </ng-container>\n </ng-container>\n </ng-container>\n</ng-container>\n",
2118
2130
  providers: [StreamService],
2119
2131
  styles: ["li,ul{list-style:none!important}a,a:hover{text-decoration:none}.text-primary{color:var(--main-color)}.card{border-radius:6px;box-shadow:1px 1px 10px rgba(201,191,187,.7);-moz-box-shadow:1px 1px 10px rgba(201,191,187,.7);-webkit-box-shadow:1px 1px 10px rgba(201,191,187,.7);border:none;margin-bottom:30px;margin-top:0}.card .card-content{flex:1 1 auto;padding:1.25rem}.comments{margin:30px -15px}.comments h4{font-size:16px;color:#414141;margin-bottom:0;font-weight:600}.comments p{margin:5px 15px 5px 65px;font-size:14px;word-break:break-all}.post-text{white-space:pre-wrap!important;font-size:14px}.form-feed{width:100%;margin:0 0 25px!important;padding:10px 15px!important;border-radius:8px;box-shadow:1px 1px 15px rgba(201,191,187,.7);-moz-box-shadow:1px 1px 15px rgba(201,191,187,.7);-webkit-box-shadow:1px 1px 15px rgba(201,191,187,.7);background-color:#fff!important}.form-feed .title{font-size:16px;margin-bottom:10px;border-bottom:1px solid #eee;padding-bottom:10px}.form-feed textarea{float:left;width:calc(100% - 50px);border-bottom:1px solid #eee;border-top:transparent;border-left:transparent;border-right:transparent;box-shadow:none;padding:5px 10px;outline:0!important}.form-input-btn a{float:right;border:none!important;box-shadow:none!important;background:0 0;padding:0;margin-top:12px;position:relative;right:0;left:0;margin-bottom:0;color:#8e8994}.form-input-btn a .material-icons{font-size:18px}.mat-dialog-container{padding:0!important}.form-comment{width:100%;margin:0!important;padding:15px 0 0!important;border-top:1px solid #eee}.form-comment input[type=text]{float:left;width:calc(100% - 50px);border:1px solid #eee;box-shadow:none;border-radius:30px;padding:5px 10px;outline:0}input::-webkit-input-placeholder{color:#ccc}input::-moz-placeholder{color:#ccc}input:-ms-input-placeholder{color:#ccc}input::-ms-input-placeholder{color:#ccc}input::placeholder{color:#ccc}.avatar-30{float:left;width:30px;height:30px;margin-right:10px;border-radius:50%}.avatar-30-null{display:flex;align-items:center;justify-content:center;float:left;width:30px;height:30px;margin-right:10px;border-radius:50%;background:#fafafa;color:#bbb}.comment-time{position:absolute;right:15px}.avatar-45{float:left;width:40px;height:40px;margin-right:10px;border-radius:50%}.avatar-45-null{display:flex;align-items:center;justify-content:center;float:left;width:40px;height:40px;margin-right:10px;border-radius:50%;background:#fafafa;color:#bbb;border:1.3px solid var(--main-color)}.super-post{position:absolute;right:15px;top:10px;font-size:1.8em;color:#888}.icons-comments{margin:10px 0 0;padding:10px 20px;border-top:1px solid #eee;border-bottom:1px solid #eee}.icons-comments li{display:inline-block;margin-right:30px;font-size:14px}.icons-comments li:last-child{margin-right:0;position:absolute;right:20px}.icons-comments li a{color:#4a4a4a;cursor:pointer}.icons-comments li a.active,.icons-comments li a:hover{color:var(--main-color)}.icons-comments .fa{font-size:16px}.card-file{width:100%;margin:0 auto 30px;box-shadow:0 0 30px rgba(204,204,204,.4);border:none;border-radius:12px;transition:.5s}.card-file:hover{box-shadow:0 0 30px rgba(204,204,204,.8)}.card-file .card-cover{display:flex;align-items:center;justify-content:center;padding:15px;position:relative;width:100%;height:160px;border-top-left-radius:16px;border-top-right-radius:12px;-o-object-fit:cover;object-fit:cover;background-size:cover;background-position:center;z-index:1;background:var(--main-color);color:#fff!important}.card-file .card-content{height:auto;padding:0 15px}.card-file .card-content .description{color:#888}.card-file .title{color:#fff;margin-bottom:0;font-size:18px;text-shadow:2px 2px 2px #101010}.btn-feed{width:auto;font-size:12px;padding:2px 10px;border-radius:30px;font-weight:600;text-transform:capitalize}.btn-group-xs>.btn,.btn-xs{padding:2px 15px 3px;font-size:13px;line-height:1;border-radius:30px}.btn-primary,.btn-primary:hover{color:var(--text-btn)!important;background-color:var(--bg-btn);border-color:var(--bg-btn)}.btn-primary.focus,.btn-primary:focus{background-color:var(--bg-btn);border-color:var(--bg-btn);box-shadow:0 0 0 .2rem rgba(0,0,0,.5)}.btn-primary.disabled,.btn-primary:disabled,.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:var(--text-btn)!important;background-color:var(--bg-btn);border-color:var(--bg-btn)}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,0,0,.5)}.btn-secondary{color:#fff;background-color:#111;border-color:#111}.btn-secondary:hover{color:#fff;background-color:#333;border-color:#333}.btn-secondary.focus,.btn-secondary:focus{background-color:#333;border-color:#333;box-shadow:0 0 0 .2rem rgba(0,0,0,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#111;border-color:#111}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#333;border-color:#333}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,0,0,.5)}.ribbon{width:150px;height:150px;overflow:hidden;position:absolute;z-index:1}.ribbon::after,.ribbon::before{position:absolute;z-index:-1;content:\"\";display:block;border:5px solid var(--bg-btn)}.ribbon span{position:absolute;display:block;width:225px;padding:15px 0;background-color:var(--bg-btn);box-shadow:0 5px 10px rgba(0,0,0,.1);color:#fff;font:700 18px/1 Lato,sans-serif;text-shadow:0 1px 1px rgba(0,0,0,.2);text-transform:uppercase;text-align:center}.ribbon-top-left{top:-10px;left:-10px;background:0 0}.ribbon-top-left::after,.ribbon-top-left::before{border-top-color:transparent;border-left-color:transparent}.ribbon-top-left::before{top:0;right:0}.ribbon-top-left::after{bottom:0;left:0}.ribbon-top-left span{right:-25px;top:30px;transform:rotate(-45deg)}.ribbon-top-right{top:-10px;right:-10px;background:0 0!important}.ribbon-top-right::after,.ribbon-top-right::before{border-top-color:transparent;border-right-color:transparent}.ribbon-top-right::before{top:0;left:0}.ribbon-top-right::after{bottom:0;right:0}.ribbon-top-right span{left:-25px;top:30px;transform:rotate(45deg)}.ribbon-bottom-left{bottom:-10px;left:-10px}.ribbon-bottom-left::after,.ribbon-bottom-left::before{border-bottom-color:transparent;border-left-color:transparent}.ribbon-bottom-left::before{bottom:0;right:0}.ribbon-bottom-left::after{top:0;left:0}.ribbon-bottom-left span{right:-25px;bottom:30px;transform:rotate(225deg)}.ribbon-bottom-right{bottom:-10px;right:-10px}.ribbon-bottom-right::after,.ribbon-bottom-right::before{border-bottom-color:transparent;border-right-color:transparent}.ribbon-bottom-right::before{bottom:0;left:0}.ribbon-bottom-right::after{top:0;right:0}.ribbon-bottom-right span{left:-25px;bottom:30px;transform:rotate(-225deg)}.video-container{min-height:200px}.video-container img{width:100%;-o-object-fit:cover;object-fit:cover;-webkit-filter:blur(10px);filter:blur(10px)}.video-player{top:0;left:1px;width:calc(100% - 2px)}.tmp-file-buttons-overlay{opacity:1}.overlayed{opacity:1!important;visibility:visible}.tmp-file-status-overlay{position:absolute;background:rgba(0,0,0,.5);text-align:center;z-index:999;color:#fff;width:156px;height:120px;padding:20px}.tmp-file-status-overlay p{color:#fff}.tmp-file-buttons-overlay{background:rgba(0,0,0,.5);width:156px;height:120px;position:absolute;z-index:999;visibility:visible;opacity:1;transition:opacity .5s ease-out}.tmp-file-remove-button{position:absolute;right:5px;text-align:right;width:10px;color:#fff;padding:0 1px;border-radius:0}.tmp-file-content{width:156px;height:120px;overflow:hidden}.tmp-upload-video{-o-object-fit:contain;object-fit:contain}.tmp-file-wrapper{position:relative}.tmp-upload{-o-object-fit:cover;object-fit:cover;width:156px;height:120px}.tmp-file-wrapper-container{padding:20px 0 0;margin:20px -15px;border-width:1px 0;border-color:#ccc;border-style:solid}.hide{display:none}.masonry{display:flex;flex-flow:row wrap;margin:20px 0 -2px}.masonry-brick{flex:auto;height:250px;min-width:150px;margin:2px;position:relative;cursor:pointer}.masonry-img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.masonry-brick:nth-child(4n+1){width:50%}.masonry-brick:nth-child(4n+2){width:40%}.masonry-brick:nth-child(4n+3){width:20%}.masonry-brick:nth-child(4n+4){width:30%}.masonry-brick-full{width:100%!important;height:291px!important;overflow:hidden;outline:rgba(0,0,0,.2) solid 1px;outline-offset:-1px}.card-body{border-bottom-left-radius:16px;border-bottom-right-radius:16px}.card .circle{float:left;position:relative;display:flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:50%;margin:-30px 10px 15px 15px;background:#eee;z-index:1;font-size:1.5em;color:#414141!important}.card-team .card-content{width:100%;height:160px;margin-bottom:10px}.card-classroom{padding:15px;box-shadow:1px 1px 5px rgba(201,191,187,.7);-moz-box-shadow:1px 1px 5px rgba(201,191,187,.7);-webkit-box-shadow:1px 1px 5px rgba(201,191,187,.7);margin-bottom:20px}.play-overlay{position:absolute;top:0;left:0;width:100%;text-align:center;height:291px;line-height:291px;background:rgba(0,0,0,.05)}.play-overlay img{width:80px;height:80px}.preview-wrapper{position:relative;margin-top:30px}.preview-image img{outline:rgba(0,0,0,.2) solid 1px;outline-offset:-1px}.preview-button{position:absolute;top:0;right:0;color:#fff}.preview-text{position:relative;background:#f9f9f9;border:1px solid #ccc;padding:11px;margin-top:-7px}.img-with-outline{outline:rgba(0,0,0,.2) solid 1px;outline-offset:-1px}.mt-5{margin-top:2em}.feed-card{width:100%;margin-bottom:30px;box-shadow:1px 1px 15px rgba(201,191,187,.7);-moz-box-shadow:1px 1px 15px rgba(201,191,187,.7);-webkit-box-shadow:1px 1px 15px rgba(201,191,187,.7)}.feed-card .feed-header{margin-bottom:10px}.feed-card .feed-header .feed-avatar{float:left;width:40px;height:40px;margin-right:5px;border-radius:50%;-o-object-fit:cover;object-fit:cover;border:2px solid #e6e5e5}.feed-card .feed-header .feed-buttom-option{position:absolute;top:5px;right:0;z-index:21}.mat-card{padding:15px 0 10px!important}.mat-card .mat-card-header .mat-card-title h4{font-size:16px;margin-bottom:0}.mat-card .mat-card-header .mat-card-title p{font-size:13px;color:#aaa}.container-mat-card{display:flex;align-items:flex-end;justify-content:flex-end;position:relative;overflow:hidden;margin:0 0 10px}.bg-mat-card{display:block;position:absolute;z-index:15;width:100%;height:calc(100% - 30px);-webkit-filter:blur(40px) brightness(80%);filter:blur(40px) brightness(80%);background-size:cover;background-repeat:no-repeat;background-position:center}.mat-card-image{position:relative;z-index:20;margin:0!important;-o-object-fit:contain;object-fit:contain;height:auto;max-height:540px;display:block;width:100%}.feed-comment-option{float:right;margin-top:-10px;margin-left:0}.clickable{cursor:pointer;color:var(--main-color)}.scroll-to-top{position:fixed;bottom:15px;right:15px;opacity:0;transition:.2s ease-in-out}.show-scroll{opacity:1;transition:.2s ease-in-out}.feed-actions{color:#ccc;font-size:16px;margin-right:10px;margin-bottom:5px;margin-left:10px}.feed-actions span{margin-left:5px}.feed-actions .btn{background:0 0!important;border:none!important}.feed-likes{font-size:13px;margin-top:10px}a.is-liked{color:var(--main-color)!important}a.disabled-like{color:#ccc!important;cursor:not-allowed;text-decoration:none;pointer-events:none}.carousel{margin-bottom:10px;margin-left:0;margin-right:0}.carousel-item{-o-object-fit:cover!important;object-fit:cover!important;max-height:400px;-o-object-position:center;object-position:center}.video-player{position:initial!important}::ng-deep .ws-pre-wrap h4{font-size:18px!important}::ng-deep .ws-pre-wrap a{color:var(--main-color)}.SeeMore{display:block;color:var(--main-color)!important;text-align:center;cursor:pointer}.carousel-stage{position:relative;z-index:0;min-height:100px}.carousel-stage .progress{height:8px;border-radius:30px}.carousel-stage .progress .progress-bar{background:var(--main-color)}.carousel-stage .courses-image-item{border-radius:5%;-o-object-fit:cover;object-fit:cover}.carousel-stage .courses-item{padding:15px}.carousel-stage .courses-title{text-align:center}.carousel-stage .courses-title a{color:#000!important;font-weight:400!important}.customNavigation a{display:flex;justify-content:center;align-items:center;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.8);color:var(--main-color)!important;text-align:center}.customNavigation a:hover{background:#fff;color:var(--main-color)}.prev{position:absolute;width:100%;top:50%;left:-15px;margin-top:-15px;z-index:10}.next{position:absolute;width:100%;top:50%;right:-15px;margin-top:-15px;z-index:10}.owl-dots{position:absolute;top:-40px;right:15px;outline:0!important}.owl-dots .owl-dot{background:#ccc!important;border-radius:50%;height:10px;width:10px;padding:0!important;border:none;margin:0 2px;outline:0!important}.owl-dots .owl-dot.active{background:var(--main-color)!important;outline:0!important}::ng-deep .owl-carousel-o-stories .owl-next,::ng-deep .owl-carousel-o-stories .owl-prev{position:absolute!important;top:50%!important;transform:translateY(-50%)!important;display:block!important;border-radius:50%!important;margin-top:-5px!important}::ng-deep .owl-carousel-o-stories .owl-prev{left:5px!important}::ng-deep .owl-carousel-o-stories .owl-next{right:5px!important}::ng-deep .swiper-stage .swiper-container{padding:0}::ng-deep .swiper-stage .swiper-slide{width:100%}::ng-deep .swiper-stage .swiper-button-next,::ng-deep .swiper-stage .swiper-button-prev{display:flex;align-items:center;justify-content:center;margin-top:0!important;width:25px;height:25px;border-radius:50%;background-color:var(--main-color)!important;opacity:.7!important}::ng-deep .swiper-stage .swiper-button-prev{left:10px;right:auto!important}::ng-deep .swiper-stage .swiper-button-next{right:10px;left:auto!important}::ng-deep .swiper-stage .swiper-button-next:after,::ng-deep .swiper-stage .swiper-button-prev:after{font-size:13px!important;color:#fff}::ng-deep .swiper-stage .swiper-button-disabled{opacity:0!important}.carousel-stories{display:inline-block;width:100%;height:145px;margin:0;border-radius:6px;text-transform:uppercase;font-size:1em;font-weight:500;background-repeat:no-repeat;background-size:cover;cursor:pointer;background-position:center!important}.carousel-stories .item:focus{outline:0}.carousel-stories .stories-body{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;text-align:center;height:100%;padding:0}.carousel-stories .stories-body a{font-size:12px;color:#fff;margin-bottom:10px;text-shadow:0 1px 1px rgba(0,0,0,.6)}.carousel-stories .stories-body a:hover{color:#ccc}.mat-button,.mat-flat-button,.mat-icon-button,.mat-stroked-button{outline:0!important}::ng-deep .mat-menu-panel{border-radius:6px!important;outline:0!important}::ng-deep .mat-menu-panel .mat-menu-content:not(:empty){padding-top:0!important;padding-bottom:0!important}::ng-deep .mat-menu-panel .mat-menu-item{color:#414141;font-size:15px;font-style:normal;font-weight:400;letter-spacing:1px;outline:0!important}.progress-bar-custom span{display:inline-block;height:100%;border-radius:3px;box-shadow:0 1px 0 rgba(37,21,21,.5) inset;transition:width .4s ease-in-out}.green-progress span{background-image:linear-gradient(to bottom,#fff,var(--main-color))}.stripes span{background-size:30px 30px;background-image:linear-gradient(135deg,#ff4e4ef3 25%,transparent 25%,transparent 50%,rgba(236,47,47,.972) 50%,rgba(240,0,0,.15) 75%,transparent 75%,transparent);-webkit-animation:3s linear infinite animate-stripes;animation:3s linear infinite animate-stripes}.container-stipes{width:100%;padding:0 10px;font-weight:700}.keep-logged{position:relative;height:150px;background:var(--main-color);top:0;color:#fff!important;z-index:99;opacity:.9;width:100%;border:0;left:0;right:0}.keep-logged button{background:#fff!important;color:var(--main-color)!important}.scrollable{overflow-y:scroll;height:100vh}.alert-primary{color:#fff;background-color:var(--main-color)!important;background:var(--main-color)!important}.mat-progress-bar{height:17px;border-radius:5px}@-webkit-keyframes animate-stripes{0%{background-position:0 0}100%{background-position:60px 0}}@keyframes animate-stripes{0%{background-position:0 0}100%{background-position:60px 0}}.p-channel{color:#3c4858;font-weight:500;margin-bottom:0!important}@media (max-width:767px){.form-feed textarea{font-size:12px}.btn-feed{width:auto;font-size:11px;padding:2px 5px;border-radius:30px;font-weight:600;text-transform:capitalize}.carousel-stories{width:120px;height:120px}.keep-logged{height:175px}.keep-logged h3{font-size:1.1rem}.keep-logged button{font-size:1rem}.btn-group-xs>.btn,.btn-xs{padding:2px 5px;font-size:11px;line-height:1;border-radius:30px}}::ng-deep .mat-card-header-text{width:100%!important;margin:0}::ng-deep .popover{background:#fff!important;border:0!important;box-shadow:1px 1px 15px rgba(201,191,187,.7)!important;-moz-box-shadow:1px 1px 15px rgba(201,191,187,.7)!important;-webkit-box-shadow:1px 1px 15px rgba(201,191,187,.7)!important}.minibio{padding:10px;border-radius:10px}.minibio img{width:30%;max-width:100px;display:inline-block;padding-right:10px}.minibio .info{display:inline-block;vertical-align:top}.minibio .info .icon{color:#d4d4d4}.minibio .info ul{list-style:none}.minibio .info li{display:inline-block}::ng-deep .feed .box-input-feed{width:100%;background-color:transparent}::ng-deep .feed .feed-actions{margin-top:25px}::ng-deep .feed .feed-actions .icons{position:relative;display:inline-flex;align-items:flex-end;margin-right:15px}::ng-deep .feed .feed-actions .icons .fa{font-size:20px;margin-right:10px}::ng-deep .feed .feed-actions .icons .number{position:absolute;bottom:-1px;right:0;font-size:13px}::ng-deep .new-feed .feed-card,::ng-deep .new-feed .form-feed{border-radius:4px!important;box-shadow:0 4px 12px 0 rgba(0,0,0,.1)!important;background:#fff!important}::ng-deep .new-feed .box-publication{display:flex;align-items:center;justify-content:space-between}::ng-deep .new-feed .box-publication .box-input-feed{width:84%}::ng-deep .new-feed .box-publication .send{width:16%;text-align:center;margin-top:5px}::ng-deep .new-feed .box-publication .send i{font-size:24px}::ng-deep .new-feed .box-publication .send p{font-size:12px}::ng-deep .new-feed .box-input-feed{display:flex;align-items:center;width:100%;border-radius:30px;padding:5px;background-color:#eaeaea}::ng-deep .new-feed .box-input-feed input{width:calc(100% - 80px);border:none;background-color:transparent}::ng-deep .new-feed .box-input-feed input:focus{outline:0}::ng-deep .new-feed .box-input-feed input::-webkit-input-placeholder{color:#999}::ng-deep .new-feed .box-input-feed input::-moz-placeholder{color:#999}::ng-deep .new-feed .box-input-feed input:-ms-input-placeholder{color:#999}::ng-deep .new-feed .box-input-feed input::-ms-input-placeholder{color:#999}::ng-deep .new-feed .box-input-feed input::placeholder{color:#999}::ng-deep .new-feed .box-input-feed i{font-size:18px;margin-top:5px;cursor:pointer;color:#495057}::ng-deep .new-feed .feed-actions{margin-top:25px}::ng-deep .new-feed .feed-actions .icons{position:relative;display:inline-flex;align-items:flex-end;margin-right:15px}::ng-deep .new-feed .feed-actions .icons .ph{font-size:20px;margin-right:8px}::ng-deep .new-feed .feed-actions .icons .number{position:absolute;bottom:-1px;right:-8px;font-size:13px}", "@charset \"UTF-8\";.pinned-feed{background-color:var(--bg-btn);color:var(--text-btn);padding:5px;height:40px;width:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;position:absolute;margin-top:60px;margin-right:5px;opacity:1}.mat-card-video{-o-object-fit:cover;object-fit:cover;width:calc(100% + 31px);margin:0 0 10px}.mat-card-content{word-break:break-word;padding:0 15px}::ng-deep .tooltip-primary{background:var(--main-color);opacity:.85;font-size:13px}.no-click{pointer-events:none}.modal-feed-publication{border-radius:24px!important}.share-social{max-width:185px}.mat-card-actions{min-height:40px}.post-processing-section{padding:12px;border:3px dotted gray;border-radius:8px;background-color:#f4f4f4}.carousel{color:#fff}.carousel .content{display:flex}.carousel .content .item{width:100%;display:block;transition:opacity 295ms linear .2s}.carousel .content .item.visible{opacity:1}.carousel .content .item .img{width:100%;height:500px;display:block;-o-object-fit:cover;object-fit:cover;background-size:cover;background-position:center}.carousel .content .item .video{width:100%;height:500px!important;display:block;background-size:cover;background-position:center}.carousel .content .item .video-overlay{background:rgba(0,0,0,.5);width:100%;height:500px!important;position:absolute;z-index:-1;transition:opacity .5s ease-out;filter:blur(8px);-webkit-filter:blur(8px)}.carousel .content .wraper-video{background-color:#000}.carousel .ball{width:10px;height:10px;border-radius:50%;background:#000;border:2px solid;opacity:.5}.carousel .ball.visible{opacity:1}.carousel .click-area{width:50px;text-align:center}.carousel .click-area i{font-size:2em;background:rgba(255,255,255,.8);color:#000;border-radius:100%}.custom-carrousel{z-index:1;overflow:hidden}::ng-deep .card-file{box-shadow:0 0 30px rgba(204,204,204,.4);border:none;border-radius:16px;transition:.5s;margin-bottom:30px;cursor:pointer}::ng-deep .card-file .card-cover{display:flex;align-items:center;justify-content:center;text-align:center;padding:0;width:100%;height:250px;border-top-left-radius:10px;border-top-right-radius:10px;background:var(--main-color);color:#fff!important;overflow:hidden}::ng-deep .card-file .card-cover img{position:absolute;z-index:0;top:0;left:0;width:100%;height:inherit;-o-object-fit:cover;object-fit:cover;border-top-left-radius:10px;border-top-right-radius:10px}::ng-deep .card-file .card-cover .title{position:relative;z-index:3;text-shadow:none!important;color:#414141;margin-bottom:0;height:60px;padding:0 15px;font-size:18px}::ng-deep .card-file .circle{float:left;position:relative;display:flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:50%;margin:-30px 10px 15px 15px;background:#eee;z-index:20;font-size:1.5em;color:#3c4858!important}::ng-deep .card-file .card-body{height:125px;border-bottom-left-radius:16px;border-bottom-right-radius:16px}::ng-deep .card-file .card-body .edit-file{float:right!important;margin-top:-60px;margin-right:-15px}::ng-deep .card-file .card-body h5{height:60px}::ng-deep .card-file .card-body .description{color:#888;height:65px;overflow:hidden}::ng-deep owl-carousel-o .owl-theme .owl-next,::ng-deep owl-carousel-o .owl-theme .owl-prev{position:absolute;top:50%;transform:translateY(-50%);display:flex!important;align-items:center!important;justify-content:center!important;width:30px!important;height:30px!important;border-radius:50%!important;margin:20px 0;background:rgba(255,255,255,.8)!important;color:#414141!important;border:none!important;font-size:20px!important;font-weight:600!important}::ng-deep owl-carousel-o .owl-theme .owl-prev{left:5px;transition:.3s!important}::ng-deep owl-carousel-o .owl-theme .owl-prev:hover{transition:.3s!important}::ng-deep owl-carousel-o .owl-theme .owl-next{right:5px;transition:.3s!important}::ng-deep owl-carousel-o .owl-theme .owl-next:hover{transition:.3s}::ng-deep owl-carousel-o .owl-carousel .owl-dot,::ng-deep owl-carousel-o .owl-carousel .owl-nav .owl-next,::ng-deep owl-carousel-o .owl-carousel .owl-nav .owl-prev{font-family:fontAwesome}::ng-deep owl-carousel-o .owl-carousel .owl-nav .owl-prev:before{content:\"\uF104\"}::ng-deep owl-carousel-o .owl-carousel .owl-nav .owl-next:after{content:\"\uF105\"}.swiper-carousel-custom .swiper-container-img{display:flex;align-items:center;justify-content:center;width:100%;height:500px}.swiper-carousel-custom .swiper-bg-blur{position:absolute;z-index:10;width:100%;height:500px;-webkit-filter:blur(30px) brightness(80%);filter:blur(30px) brightness(80%);background-size:cover;background-repeat:no-repeat;background-position:center}.swiper-carousel-custom .img{position:relative;z-index:20;max-width:100%;max-height:500px!important;display:block;-o-object-fit:contain;object-fit:contain;background-size:cover;background-position:center}.swiper-carousel-custom .video{width:100%;height:500px!important;display:block;background-size:cover;background-position:center}.swiper-carousel-custom .video-overlay{background:rgba(0,0,0,.5);width:100%;height:500px!important;position:absolute;z-index:-1;transition:opacity .5s ease-out;filter:blur(8px);-webkit-filter:blur(8px)}"]
2120
2132
  }] }
@@ -2126,7 +2138,8 @@ FeedItemComponent.ctorParameters = () => [
2126
2138
  { type: Global },
2127
2139
  { type: MatDialog },
2128
2140
  { type: UtilsService },
2129
- { type: TranslateService }
2141
+ { type: TranslateService },
2142
+ { type: DomSanitizer }
2130
2143
  ];
2131
2144
  FeedItemComponent.propDecorators = {
2132
2145
  item: [{ type: Input }],
@@ -2177,6 +2190,8 @@ if (false) {
2177
2190
  FeedItemComponent.prototype.service;
2178
2191
  /** @type {?} */
2179
2192
  FeedItemComponent.prototype.translate;
2193
+ /** @type {?} */
2194
+ FeedItemComponent.prototype.sanitizer;
2180
2195
  }
2181
2196
 
2182
2197
  /**
@@ -2426,13 +2441,13 @@ class UserService extends BaseService {
2426
2441
  * @return {?}
2427
2442
  */
2428
2443
  usersChecked(payload, params) {
2429
- return this.http.post(this.baseUrl + '/api/v2/client/onesignal/user', payload, { headers: this.headers(), params });
2444
+ return this.http.post(this.baseUrl + '/api/v2/client/onesignal/user', payload, { headers: this.headers(false), params });
2430
2445
  }
2431
2446
  /**
2432
2447
  * @return {?}
2433
2448
  */
2434
2449
  getForms() {
2435
- return this.http.get(this.baseUrl + '/api/v2/admin/user/form', { headers: this.headers() });
2450
+ return this.http.get(this.baseUrl + '/api/v2/admin/user/form', { headers: this.headers(false) });
2436
2451
  }
2437
2452
  /**
2438
2453
  * @param {?=} search
@@ -2444,7 +2459,7 @@ class UserService extends BaseService {
2444
2459
  if (search) {
2445
2460
  query = `search=${search}`;
2446
2461
  }
2447
- return this.http.get(`${this.baseUrl}/api/v2/admin/asap-user?${query}`, { headers: this.headers() });
2462
+ return this.http.get(`${this.baseUrl}/api/v2/admin/asap-user?${query}`, { headers: this.headers(false) });
2448
2463
  }
2449
2464
  /**
2450
2465
  * @param {?=} idUser
@@ -2452,15 +2467,15 @@ class UserService extends BaseService {
2452
2467
  */
2453
2468
  getUserData(idUser = null) {
2454
2469
  if (idUser !== null) {
2455
- return this.http.get(this.baseUrl + '/api/v2/admin/asap-user/' + idUser, { headers: this.headers() });
2470
+ return this.http.get(this.baseUrl + '/api/v2/admin/asap-user/' + idUser, { headers: this.headers(false) });
2456
2471
  }
2457
- return this.http.get(this.baseUrl + '/api/v2/admin/asap-user', { headers: this.headers() });
2472
+ return this.http.get(this.baseUrl + '/api/v2/admin/asap-user', { headers: this.headers(false) });
2458
2473
  }
2459
2474
  /**
2460
2475
  * @return {?}
2461
2476
  */
2462
2477
  getUserForm() {
2463
- return this.http.get(this.baseUrl + '/api/v2/admin/user/form', { headers: this.headers() });
2478
+ return this.http.get(this.baseUrl + '/api/v2/admin/user/form', { headers: this.headers(false) });
2464
2479
  }
2465
2480
  /**
2466
2481
  * @param {?} cep
@@ -2480,7 +2495,7 @@ class UserService extends BaseService {
2480
2495
  remove(id) {
2481
2496
  /** @type {?} */
2482
2497
  const url = this.baseUrl + '/api/v2/admin/user/delete/' + id;
2483
- return this.http.delete(url, { headers: this.headers() });
2498
+ return this.http.delete(url, { headers: this.headers(false) });
2484
2499
  }
2485
2500
  /**
2486
2501
  * @param {?} data