art-detail.page.html 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <ion-header [translucent]="true" class="ion-no-border">
  2. <ion-toolbar>
  3. <ion-buttons slot="start">
  4. <ion-back-button defaultHref="/tabs/tab3"></ion-back-button>
  5. </ion-buttons>
  6. <ion-title>作品详情</ion-title>
  7. </ion-toolbar>
  8. </ion-header>
  9. <ion-content [fullscreen]="true">
  10. <div class="art-detail">
  11. <img [src]="artDetail.image" [alt]="artDetail.title" class="main-image">
  12. <div class="content-section">
  13. <h1>{{artDetail.title}}</h1>
  14. <p class="description">{{artDetail.description}}</p>
  15. <div class="interaction-bar">
  16. <ion-button fill="clear" (click)="toggleLike()" [color]="isLiked ? 'danger' : 'medium'">
  17. <ion-icon slot="start" [name]="isLiked ? 'heart' : 'heart-outline'"></ion-icon>
  18. {{likeCount}}
  19. </ion-button>
  20. </div>
  21. </div>
  22. <div class="comments-section">
  23. <h2>评论</h2>
  24. <div class="comment-input">
  25. <ion-item>
  26. <ion-textarea [(ngModel)]="newComment" placeholder="写下你的评论..." rows="3"></ion-textarea>
  27. </ion-item>
  28. <ion-button expand="block" (click)="addComment()">发表评论</ion-button>
  29. </div>
  30. <div class="comments-list">
  31. @for(comment of comments; track comment.id) {
  32. <div class="comment-item">
  33. <div class="comment-header">
  34. <img [src]="comment.userAvatar || 'assets/default-avatar.png'" alt="avatar">
  35. <span class="username">{{comment.username}}</span>
  36. <span class="time">{{comment.createdAt | date:'MM-dd HH:mm'}}</span>
  37. </div>
  38. <p class="comment-content">{{comment.content}}</p>
  39. </div>
  40. }
  41. </div>
  42. </div>
  43. </div>
  44. </ion-content>