home.component.html 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. <ion-content class="content">
  2. <div class="header">
  3. <div class="top">
  4. <ion-segment
  5. [scrollable]="true"
  6. (ionChange)="segmentChanged($event)"
  7. layout="icon-bottom"
  8. [value]="currentValue"
  9. mode="md"
  10. >
  11. @for (item of options; track $index) {
  12. <ion-segment-button (click)="getRoom(item?.value)" [value]="item?.value" class="tabs">
  13. <ion-label>{{ item?.label }}</ion-label>
  14. </ion-segment-button>
  15. }
  16. </ion-segment>
  17. <div class="more">
  18. <img (click)="isOpen = true" src="/img/more.png" alt="" />
  19. <img src="/img/search.png" alt="" (click)="search()" />
  20. </div>
  21. </div>
  22. </div>
  23. <div class="banner">
  24. <!-- <swiper-container (swiper)="onSwiper($event)" class="swiper" [delay]="1000" [speed]="500" [loop]="true">
  25. @for (item of banner; track $index) {
  26. <swiper-slide>
  27. <img [src]="item?.get('image')" alt="" />
  28. </swiper-slide>
  29. }
  30. </swiper-container> -->
  31. <div class="swiper mySwiper">
  32. <div class="swiper-wrapper">
  33. @for (item of banner; track $index) {
  34. <div class="swiper-slide">
  35. <img [src]="item?.get('image')" alt="" />
  36. </div>
  37. }
  38. </div>
  39. <div class="swiper-pagination"></div>
  40. </div>
  41. </div>
  42. <div class="room-list">
  43. @for (item of roomList; track $index) {
  44. <div
  45. class="list-row"
  46. (click)="toUrl('user/profile/' + item.uid)"
  47. [style.background-image]="'url(' + item?.cover + ')'"
  48. >
  49. <div class="title-tag">在线聊天</div>
  50. <div class="live-tag">
  51. <!-- <span></span> -->
  52. <img src="/img/live.gif" alt="" />
  53. 在线
  54. </div>
  55. <div class="room-footer">
  56. <div class="user">
  57. {{
  58. item?.nickname ||
  59. item?.mobile
  60. }}
  61. </div>
  62. <div class="desc">{{ item?.title }}</div>
  63. <div class="city-block">
  64. <div class="row-li">
  65. <ion-icon name="location-outline"></ion-icon>
  66. 江西
  67. </div>
  68. <div class="row-li" style="margin-left: 4px">
  69. <img
  70. src="https://file-cloud.fmode.cn/Qje9D4bqol/20241109/pctmvt110807052.png"
  71. alt=""
  72. />
  73. {{item.birthdate}}
  74. </div>
  75. </div>
  76. </div>
  77. </div>
  78. }
  79. </div>
  80. </ion-content>
  81. <ion-modal
  82. #modal
  83. trigger="open-modal"
  84. [isOpen]="isOpen"
  85. (didDismiss)="onDidDismiss($event)"
  86. >
  87. <ng-template>
  88. <ion-toolbar>
  89. <ion-buttons slot="start">
  90. <ion-button (click)="cancel('cancel')">取消</ion-button>
  91. </ion-buttons>
  92. <ion-buttons slot="end">
  93. <ion-button (click)="cancel('confirm', currentValue)">确认</ion-button>
  94. </ion-buttons>
  95. </ion-toolbar>
  96. <ion-picker>
  97. <ion-picker-column
  98. [value]="currentValue"
  99. (ionChange)="onIonChange($event)"
  100. >
  101. @for (item of options; track $index) {
  102. <ion-picker-column-option value="{{ item?.value }}">{{
  103. item?.label
  104. }}</ion-picker-column-option>
  105. }
  106. </ion-picker-column>
  107. </ion-picker>
  108. </ng-template>
  109. </ion-modal>