Angular LMS app
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.
 
 
 
 

108 line
4.6 KiB

  1. <section class="page-container full-bg" color="ash-black">
  2. <header class="nav-header" shadow="true">
  3. <button class="close-button" (click)="back()">
  4. <svg-icon [applyClass]="true" class="icon" src="assets/custom-icons/close.svg"></svg-icon>
  5. </button>
  6. <h5>
  7. <svg-icon [applyClass]="true" class="icon" src="assets/custom-icons/chat.svg"></svg-icon>
  8. <span> Chat with friends </span>
  9. </h5>
  10. </header>
  11. <div class="members-holder">
  12. <input type="text" [(ngModel)]="searchTerm" placeholder="Search Friends & Broadcasts" *ngIf="showSearch"
  13. (input)="searchChats()">
  14. <button (click)="showSearch = !showSearch">
  15. <svg-icon *ngIf="!showSearch" [applyClass]="true" class="icon" src="assets/custom-icons/search.svg"></svg-icon>
  16. <svg-icon *ngIf="showSearch" [applyClass]="true" class="icon" src="assets/custom-icons/close.svg"></svg-icon>
  17. </button>
  18. <button [ngClass]="{'hidden' : showSearch }" *ngFor="let chat of chatList; let i = index;" (click)="openPersonalChat(i)"> <img src="{{ chat.user.imgUrl }}" alt=""> </button>
  19. </div>
  20. <section class="segment-buttons" *ngIf="!showSearch">
  21. <button [ngClass]="{'active' : selectedSegment === 'messages'}"
  22. (click)="selectedSegment = 'messages'"> Messages </button>
  23. <button [ngClass]="{'active' : selectedSegment === 'broadcasts'}"
  24. (click)="selectedSegment = 'broadcasts'"> Broadcasts </button>
  25. </section>
  26. <section class="segment-details">
  27. <div *ngIf="selectedSegment === 'messages' && !showSearch">
  28. <ul class="chat-list">
  29. <li *ngFor="let chat of getChatList(); let i = index" (click)="openPersonalChat(i)">
  30. <img src="{{ chat.user.imgUrl }}">
  31. <div class="content">
  32. <label> {{ chat.user.name }} </label>
  33. <p>
  34. {{ chat.conversation[chat.conversation.length - 1].message }}
  35. </p>
  36. </div>
  37. <div class="time-stamp">
  38. {{ getFormattedDate() }}
  39. </div>
  40. </li>
  41. </ul>
  42. </div>
  43. <div *ngIf="selectedSegment === 'broadcasts' && !showSearch">
  44. <ul class="chat-list" *ngIf="!showAddBroadCast">
  45. <li *ngFor="let chat of broadCastList; let i = index" (click)="openBroadcastChat(i)">
  46. <img src="{{ chat.user.imgUrl }}">
  47. <div class="content">
  48. <label> {{ chat.user.name }} </label>
  49. <p>
  50. {{ chat.conversation[chat.conversation.length - 1].message }}
  51. </p>
  52. </div>
  53. <div class="time-stamp">
  54. {{ getFormattedDate() }}
  55. </div>
  56. </li>
  57. </ul>
  58. <button class="add-broadcast-button" (click)="showAddBroadCast = !showAddBroadCast">
  59. <svg-icon [applyClass]="true" class="icon" src="assets/custom-icons/plus.svg"></svg-icon>
  60. </button>
  61. <app-add-broadcast *ngIf="showAddBroadCast"></app-add-broadcast>
  62. </div>
  63. <section class="search-list" *ngIf="showSearch">
  64. <div *ngIf="searchList.chatList.length > 0">
  65. <header> Friends </header>
  66. <ul>
  67. <li *ngFor="let chat of searchList.chatList; let i = index" (click)="openPersonalChat(i)">
  68. <img src="{{ chat.user.imgUrl }}">
  69. <label> {{ chat.user.name }} </label>
  70. </li>
  71. </ul>
  72. </div>
  73. <div *ngIf="searchList.broadCastList.length > 0">
  74. <header> Broadcasts </header>
  75. <ul>
  76. <li *ngFor="let chat of searchList.broadCastList; let i = index" (click)="openPersonalChat(i)">
  77. <img src="{{ chat.user.imgUrl }}">
  78. <label> {{ chat.user.name }} </label>
  79. </li>
  80. </ul>
  81. </div>
  82. <div class="no-results" *ngIf="searchList.broadCastList.length === 0 && searchList.chatList.length === 0">
  83. <header> No results found </header>
  84. </div>
  85. </section>
  86. </section>
  87. <section class="chat-window-slideup" [ngClass]="{'active' : selectedChat}">
  88. <app-chat-window [conversation]="selectedChat" *ngIf="selectedChat"
  89. (hideChat)="getChatEvent($event)"></app-chat-window>
  90. </section>
  91. </section>