]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - client/src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html
Refactor my actor avatar edit
[github/Chocobozzz/PeerTube.git] / client / src / app / shared / shared-actor-image-edit / actor-avatar-edit.component.html
index 6459c5ffedbc222d31e8ea43300aec13fff0c02a..a0f65a3d9b445be12181e41122bcaad53c39a9e8 100644 (file)
@@ -1,23 +1,32 @@
 <div class="actor" *ngIf="actor">
-  <div class="d-flex">
+  <div class="position-relative me-3">
     <my-actor-avatar [actor]="actor" [actorType]="getActorType()" [previewImage]="preview" size="100"></my-actor-avatar>
 
-    <div class="actor-img-edit-container">
-
-      <div *ngIf="editable && !hasAvatar()" class="actor-img-edit-button" [ngbTooltip]="avatarFormat" placement="right" container="body">
-        <my-global-icon iconName="upload"></my-global-icon>
-        <label class="visually-hidden" for="avatarfile" i18n>Upload a new avatar</label>
-        <input #avatarfileInput type="file" name="avatarfile" id="avatarfile" [accept]="avatarExtensions" (change)="onAvatarChange(avatarfileInput)"/>
-      </div>
+    <div *ngIf="editable && !hasAvatar()" class="actor-img-edit-button" [ngbTooltip]="avatarFormat" placement="right" container="body">
+      <my-global-icon iconName="upload"></my-global-icon>
+      <label class="visually-hidden" for="avatarfile" i18n>Upload a new avatar</label>
+      <input #avatarfileInput type="file" name="avatarfile" id="avatarfile" [accept]="avatarExtensions" (change)="onAvatarChange(avatarfileInput)"/>
+    </div>
 
-      <div
-        *ngIf="editable && hasAvatar()" class="actor-img-edit-button"
-        #avatarPopover="ngbPopover" [ngbPopover]="avatarEditContent" popoverClass="popover-image-info" autoClose="outside" placement="right"
-      >
+    <div *ngIf="editable && hasAvatar()" ngbDropdown placement="right">
+      <div class="actor-img-edit-button" ngbDropdownToggle>
         <my-global-icon iconName="edit"></my-global-icon>
         <label class="visually-hidden" for="avatarMenu" i18n>Change your avatar</label>
       </div>
 
+      <div ngbDropdownMenu>
+        <div class="dropdown-item c-hand dropdown-file" [ngbTooltip]="avatarFormat">
+          <my-global-icon iconName="upload"></my-global-icon>
+          <span for="avatarfile" i18n>Upload a new avatar</span>
+          <input #avatarfileInput type="file" name="avatarfile" id="avatarfile" [accept]="avatarExtensions" (change)="onAvatarChange(avatarfileInput)"/>
+        </div>
+
+        <div class="dropdown-item c-hand" (click)="deleteAvatar()" (key.enter)="deleteAvatar()">
+          <my-global-icon iconName="delete"></my-global-icon>
+          <span i18n>Remove avatar</span>
+        </div>
+      </div>
+
     </div>
   </div>
 
     <div *ngIf="displaySubscribers" i18n class="actor-info-followers">{{ actor.followersCount }} subscribers</div>
   </div>
 </div>
-
-<ng-template #avatarEditContent>
-  <div class="dropdown-item c-hand" [ngbTooltip]="avatarFormat" placement="right" container="body">
-    <my-global-icon iconName="upload"></my-global-icon>
-    <span for="avatarfile" i18n>Upload a new avatar</span>
-    <input #avatarfileInput type="file" name="avatarfile" id="avatarfile" [accept]="avatarExtensions" (change)="onAvatarChange(avatarfileInput)"/>
-  </div>
-
-  <div class="dropdown-item c-hand" (click)="deleteAvatar()" (key.enter)="deleteAvatar()">
-    <my-global-icon iconName="delete"></my-global-icon>
-    <span i18n>Remove avatar</span>
-  </div>
-</ng-template>