{"version":3,"file":"5828.b89ba6a61375c2f6.js","mappings":"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","names":["SearchItemsPipe","_SearchItemsPipe","transform","items","searchText","searchFields","Array","isArray","length","Utils","filterPropsByValue","pure","standalone","i0","$event","_r1","ctx_r1","onClickItem","loadMore","emit","itemTypes","Clips","heading","layout","options","isModerated","canModerate","_r3","canEdit","isLoading","ClipListComponent","_ClipListComponent","constructor","navCtrl","toaster","translate","this","ITEM_TYPE","layoutTypes","LAYOUT_TYPE","STACK_SEARCH_FIELDS","canLoadMore","EventEmitter","event","console","warn","navProject","item","id","navigateForward","PROJECT_DETAIL_ROUTE","present","instant","i1","i2","i3","selectors","inputs","outputs","features","decls","vars","consts","template","rf","ctx","ClipListComponent_ng_container_1_Template","ClipListComponent_ng_container_2_Template","ClipListComponent_ng_container_3_Template","type","Carousel","Grid","NgSwitch","NgSwitchCase","FsCarouselComponent","FsGridComponent","NgSwitchDefault","AddMemberModalComponent","_AddMemberModalComponent","modalController","isStudio","dismiss","dismissed","done","project","TranslatePipe","BaseModalComponent","AddMemberComponent","IonButton","ApplyAsMemberComponent","_ApplyAsMemberComponent","modalCtrl","projectMember_r1","avatar","username","avatarFallback","projectMember","viewProjectMember","role","_r4","onRoleChanged","ProjectMemberListComponent_ng_template_0_div_8_div_3_ion_select_3_ion_select_option_7_Template","ProjectMemberListComponent_ng_template_0_div_8_div_3_ion_select_3_ion_select_option_8_Template","isActive","ProjectMemberListComponent_ng_template_0_div_8_div_3_ng_template_1_Template","ProjectMemberListComponent_ng_template_0_div_8_div_3_ion_select_3_Template","ownerRoleTpl_r5","ProjectMemberListComponent_ng_template_0_div_8_span_1_Template","ProjectMemberListComponent_ng_template_0_div_8_span_2_Template","ProjectMemberListComponent_ng_template_0_div_8_div_3_Template","isEditable","projects","memberProjects","ProjectMemberListComponent_ng_template_0_ion_avatar_2_Template","ProjectMemberListComponent_ng_template_0_ng_template_3_Template","ProjectMemberListComponent_ng_template_0_div_8_Template","ProjectMemberListComponent_ng_template_0_div_9_Template","tmp_7_0","appConfig","isWidgetActive","disableAvatarClick_r7","clickableAvatarTpl_r8","showSharedProjects_r6","projectMembers","projectMember_r10","_r9","$implicit","ProjectMemberListComponent_ion_grid_2_ion_row_2_ion_col_1_ng_container_2_Template","projMemberItemTpl_r11","_c0","ProjectMemberListComponent_ion_grid_2_ion_row_2_ion_col_1_Template","ProjectMemberListComponent_ion_grid_2_ion_row_3_ion_col_4_ng_container_1_Template","_c1","projectMember_r12","ProjectMemberListComponent_ion_grid_2_ion_row_3_ion_col_4_Template","producers","ProjectMemberListComponent_ion_grid_2_ion_row_4_ion_col_4_ng_container_1_Template","projectMember_r13","ProjectMemberListComponent_ion_grid_2_ion_row_4_ion_col_4_Template","crew","_r14","applyToBeCrew","ProjectMemberListComponent_ion_grid_2_ion_row_1_Template","ProjectMemberListComponent_ion_grid_2_ion_row_2_Template","ProjectMemberListComponent_ion_grid_2_ion_row_3_Template","ProjectMemberListComponent_ion_grid_2_ion_row_4_Template","ProjectMemberListComponent_ion_grid_2_ion_col_6_Template","showTitle","showApply","PAGE","ProjectMemberListComponent","_ProjectMemberListComponent","val","_projects$","next","log","_a","projectId","projects$","asObservable","project$","_project$","userService","projectMemberService","configService","discover","showInactive","DEFAULT_USER_AVATAR_TERTIARY","BehaviorSubject","translatedSuccessText","onDestroy$","Subject","ngOnInit","currentUserId$","userId$","get","pipe","take","subscribe","res","handleProjects","ngOnDestroy","complete","takeUntil","filter","p","tap","data","switchMap","selectProjectMembersByProjectIds","map","distinctUntilChanged","curr","prev","members","withLatestFrom","currentUserId","sortByName","reduce","acc","cur","userId","push","memberMap","Map","forEach","member","proj","find","has","current","set","getUserAvatarUrl","from","values","projectIds","projMemberProjects","m","includes","projProjectMembers","_uniqBy","sortByPermission","_partition","o","PROJECT_MEMBER_ROLE","CREW","_this","_asyncToGenerator","create","component","ProjectMemberModalComponent","componentProps","getValue","viewOnly","cssClass","_this2","title","prop","detail","value","updateProjectMember","presentSavedToast","error","message","_this3","i4","i5","i6","ProjectMemberListComponent_ng_template_0_Template","ProjectMemberListComponent_ion_grid_2_Template","NgIf","NgFor","NgTemplateOutlet","ImageFallbackDirective","AsyncPipe","ListTitleComponent","IonAvatar","IonSelect","IonSelectOption","IonIcon","IonGrid","IonRow","IonCol","styles","option_r3","selectChanged","FilterableToolbarComponent_ion_select_4_ion_select_option_3_Template","selectedOption","FilterableToolbarComponent","_FilterableToolbarComponent","searchPlaceholder","onSearch","onOption","searchChanged","optionChanged","term","option","searchInput","searchCancel","FilterableToolbarComponent_ion_select_4_Template","SearchbarComponent","IonToolbar","IonButtons","list_r2","ngIf","ctx_r2","loadMoreStacks","headingWithDefault","layoutType","stackList","items$","nextToken","loading","label","CarouselGuidesComponent","_CarouselGuidesComponent","store","listId","showListIfEmpty","labelWithDefault","list$","select","selectList","selectStackListItems","shareReplay","dispatch","stackActions","filters","GUIDES_PROJECT","FilterEntityTypes","Featured","q","list","CarouselGuidesComponent_ng_container_0_Template","tmp_0_0","StackListComponent","showAvatar","isProjectMember","CollabDraftsComponent","_CollabDraftsComponent","selectCollabStackListItems","StackDrafts","isDraft","isCollaborative","CollabDraftsComponent_ng_container_0_Template","DraftStacksCarouselComponent","_DraftStacksCarouselComponent","DraftStacksCarouselComponent_ng_container_0_Template"],"ignoreList":[],"sourceRoot":"webpack:///","sources":["./src/app/shared/pipes/search-items.pipe.ts","./src/app/clips/shared/components/clip-list/clip-list.component.html","./src/app/clips/shared/components/clip-list/clip-list.component.ts","./src/app/project-members/add-member-modal/add-member-modal.component.ts","./src/app/project-members/add-member-modal/add-member-modal.component.html","./src/app/project-members/apply-as-member/apply-as-member.component.ts","./src/app/project-members/apply-as-member/apply-as-member.component.html","./src/app/project-members/project-member-list/project-member-list.component.html","./src/app/project-members/project-member-list/project-member-list.component.ts","./src/app/shared/components/filterable-toolbar/filterable-toolbar.component.html","./src/app/shared/components/filterable-toolbar/filterable-toolbar.component.ts","./src/app/stacks/carousels/carousel-guides/carousel-guides.component.html","./src/app/stacks/carousels/carousel-guides/carousel-guides.component.ts","./src/app/stacks/carousels/collab-drafts/collab-drafts.component.html","./src/app/stacks/carousels/collab-drafts/collab-drafts.component.ts","./src/app/stacks/carousels/draft-stacks/draft-stacks.component.html","./src/app/stacks/carousels/draft-stacks/draft-stacks.component.ts"],"sourcesContent":["/** @format */\n\nimport { Pipe, PipeTransform } from '@angular/core';\nimport { Utils } from '@app/shared/utils';\nimport { FlexiblePartialItem } from '@app/shared/models/layout.model';\n\n@Pipe({\n  name: 'searchItems',\n  standalone: true,\n})\nexport class SearchItemsPipe implements PipeTransform {\n  transform(items: FlexiblePartialItem[], searchText: string, searchFields: string[] = []): FlexiblePartialItem[] {\n    // console.log(`[searchItemsPipe] transform`, {items, searchText, searchFields});\n    if (!items || !Array.isArray(items)) return [];\n    if (!searchText) return items;\n    if (searchFields.length < 1) {\n      return items;\n      // searchText = searchText.toLowerCase();\n      // ...this would be string[] but not what we're dealing with here..\n      // return items.filter((item) =>\n      //   item && typeof item.toLowerCase === 'function' ? item.toLowerCase().includes(searchText) : false\n      // );\n    }\n    return Utils.filterPropsByValue(searchFields, items as FlexiblePartialItem[], searchText);\n  }\n}\n","<section [ngSwitch]=\"layout.type\">\n  <ng-container *ngSwitchCase=\"layoutTypes.Carousel\">\n    <fs-carousel\n      [items]=\"items | searchItems: searchText:searchFields\"\n      [canLoadMore]=\"false\"\n      [isLoadingMore]=\"false\"\n      [itemType]=\"itemTypes.Clips\"\n      [heading]=\"heading\"\n      [options]=\"layout.options\"\n      [isModerated]=\"isModerated\"\n      [canModerate]=\"canModerate\"\n      (itemClick)=\"onClickItem($event)\"\n      (loadMore)=\"loadMore.emit($event)\"\n    ></fs-carousel>\n  </ng-container>\n  <ng-container *ngSwitchCase=\"layoutTypes.Grid\">\n    <!-- [items]=\"items | searchItems: searchText:searchFields\" -->\n    <fs-grid\n      [items]=\"items\"\n      [itemType]=\"itemTypes.Clips\"\n      [heading]=\"heading\"\n      [canEdit]=\"canEdit\"\n      [isLoading]=\"isLoading\"\n      [options]=\"layout.options\"\n      [isModerated]=\"isModerated\"\n      [canModerate]=\"canModerate\"\n      (itemClick)=\"onClickItem($event)\"\n      \n    ></fs-grid>\n    <!-- (loadMore)=\"loadMore.emit($event)\"-->\n  </ng-container>\n  <ng-container *ngSwitchDefault>\n    Unknown Layout...\n  </ng-container>\n</section>\n","/** @format */\n\nimport { Component, Input, Output, EventEmitter } from '@angular/core';\nimport { NgSwitch, NgSwitchCase, NgSwitchDefault } from '@angular/common';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NavController } from '@ionic/angular/standalone';\nimport { ToasterService } from '@app/core/services/toaster.service';\nimport { FsCarouselComponent } from '@app/shared/components/fs-carousel/fs-carousel.component';\nimport { FsGridComponent } from '@app/shared/components/fs-grid/fs-grid.component';\nimport { SearchItemsPipe } from '@app/shared/pipes/search-items.pipe';\nimport { Clip } from '@app/shared/models/clip.model';\nimport { DiscoverCardClick } from '@app/shared/models/layout.model';\nimport { STACK_SEARCH_FIELDS } from '@app/shared/models/stack.model';\nimport { LAYOUT_TYPE, LAYOUT_SETTINGS, ITEM_TYPE } from '@app/shared/models/layout.model';\nimport { PROJECT_DETAIL_ROUTE } from '@app/app.routes';\nimport { Project } from '@app/projects/shared/project.model';\n\n@Component({\n  selector: 'app-clip-list',\n  templateUrl: './clip-list.component.html',\n  styleUrls: ['./clip-list.component.scss'],\n  standalone: true,\n  imports: [NgSwitch, NgSwitchCase, FsCarouselComponent, FsGridComponent, NgSwitchDefault, SearchItemsPipe],\n})\nexport class ClipListComponent {\n  public itemTypes = ITEM_TYPE;\n  public layoutTypes = LAYOUT_TYPE;\n  public searchFields = STACK_SEARCH_FIELDS;\n\n  @Input() items: Partial<Clip>[] | undefined; // undefined => loading state, array => fully loaded\n  @Input() heading?: string;\n  @Input() layout: LAYOUT_SETTINGS;\n  @Input() canEdit: boolean = false;\n  @Input() searchText?: string;\n  @Input() canLoadMore = false;\n  @Input() isLoading = false;\n  /** Showing on a Project.isModerated page */\n  @Input() isModerated = false;\n  @Input() canModerate = false;\n  @Output() loadMore = new EventEmitter<void>();\n\n  constructor(private navCtrl: NavController, private toaster: ToasterService, private translate: TranslateService) {}\n\n  onClickItem(event: DiscoverCardClick) {\n    console.warn('TODO: Why is this nav project? this was clicked from a clip...?', event);\n    this.navProject(event);\n  }\n\n  private navProject(event: DiscoverCardClick) {\n    if (event && event.item && (event.item as Project).id) {\n      this.navCtrl.navigateForward([`/${PROJECT_DETAIL_ROUTE}`, (event.item as Project).id]);\n    } else {\n      this.toaster.present(this.translate.instant('ERRORS.OPENING_PROJECT'));\n    }\n  }\n}\n","/** @format */\n\nimport { Component, Input } from '@angular/core';\nimport { ModalController, IonButton } from '@ionic/angular/standalone';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport { BaseModalComponent } from '@app/shared/components/ui/modal/base-modal.component';\nimport { Project } from '@app/projects/shared/project.model';\nimport { AddMemberComponent } from '../add-member/add-member.component';\n\n@Component({\n  selector: 'app-add-member-modal',\n  templateUrl: './add-member-modal.component.html',\n  styleUrls: ['./add-member-modal.component.scss'],\n  standalone: true,\n  imports: [TranslatePipe, BaseModalComponent, AddMemberComponent, IonButton],\n})\nexport class AddMemberModalComponent {\n  @Input() isStudio: boolean = false;\n  @Input() project: Project;\n\n  constructor(private modalController: ModalController) {}\n\n  dismiss(event: CustomEvent) {\n    this.modalController.dismiss({\n      dismissed: true,\n      ...event,\n    });\n  }\n\n  done() {\n    this.modalController.dismiss({\n      dismissed: true,\n    });\n  }\n}\n","<fs-base-modal mode=\"light\">\n  <div class=\"col\">\n    <app-add-member\n      [isStudio]=\"isStudio\"\n      [project]=\"project\"\n      (dismiss)=\"dismiss($event)\"\n    ></app-add-member>\n\n    <div class=\"col ion-text-center ion-padding ion-margin-top\">\n      <ion-button color=\"primary\" fill=\"clear\" size=\"medium\" (click)=\"done()\">\n        {{ 'COMMON.DONE' | translate }}\n      </ion-button>\n    </div>\n  </div>\n\n</fs-base-modal>\n","/** @format */\n\nimport { Component } from '@angular/core';\nimport { ModalController, IonButton } from '@ionic/angular/standalone';\n\n@Component({\n  selector: 'app-apply-as-member',\n  templateUrl: './apply-as-member.component.html',\n  styleUrls: ['./apply-as-member.component.scss'],\n  standalone: true,\n  imports: [IonButton],\n})\nexport class ApplyAsMemberComponent {\n  constructor(private modalCtrl: ModalController) {}\n\n  dismiss() {\n    this.modalCtrl.dismiss();\n  }\n}\n","<div class=\"ion-padding ion-margin ion-text-center\">\n  <p>Coming Soon!</p>\n  <ion-button (click)=\"dismiss()\">\n    CLOSE ME\n  </ion-button>\n</div>","<ng-template #projMemberItemTpl let-projectMember=\"projectMember\" let-showSharedProjects=\"showSharedProjects\" let-disableAvatarClick=\"disableAvatarClick\">\n  <div class=\"crew-member\" [class.not-active]=\"!projectMember.isActive\" [class.not-clickable]=\"(appConfig | async)?.isWidgetActive\">\n    <ion-avatar *ngIf=\"disableAvatarClick else clickableAvatarTpl\" class=\"avatar\" draggable=\"false\">\n      <img [src]=\"projectMember.avatar\" [alt]=\"projectMember.username\" [fallback]=\"avatarFallback\" draggable=\"false\" />\n    </ion-avatar>\n    <ng-template #clickableAvatarTpl>\n      <ion-avatar (click)=\"viewProjectMember(projectMember)\" class=\"avatar\" draggable=\"false\">\n          <img [src]=\"projectMember.avatar\" [alt]=\"projectMember.username\" [fallback]=\"avatarFallback\" draggable=\"false\" />\n      </ion-avatar>\n    </ng-template>\n    <div class=\"name\">\n      <span>{{projectMember.username}}</span>\n    </div>\n    <div *ngIf=\"!isStudio\" class=\"role\">\n      <span *ngIf=\"!projectMember.isActive\" class=\"ion-text-uppercase\">{{ \n        'COMMON.INACTIVE' | translate \n      }}&nbsp;{{ projectMember.role }}</span>\n      <span *ngIf=\"!isEditable && projectMember.isActive\">{{projectMember.role}}</span>\n      \n      <div *ngIf=\"isEditable\" class=\"role-selector\">\n        <ng-template #ownerRoleTpl>\n          <div class=\"role-selector__owner\">{{ projectMember.role }}</div>\n        </ng-template>\n        <!-- formControlName=\"role\" -->\n        <ion-select *ngIf=\"projectMember.role !== 'OWNER'; else ownerRoleTpl\"\n          [value]=\"projectMember.role\"\n          name=\"role\"\n          interface=\"popover\"\n          label-placement=\"stacked\"\n          aria-label=\"Role\"\n          class=\"role-selector__select ion-text-uppercase\"\n          (ionChange)=\"onRoleChanged($event, projectMember)\"\n        >\n          <!-- <ion-select-option \n            *ngIf=\"defaultRoleFormValue !== 'PRODUCER' && defaultRoleFormValue !== 'CREW'\" \n            [value]=\"defaultRoleFormValue\">{{ defaultRoleFormValue }}...</ion-select-option> -->\n          <!-- <ion-select-option \n            *ngIf=\"projectMember.role === 'OWNER'\" \n            value=\"OWNER\">{{ 'PROJECT.FORM.PROPS.OWNER.LABEL' | translate }}</ion-select-option> -->\n          <ion-select-option value=\"PRODUCER\">{{ 'COMMON.PRODUCER' | translate }}</ion-select-option>\n          <ion-select-option value=\"CREW\">{{ 'COMMON.CREW' | translate }}</ion-select-option>\n          <ion-select-option *ngIf=\"projectMember.isActive\"\n            value=\"MAKE_INACTIVE\" class=\"role-select-active\">{{ 'COMMON.MAKE_INACTIVE' | translate }}</ion-select-option>\n          <ion-select-option *ngIf=\"!projectMember.isActive\"\n            value=\"MAKE_ACTIVE\" class=\"role-select-active \">{{ 'COMMON.MAKE_ACTIVE' | translate }}</ion-select-option>\n        </ion-select>\n      </div>\n    </div>\n    <!-- <div class=\"projects\">\n      <ion-icon name=\"folder\"></ion-icon>\n      <span class=\"project-count\">{{ (projectMember.projects?.length || 0) + (projectMember.memberProjects?.length || 0) }}</span>\n    </div> -->\n    <div *ngIf=\"showSharedProjects\" class=\"projects\" title=\"{{ 'COMMON.SHARED_PROJECTS' | translate }}\">\n      <ion-icon name=\"folder\" class=\"no-pointer-events\"></ion-icon>\n      <span class=\"project-count\">{{ projectMember.projects?.length }}</span>\n      <span class=\"project-count\">{{ projectMember.memberProjects?.length }}</span>\n    </div>\n  </div>\n</ng-template>\n\n<ion-grid *ngIf=\"producers?.length || crew?.length || projectMembers?.length\" class=\"project-member-list\">\n\n  <ion-row *ngIf=\"showTitle\" >\n    <ion-col class=\"ion-text-left\">\n      <fs-list-title class=\"list-title\" icon=\"people-outline\">\n        {{ 'COMMON.FILM_CREW' | translate }} <span class=\"crew-count\">{{projectMembers.length}}</span>\n      </fs-list-title>\n    </ion-col>\n  </ion-row>\n\n  <ion-row *ngIf=\"isStudio && projectMembers?.length\" class=\"crew-list ion-justify-content-start\">\n    <ion-col *ngFor=\"let projectMember of projectMembers\" size=\"2\" class=\"member-col\">\n      <div class=\"crew-member-clickable\" (click)=\"viewProjectMember(projectMember)\">\n        <ng-container *ngTemplateOutlet=\"projMemberItemTpl; context: { projectMember, showSharedProjects: true, disableAvatarClick: true }\"></ng-container>\n      </div>\n    </ion-col>\n  </ion-row>\n  \n  <ion-row *ngIf=\"producers?.length\" class=\"crew-list ion-justify-content-start\">\n    <div class=\"vertical-text\">\n      {{ 'COMMON.PRODUCERS' | translate }}\n    </div>\n    <ion-col *ngFor=\"let projectMember of producers\" size=\"2\" class=\"member-col\">\n      \n      <ng-container *ngTemplateOutlet=\"projMemberItemTpl; context: { projectMember, showSharedProjects: false }\"></ng-container>\n\n      <!-- <div (click)=\"viewProjectMember(projectMember)\" class=\"crew-member\" [class.not-active]=\"!projectMember.isActive\" [class.not-clickable]=\"(appConfig | async)?.isWidgetActive\">\n        <ion-avatar class=\"avatar\">\n            <img [src]=\"projectMember.avatar\" [alt]=\"projectMember.username\" [fallback]=\"avatarFallback\" />\n        </ion-avatar>\n        <div class=\"name\">\n          <span>{{projectMember.username}}</span>\n        </div>\n        <div class=\"role\">\n          <span *ngIf=\"!projectMember.isActive\">{{ 'COMMON.INACTIVE' | translate }} </span>\n          <span>{{projectMember.role}}</span>\n        </div>\n      </div> -->\n    </ion-col>\n  </ion-row>\n\n  <ion-row *ngIf=\"crew?.length\" class=\"crew-list ion-justify-content-start\">\n    <div class=\"vertical-text\">\n      {{ 'COMMON.CREW' | translate }}\n    </div>\n\n    <ion-col *ngFor=\"let projectMember of crew\" size=\"2\" class=\"member-col\">\n      <ng-container *ngTemplateOutlet=\"projMemberItemTpl; context: { projectMember, showSharedProjects: false }\"></ng-container>\n\n      <!-- <div (click)=\"viewProjectMember(projectMember)\" class=\"crew-member\" [class.not-active]=\"!projectMember.isActive\" [class.not-clickable]=\"(appConfig | async)?.isWidgetActive\">\n        <ion-avatar class=\"avatar\">\n          <img [src]=\"projectMember.avatar\" [alt]=\"projectMember.username\" [fallback]=\"avatarFallback\" />\n        </ion-avatar>\n        <div class=\"name\">\n          <span>{{projectMember.username}}</span>\n        </div>\n        <div class=\"role\">\n          <span *ngIf=\"!projectMember.isActive\">{{ 'COMMON.INACTIVE' | translate }} </span>\n          <span>{{projectMember.role}}</span>\n        </div>\n      </div> -->\n    </ion-col>\n  </ion-row>\n  <ion-row>\n    <ion-col size=\"12\" *ngIf=\"showApply && project?.id\" class=\"apply-wrap\">\n      <ion-button shape=\"round\" fill=\"outline\" color=\"tertiary\" (click)=\"applyToBeCrew()\">\n        {{ 'COMMON.APPLY_AS_CREW' | translate }}\n      </ion-button>\n    </ion-col>\n  </ion-row>\n\n</ion-grid>\n","/** @format */\n\nimport _uniqBy from 'lodash/uniqBy';\nimport _partition from 'lodash/partition';\nimport { Component, OnInit, Input, OnDestroy } from '@angular/core';\nimport { NgIf, NgFor, NgTemplateOutlet, AsyncPipe } from '@angular/common';\nimport { TranslateService, TranslatePipe } from '@ngx-translate/core';\nimport {\n  ModalController,\n  IonAvatar,\n  IonSelect,\n  IonSelectOption,\n  IonIcon,\n  IonGrid,\n  IonRow,\n  IonCol,\n  IonButton,\n} from '@ionic/angular/standalone';\nimport { Observable, Subject, BehaviorSubject } from 'rxjs';\nimport { distinctUntilChanged, filter, map, switchMap, take, takeUntil, tap, withLatestFrom } from 'rxjs/operators';\nimport { AppConfig } from '@app/core/config/config.model';\nimport { ConfigService } from '@app/core/config/config.service';\nimport { UserService } from '@app/core/services/user.service';\nimport { ToasterService } from '@app/core/services/toaster.service';\nimport { DEFAULT_USER_AVATAR_TERTIARY } from '@app/shared/models/user.model';\nimport { ListTitleComponent } from '@app/shared/components/ui/list-title/list-title.component';\nimport { ImageFallbackDirective } from '@app/shared/directives/image-fallback.directive';\nimport { Project } from '@app/projects/shared/project.model';\nimport {\n  ProjectMember,\n  PROJECT_MEMBER_ROLE,\n  sortByPermission,\n  sortByName,\n} from '@app/project-members/shared/project-member.model';\nimport { ApplyAsMemberComponent } from '@app/project-members/apply-as-member/apply-as-member.component';\nimport { ProjectMemberModalComponent } from '@app/project-members/project-member-modal/project-member-modal.component';\nimport { ProjectMemberService } from '@app/project-members/shared/services/project-member.service';\n\nconst DEBUG_LOGS = false;\nconst PAGE = '[ProjectMemberList]';\n\n/**\n * if you get 1 project -> ProjectPage\n * if you get projects -> Studio\n */\n@Component({\n  selector: 'fs-project-member-list',\n  templateUrl: './project-member-list.component.html',\n  styleUrls: ['./project-member-list.component.scss'],\n  standalone: true,\n  imports: [\n    NgIf,\n    NgFor,\n    NgTemplateOutlet,\n    ImageFallbackDirective,\n    AsyncPipe,\n    TranslatePipe,\n    ListTitleComponent,\n    IonAvatar,\n    IonSelect,\n    IonSelectOption,\n    IonIcon,\n    IonGrid,\n    IonRow,\n    IonCol,\n    IonButton,\n  ],\n})\nexport class ProjectMemberListComponent implements OnInit, OnDestroy {\n  @Input() isStudio: boolean = false;\n  @Input() discover: boolean = false; // we on the discover page\n  @Input() projectId: string; // we on the proj detail page\n  /** this should supercede the projectId being provided */\n  @Input() canEdit = false;\n\n  @Input() showTitle: boolean = false;\n  @Input() showApply: boolean = false;\n  @Input() showInactive: boolean = false; // show the Inactive Members\n\n  /**\n   * @Input() projects: Project[];\n   * we're on the Studio, projects will change twice, at least\n   * refactored getStudioCrew to _projects$ BehaviorSubject & handleProjects 2021-08-08\n   */\n  @Input()\n  set projects(val) {\n    if (Array.isArray(val)) {\n      DEBUG_LOGS && console.log(`${PAGE} set projects:`, val);\n      this._projects$.next(val);\n      // this._projects = val;\n    }\n  }\n  // get projects(): Project[] {\n  //   return this._projects;\n  // }\n\n  /**\n   * @deprecated\n   * @Input() project: Project;\n   * we're on a ProjectDetail page\n   * refactored getProjectMembers to _project$ BehaviorSubject & handleProjectMembers 2021-08-13\n   */\n  @Input()\n  set project(val) {\n    if (val) {\n      console.log(`${PAGE} deprecated input, but may still work:`, val);\n      this._projects$.next([val]);\n    }\n    // if (val && !this._didInit) {\n    //   // we're on a ProjectPage\n    //   this._didInit = true;\n    //   DEBUG_LOGS && console.log(`${PAGE} project:`, val);\n    //   this.getProjectMembers(this.project);\n    // }\n  }\n\n  /**\n   * showDropDown Select on Project Detail page\n   */\n  get isEditable(): boolean {\n    return this.canEdit && !this.isStudio && this.projectId?.length > 0;\n  }\n\n  producers: ProjectMember[] = [];\n  crew: ProjectMember[] = [];\n\n  projectMembers: (ProjectMember & { memberProjects?: string[] })[] = [];\n\n  avatarFallback = DEFAULT_USER_AVATAR_TERTIARY;\n  currentUserId$: Observable<string>;\n  appConfig: Promise<AppConfig>;\n\n  /**\n   * Improving logic for getStudioCrew with observables 2021-08-08\n   */\n  private _projects$: BehaviorSubject<Project[]> = new BehaviorSubject([]);\n  get projects$(): Observable<Project[]> {\n    return this._projects$.asObservable();\n  }\n  private _project$: BehaviorSubject<Project> = new BehaviorSubject(null);\n  get project$(): Observable<Project> {\n    return this._project$.asObservable();\n  }\n\n  private translatedSuccessText: string = 'Success! Changes saved...';\n  private onDestroy$ = new Subject<void>();\n\n  constructor(\n    private modalController: ModalController,\n    private toaster: ToasterService,\n    private userService: UserService,\n    private projectMemberService: ProjectMemberService,\n    private configService: ConfigService,\n    private translate: TranslateService\n  ) {}\n\n  ngOnInit() {\n    this.currentUserId$ = this.userService.userId$;\n\n    this.appConfig = this.configService.appConfig;\n    this.translate\n      .get('COMMON.SUCCESS_CHANGES_SAVED')\n      .pipe(take(1))\n      .subscribe((res) => {\n        this.translatedSuccessText = res;\n      });\n\n    this.handleProjects(this.projects$);\n\n    if (this.discover) {\n      console.warn(`${PAGE} TODO: Discover List`);\n    }\n  }\n\n  ngOnDestroy() {\n    this.onDestroy$.next();\n    this.onDestroy$.complete();\n  }\n\n  /**\n   * Get Members for all Projects (Studio)\n   * find all crew in all my projects, active and not me\n   */\n  handleProjects(projects$: Observable<Project[]>) {\n    projects$\n      .pipe(\n        takeUntil(this.onDestroy$),\n        filter((p) => p.length > 0),\n        tap((data) => DEBUG_LOGS && console.log(`${PAGE} handleProjects project updated`, data)),\n        // distinctUntilChanged((curr, prev) => curr.length === prev.length), // let's respond on all changes since the members might be changing deeply (ie. isActive)\n        switchMap((projects) =>\n          // get from store, sortByPermission then make sure unique\n          this.projectMemberService\n            .selectProjectMembersByProjectIds(projects.filter((p) => p && p.id).map((p) => p.id))\n            .pipe(\n              distinctUntilChanged((curr, prev) => curr.length === prev.length),\n              // delay(1200), // delay for studio to load myProjects$ (not long enough for loading this page directly, but ok if nav after bootstrap\n              map((members) => ({ members, projects })),\n              withLatestFrom(this.currentUserId$)\n            )\n        )\n      )\n      .subscribe(([{ members, projects }, currentUserId]) => {\n        DEBUG_LOGS &&\n          console.log(`handleProjects${this.isStudio ? ' (studio)' : ''} result:`, {\n            currentUserId,\n            members,\n            projects,\n          });\n\n        if (this.isStudio) {\n          // here we have users with memberProjects, we need to sort the users by permission and add memberProjects as projects\n\n          // get the memberProjects, removing currentUserId from list in Studio\n          // don't sort by Permission in studio, let's keep it alphabetical\n          const memberProjects: ProjectMember[] = sortByName(\n            members.reduce((acc, cur) => {\n              if (cur.userId !== currentUserId) {\n                acc.push(...cur.memberProjects.filter((p) => p.isActive));\n              }\n              return acc;\n            }, []),\n            this.showInactive\n          );\n\n          DEBUG_LOGS &&\n            console.log(`***${PAGE} handleProjects (memberProjects sortedByPermission):`, { memberProjects });\n\n          const memberMap: Map<string, ProjectMember> = new Map();\n\n          memberProjects.forEach((member) => {\n            const proj = projects.find((item) => item && item.id === member.projectId);\n\n            if (memberMap.has(member.userId)) {\n              const current = memberMap.get(member.userId);\n              memberMap.set(member.userId, {\n                ...current,\n                isActive: current.isActive ? current.isActive : member.isActive, // if !active, then update active\n                projects: [...current.projects, proj],\n              });\n            } else {\n              memberMap.set(member.userId, {\n                userId: member.userId,\n                username: member.username,\n                isActive: member.isActive,\n                role: member.role, // first time setting this, we will set the highest permission, since we already sortByPermission()\n                projects: [proj],\n                avatar: this.userService.getUserAvatarUrl(member.userId),\n              });\n            }\n          });\n\n          DEBUG_LOGS &&\n            console.log(`***${PAGE} getStudioCrew (memberMap):`, {\n              memberMap,\n              memberMapArray: Array.from(memberMap.values()),\n              memberProjects,\n            });\n\n          this.projectMembers = Array.from(memberMap.values());\n        } else {\n          // !studio ==> projectPage\n          const projectIds = projects.filter((p) => p && p.id).map((p) => p.id);\n\n          const projMemberProjects = members.reduce(\n            (acc, cur) => [...acc, cur.memberProjects.find((m) => projectIds.includes(m.projectId))],\n            []\n          );\n          const projProjectMembers: ProjectMember[] = _uniqBy(\n            sortByPermission(projMemberProjects || [], this.showInactive),\n            'userId'\n          );\n\n          const [crew, producers] = _partition(projProjectMembers, (o) => o.role === PROJECT_MEMBER_ROLE.CREW);\n          DEBUG_LOGS && console.log(`${PAGE} getProjectMembers:`, { producers, crew, projProjectMembers });\n\n          this.producers = producers.map((p) => ({ ...p, avatar: this.userService.getUserAvatarUrl(p.userId) }));\n          this.crew = crew.map((p) => ({ ...p, avatar: this.userService.getUserAvatarUrl(p.userId) }));\n\n          this.projectMembers = projProjectMembers; // for project detail page, just set it to show the total count in template\n        }\n      });\n  }\n\n  async viewProjectMember(projectMember: ProjectMember) {\n    const appConfig = await this.configService.appConfig;\n    if (appConfig.isWidgetActive) return;\n    const modal = await this.modalController.create({\n      component: ProjectMemberModalComponent,\n      componentProps: {\n        userId: projectMember.userId,\n        projects: this._projects$.getValue(),\n        viewOnly: false, // !this.isStudio, // the project-member-projects logic should allow for editing if you are able in all views\n        isStudio: this.isStudio,\n      },\n      cssClass: 'modal-lg',\n    });\n\n    return await modal.present();\n  }\n\n  async applyToBeCrew() {\n    const modal = await this.modalController.create({\n      component: ApplyAsMemberComponent,\n      componentProps: {\n        title: `Apply To Be Crew`,\n        project: this.project,\n      },\n    });\n\n    return await modal.present();\n  }\n\n  onRoleChanged(event, projectMember) {\n    const prop = 'role';\n    try {\n      const { detail: { value = '' } = {} } = event;\n      console.log(`${PAGE} onRoleChanged`, { value, event, projectMember, projectId: this.projectId });\n      switch (value) {\n        case 'PRODUCER':\n        case 'CREW':\n          if (projectMember[prop] !== value) {\n            console.log(`${PAGE} activeChanged`, { value, projectMember });\n            projectMember[prop] = value;\n            this.projectMemberService.updateProjectMember(projectMember);\n            this.presentSavedToast();\n          } else {\n            DEBUG_LOGS &&\n              console.log(`${PAGE} activeChanged but didn't actually change?`, {\n                projectMemberRole: projectMember[prop],\n                value,\n              });\n          }\n          break;\n        case 'MAKE_ACTIVE':\n          projectMember.isActive = true;\n          this.projectMemberService.updateProjectMember(projectMember);\n          this.presentSavedToast();\n          break;\n        case 'MAKE_INACTIVE':\n          projectMember.isActive = false;\n          this.projectMemberService.updateProjectMember(projectMember);\n          this.presentSavedToast();\n          break;\n        default:\n          console.warn('Unknown value? ' + value);\n      }\n    } catch (error) {\n      console.error(`${PAGE} caught`, error);\n      this.toaster.present(\n        `Oops! Something happened. Please try again. ${error && error.message ? 'Message: ' + error.message : ''}`\n      );\n    }\n  }\n\n  async presentSavedToast() {\n    return await this.toaster.present(this.translatedSuccessText);\n  }\n\n  // /**\n  //  * @deprecated use Input projects with studio flag instead of project Input\n  //  * Get Project Members for a single Project\n  //  */\n  //  async getProjectMembers(project: Project) {\n  //   // delay to allow page to load above fold\n  //   setTimeout(() => {\n  //     // get from store, sortByPermission then make sure unique\n  //     this.projectMemberService\n  //       .selectProjectMembersByProjectIds([project.id])\n  //       .pipe(\n  //         takeUntil(this.onDestroy$),\n  //         distinctUntilChanged((curr, prev) => curr.length === prev.length),\n  //       )\n  //       .subscribe((members) => {\n  //         DEBUG_LOGS && console.log(`***${PAGE} getProjectMembers (store):`, members);\n  //         const memberProjects = members.reduce(\n  //           (acc, cur) => [...acc, cur.memberProjects.find((m) => m.projectId === project.id)],\n  //           [],\n  //         );\n  //         const projectMembers: ProjectMember[] = _uniqBy(\n  //           sortByPermission(memberProjects || [], this.showInactive),\n  //           'userId',\n  //         );\n  //         const [crew, producers] = _partition(projectMembers, (o) => o.role === PROJECT_MEMBER_ROLE.CREW);\n  //         DEBUG_LOGS && console.log(`${PAGE} getProjectMembers:`, { producers, crew, projectMembers });\n\n  //         this.producers = producers.map((p) => ({ ...p, avatar: this.userService.getUserAvatarUrl(p.userId) }));\n  //         this.crew = crew.map((p) => ({ ...p, avatar: this.userService.getUserAvatarUrl(p.userId) }));\n  //         this.projectMembers = projectMembers; // just to show the total count in template\n  //       });\n  //   }, 1000);\n\n  //   // example ref if we want observables\n  //   // this.producers = producers.map(p => ({\n  //   //   ...p,\n  //   //   avatar$: this.projectMemberService.getUserAvatar(p.userId, DEFAULT_USER_AVATAR_TERTIARY).pipe(\n  //   //     startWith(DEFAULT_USER_AVATAR_TERTIARY)\n  //   //   )\n  //   // }));\n  // }\n}\n","<div class=\"toolbar-wrap\">\n  <ion-toolbar>\n    <app-searchbar \n      [value]=\"value\"\n      [autofocus]=\"false\" \n      [placeholderText]=\"searchPlaceholder\" \n      (searchCancel)=\"searchCancel()\"\n      (searchChange)=\"searchInput($event)\"\n    ></app-searchbar>\n\n    <ion-buttons slot=\"end\" class=\"ion-padding-vertical\">\n\n      <!-- <ion-icon name=\"filter\"></ion-icon> -->\n\n      <ion-select *ngIf=\"options.length > 0\"\n        interface=\"popover\" \n        [attr.aria-label]=\"('COMMON.FILTER' | translate) + ' / ' + ('COMMON.SORT' | translate)\"\n        [value]=\"selectedOption\" \n        (ionChange)=\"selectChanged($event)\"\n      >\n        <ion-select-option *ngFor=\"let option of options\" [value]=\"option\">{{ option }}</ion-select-option>\n      </ion-select>\n\n      <!-- \n      <ion-button *ngFor=\"let section of sectionBtns; index as i;\" color=\"medium\" (click)=\"sectionClick(section, i)\"\n        [class.active]=\"section.active\">\n        {{section.name}}\n        <ion-icon *ngIf=\"section.active\" name=\"close\"></ion-icon>\n      </ion-button> -->\n    </ion-buttons>\n  </ion-toolbar>\n</div>","/** @format */\n\nimport { Component, Input, OnInit, Output, EventEmitter, OnDestroy } from '@angular/core';\nimport { NgIf, NgFor } from '@angular/common';\nimport { IonButtons, IonSelect, IonSelectOption, IonToolbar } from '@ionic/angular/standalone';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport { Subject } from 'rxjs';\nimport { distinctUntilChanged, takeUntil } from 'rxjs/operators';\nimport { SearchbarComponent } from '../top-navbar/searchbar/searchbar.component';\n\nconst DEBUG_LOGS = false;\nconst PAGE = '[FilterableToolbar]';\n\n@Component({\n  selector: 'app-filterable-toolbar',\n  templateUrl: './filterable-toolbar.component.html',\n  styleUrls: ['./filterable-toolbar.component.scss'],\n  standalone: true,\n  imports: [NgIf, NgFor, TranslatePipe, SearchbarComponent, IonToolbar, IonButtons, IonSelect, IonSelectOption],\n})\nexport class FilterableToolbarComponent implements OnInit, OnDestroy {\n  @Input() searchPlaceholder: string = 'Search';\n  @Input() options: string[] = []; // ['Featured', 'Recent', 'Trending'];\n  @Input() selectedOption: string = 'Recent';\n  @Input() value: string = '';\n\n  // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n  @Output() onSearch = new EventEmitter<string>();\n  // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n  @Output() onOption = new EventEmitter<string>();\n\n  searchChanged: Subject<string> = new Subject<string>();\n  optionChanged: Subject<string> = new Subject<string>();\n\n  private onDestroy$ = new Subject<void>();\n\n  ngOnInit() {\n    DEBUG_LOGS && console.log(`${PAGE} ngOnInit`);\n\n    // debouce the search for performance\n    this.searchChanged\n      .pipe(\n        takeUntil(this.onDestroy$),\n        // debounceTime(500), // debounced already from ion-searchbar component, also don't want to delay the cancel\n        distinctUntilChanged()\n      )\n      .subscribe((term) => this.onSearch.emit(term));\n\n    this.optionChanged\n      .pipe(takeUntil(this.onDestroy$), distinctUntilChanged())\n      .subscribe((option) => this.onOption.emit(option));\n  }\n\n  ngOnDestroy() {\n    this.onDestroy$.next();\n    this.onDestroy$.complete();\n  }\n\n  selectChanged(event) {\n    if (event && event.detail && event.detail.value) {\n      this.optionChanged.next(event.detail.value);\n    } else {\n      console.warn(`${PAGE} selectChanged NO detail.value?!`, event);\n    }\n  }\n\n  searchInput(value) {\n    if (typeof value === 'string') {\n      this.searchChanged.next(value);\n    } else {\n      console.warn(`${PAGE} searchInput: NO target.value?`, value);\n    }\n  }\n\n  searchCancel() {\n    console.log(`${PAGE} searchCancel`);\n    this.searchChanged.next('');\n  }\n}\n","<ng-container *ngIf=\"((stackList.items$ | async)?.length > 0 || showListIfEmpty) && (stackList.list$ | async) as list\">\n  <h3>{{ headingWithDefault }}</h3>\n  <app-stack-list \n    [layout]=\"{\n      type: layoutType.Carousel,\n      options: {\n        hasAddNewItemButton: false\n      }\n    }\"\n    [items]=\"stackList.items$ | async\"\n    [canLoadMore]=\"!!list.nextToken\"\n    [isLoading]=\"list.loading\"\n    [heading]=\"stackList.label\"\n    (loadMore)=\"loadMoreStacks(list)\"\n  ></app-stack-list>\n</ng-container>\n\n","/** @format */\n\nimport { Component, Input, OnInit } from '@angular/core';\nimport { NgIf, AsyncPipe } from '@angular/common';\nimport { shareReplay } from 'rxjs/operators';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Store } from '@ngrx/store';\nimport { State } from '@store/reducers';\nimport * as stackActions from '@store/actions/stacks.actions';\nimport { List, selectList, selectStackListItems } from '@store/selectors/lists.selectors';\nimport { FilterEntityTypes } from '@store/selectors/viewstate.selectors';\nimport { GUIDES_PROJECT } from '@app/app.config';\nimport { LAYOUT_TYPE } from '@app/shared/models/layout.model';\nimport { StackList } from '@app/shared/models/list.model';\nimport { StackListComponent } from '@app/stacks/shared/components/stack-list/stack-list.component';\n\nconst CAROUSEL_GUIDES_LIST_ID = 'carousel_guides';\nconst CAROUSEL_GUIDES_HEADING = 'DISCOVER.GUIDES.HEADING';\nconst CAROUSEL_GUIDES_LABEL = 'DISCOVER.GUIDES.LABEL';\n\n@Component({\n  selector: 'fs-carousel-guides',\n  templateUrl: './carousel-guides.component.html',\n  styleUrls: ['./carousel-guides.component.scss'],\n  standalone: true,\n  imports: [NgIf, AsyncPipe, StackListComponent],\n})\nexport class CarouselGuidesComponent implements OnInit {\n  stackList: StackList;\n  layoutType = LAYOUT_TYPE;\n\n  @Input() heading: string;\n  @Input() label: string;\n  @Input() listId = CAROUSEL_GUIDES_LIST_ID;\n  @Input() showListIfEmpty = true;\n\n  constructor(private translate: TranslateService, private store: Store<State>) {}\n\n  ngOnInit() {\n    this.stackList = {\n      id: this.listId,\n      label: this.labelWithDefault,\n      list$: this.store.select(selectList(this.listId)),\n      items$: this.store.select(selectStackListItems(this.listId)).pipe(shareReplay(1)),\n    };\n\n    this.store.dispatch(\n      stackActions.loadFilteredStacks({\n        listId: this.listId,\n        filters: {\n          // : FilterEntity\n          projectId: GUIDES_PROJECT,\n          type: FilterEntityTypes.Featured,\n          id: this.listId,\n          q: null,\n        },\n      })\n    );\n  }\n\n  get labelWithDefault() {\n    return this.label ?? this.translate.instant(CAROUSEL_GUIDES_LABEL);\n  }\n\n  get headingWithDefault() {\n    return this.heading ?? this.translate.instant(CAROUSEL_GUIDES_HEADING);\n  }\n\n  loadMoreStacks(list: List) {\n    this.store.dispatch(\n      stackActions.loadMoreFilteredStacks({\n        listId: list.id,\n        filters: list.filters,\n        nextToken: list.nextToken,\n      })\n    );\n  }\n}\n","<ng-container *ngIf=\"((stackList.items$ | async)?.length > 0 || showListIfEmpty) && (stackList.list$ | async) as list\">\n  <h3>{{ headingWithDefault }}</h3>\n  <app-stack-list \n    [layout]=\"{\n      type: layoutType.Carousel,\n      options: {\n        showAvatar\n      }\n    }\" \n    [items]=\"stackList.items$ | async\"\n    [canLoadMore]=\"!!list.nextToken\"\n    [isLoading]=\"list.loading\"\n    [heading]=\"stackList.label\"\n    [isModerated]=\"isModerated\"\n    [canModerate]=\"canModerate\"\n    [canShare]=\"false\"\n    [isProjectMember]=\"isProjectMember\"\n    (loadMore)=\"loadMoreStacks(list)\"\n  ></app-stack-list>\n</ng-container>","/** @format */\n\nimport { Component, Input, OnInit } from '@angular/core';\nimport { NgIf, AsyncPipe } from '@angular/common';\nimport { TranslateService } from '@ngx-translate/core';\nimport { filter, take } from 'rxjs/operators';\n\nimport { Store } from '@ngrx/store';\nimport { State } from '@store/reducers';\nimport * as stackActions from '@store/actions/stacks.actions';\nimport { List, selectCollabStackListItems, selectList } from '@store/selectors/lists.selectors';\nimport { FilterEntityTypes } from '@store/selectors/viewstate.selectors';\n\nimport { UserService } from '@app/core/services/user.service';\nimport { LAYOUT_TYPE } from '@app/shared/models/layout.model';\nimport { StackList } from '@app/shared/models/list.model';\nimport { StackListComponent } from '@app/stacks/shared/components/stack-list/stack-list.component';\n\nconst COLLAB_DRAFTS_LIST_ID = 'my_collab_stack_drafts';\nconst COLLAB_DRAFTS_HEADING = 'STUDIO.COLLAB_DRAFT_STACKS.HEADING';\nconst COLLAB_DRAFTS_LABEL = 'STUDIO.COLLAB_DRAFT_STACKS.LABEL';\n\n@Component({\n  selector: 'fs-collab-drafts',\n  templateUrl: './collab-drafts.component.html',\n  styleUrls: ['./collab-drafts.component.scss'],\n  standalone: true,\n  imports: [NgIf, AsyncPipe, StackListComponent],\n})\nexport class CollabDraftsComponent implements OnInit {\n  stackList: StackList;\n  layoutType = LAYOUT_TYPE;\n\n  @Input() canModerate = false;\n  @Input() heading: string;\n  @Input() isModerated = false;\n  @Input() isProjectMember = false;\n  @Input() label: string;\n  @Input() listId = COLLAB_DRAFTS_LIST_ID;\n  @Input() projectId: string;\n  @Input() showAvatar = true;\n  @Input() showListIfEmpty = true;\n\n  constructor(private translate: TranslateService, private store: Store<State>, private userService: UserService) {}\n\n  ngOnInit(): void {\n    this.stackList = {\n      id: this.listId,\n      label: this.labelWithDefault,\n      list$: this.store.select(selectList(this.listId)),\n      items$: this.store.select(selectCollabStackListItems(this.listId)), //.pipe(shareReplay(1))\n    };\n\n    this.userService.userId$\n      .pipe(\n        filter((id) => id && id.length > 0),\n        take(1)\n      )\n      .subscribe((userId) => {\n        if (!userId) {\n          return;\n        }\n        this.store.dispatch(\n          stackActions.loadFilteredStacks({\n            listId: this.listId,\n            filters: {\n              // : FilterEntity\n              type: FilterEntityTypes.StackDrafts,\n              id: this.listId,\n              q: null,\n              isDraft: true,\n              isCollaborative: 1,\n              // userId,\n              ...(this.projectId ? { projectId: this.projectId } : { userId }),\n            },\n          })\n        );\n      });\n  }\n\n  get labelWithDefault() {\n    return this.label ?? this.translate.instant(COLLAB_DRAFTS_LABEL);\n  }\n\n  get headingWithDefault() {\n    return this.heading ?? this.translate.instant(COLLAB_DRAFTS_HEADING);\n  }\n\n  loadMoreStacks(list: List) {\n    this.store.dispatch(\n      stackActions.loadMoreFilteredStacks({\n        listId: list.id,\n        filters: list.filters,\n        nextToken: list.nextToken,\n      })\n    );\n  }\n}\n","<ng-container *ngIf=\"((stackList.items$ | async)?.length > 0 || showListIfEmpty) && (stackList.list$ | async) as list\">\n  <h3>{{ headingWithDefault }}</h3>\n  <app-stack-list \n    [layout]=\"{\n      type: layoutType.Carousel,\n      options: {\n        showAvatar\n      }\n    }\" \n    [items]=\"stackList.items$ | async\"\n    [canLoadMore]=\"!!list.nextToken\"\n    [isLoading]=\"list.loading\"\n    [heading]=\"stackList.label\"\n    [isModerated]=\"isModerated\"\n    [canModerate]=\"canModerate\"\n    [canShare]=\"false\"\n    (loadMore)=\"loadMoreStacks(list)\"\n  ></app-stack-list>\n</ng-container>\n","/** @format */\n\nimport { Component, Input, OnInit } from '@angular/core';\nimport { NgIf, AsyncPipe } from '@angular/common';\nimport { TranslateService } from '@ngx-translate/core';\nimport { filter, take } from 'rxjs/operators';\nimport { Store } from '@ngrx/store';\nimport { State } from '@store/reducers';\nimport * as stackActions from '@store/actions/stacks.actions';\nimport { List, selectList, selectStackListItems } from '@store/selectors/lists.selectors';\nimport { FilterEntityTypes } from '@store/selectors/viewstate.selectors';\nimport { UserService } from '@app/core/services/user.service';\nimport { LAYOUT_TYPE } from '@app/shared/models/layout.model';\nimport { StackList } from '@app/shared/models/list.model';\nimport { StackListComponent } from '@app/stacks/shared/components/stack-list/stack-list.component';\n\nconst DRAFT_STACKS_LIST_ID = 'my_stack_drafts';\nconst DRAFT_STACKS_HEADING = 'STUDIO.DRAFT_STACKS.HEADING';\nconst DRAFT_STACKS_LABEL = 'STUDIO.DRAFT_STACKS.LABEL';\n\n@Component({\n  // eslint-disable-next-line @angular-eslint/component-selector\n  selector: 'fs-draft-stacks',\n  templateUrl: './draft-stacks.component.html',\n  styleUrls: ['./draft-stacks.component.scss'],\n  standalone: true,\n  imports: [NgIf, AsyncPipe, StackListComponent],\n})\nexport class DraftStacksCarouselComponent implements OnInit {\n  stackList: StackList;\n  layoutType = LAYOUT_TYPE;\n\n  @Input() canModerate = false;\n  @Input() heading: string;\n  @Input() isModerated = false;\n  @Input() label: string;\n  @Input() listId = DRAFT_STACKS_LIST_ID;\n  @Input() projectId: string;\n  @Input() showAvatar = true;\n  @Input() showListIfEmpty = true;\n\n  constructor(private translate: TranslateService, private store: Store<State>, private userService: UserService) {}\n\n  ngOnInit() {\n    this.stackList = {\n      id: this.listId,\n      label: this.labelWithDefault,\n      list$: this.store.select(selectList(this.listId)),\n      items$: this.store.select(selectStackListItems(this.listId)), //.pipe(shareReplay(1))\n    };\n\n    this.userService.userId$\n      .pipe(\n        filter((id) => id && id.length > 0),\n        take(1)\n      )\n      .subscribe((userId) => {\n        if (!userId) {\n          return;\n        }\n        /**\n         * when COLLABORATIVE DRAFTS ready, you can remove userId on this carousel\n         */\n        // console.log(`[draftStacks] userId: ${userId}`);\n        this.store.dispatch(\n          stackActions.loadFilteredStacks({\n            listId: this.listId,\n            filters: {\n              // : FilterEntity\n              type: FilterEntityTypes.StackDrafts,\n              id: this.listId,\n              q: null,\n              isDraft: true,\n              // userId,\n              ...(this.projectId ? { projectId: this.projectId, userId } : { userId }),\n            },\n          })\n        );\n      });\n  }\n\n  get labelWithDefault(): string {\n    return this.label ?? this.translate.instant(DRAFT_STACKS_LABEL);\n  }\n\n  get headingWithDefault(): string {\n    return this.heading ?? this.translate.instant(DRAFT_STACKS_HEADING);\n  }\n\n  loadMoreStacks(list: List) {\n    this.store.dispatch(\n      stackActions.loadMoreFilteredStacks({\n        listId: list.id,\n        filters: list.filters,\n        nextToken: list.nextToken,\n      })\n    );\n  }\n}\n"],"x_google_ignoreList":[]}