client/src/app/shared/shared-forms/peertube-checkbox.component.html
<div class="root flex-column">
<div class="d-flex">
<label>
<input
type="checkbox"
[(ngModel)]="checked"
(ngModelChange)="onModelChange()"
[id]="inputName"
[disabled]="disabled"
[attr.aria-describedby]="inputName + '-description'"
/>
<span></span>
<span *ngIf="labelText">{{ labelText }}</span>
<span
*ngIf="!labelText && labelInnerHTML"
[innerHTML]="labelInnerHTML"
></span>
<span *ngIf="labelTemplate">
<ng-container *ngTemplateOutlet="labelTemplate"></ng-container>
</span>
</label>
<my-help
*ngIf="helpTemplate"
[tooltipPlacement]="helpPlacement"
helpType="custom"
>
<ng-template ptTemplate="customHtml">
<ng-template *ngTemplateOutlet="helpTemplate"></ng-template>
</ng-template>
</my-help>
<div *ngIf="recommended" class="recommended" i18n>Recommended</div>
</div>
<div class="ms-4 d-flex flex-column">
<div class="wrapper form-group-description" [id]="inputName + '-description'">
<ng-content select="description"></ng-content>
</div>
<span class="wrapper mt-3">
<ng-content select="extra"></ng-content>
</span>
</div>
</div>