1 <form novalidate [formGroup]=
"form" (ngSubmit)=
"formValidated()">
2 <div class=
"avatar-and-textarea">
3 <img [src]=
"getAvatarUrl()" alt=
"Avatar" />
5 <div class=
"form-group">
6 <textarea i18n-placeholder
placeholder=
"Add comment..." myAutoResize
7 [readonly]=
"(user === null) ? true : false"
8 (click)=
"openVisitorModal($event)"
9 formControlName=
"text" [ngClass]=
"{ 'input-error': formErrors['text'] }"
10 (keyup.control.enter)=
"onValidKey()" (keyup.meta.enter)=
"onValidKey()" #textarea
>
13 <my-help class=
"markdown-guide" helpType=
"custom" iconName=
"markdown" tooltipPlacement=
"left auto" autoClose=
"true" i18n-title
title=
"Markdown compatible">
14 <ng-template ptTemplate=
"customHtml">
15 <span i18n
>Markdown compatible that supports:
</span>
18 <li><span i18n
>Auto generated links
</span></li>
19 <li><span i18n
>Break lines
</span></li>
20 <li><span i18n
>Lists
</span></li>
22 <span i18n
>Emphasis
</span>
23 <code>**
<strong i18n
>bold
</strong>** _
<i i18n
>italic
</i>_
</code>
26 <span i18n
>Emoji shortcuts
</span>
30 <span i18n
>Emoji markup
</span>
32 <div><a href=
"" (click)=
"openEmojiModal($event)" i18n
>See complete list
</a></div>
37 <div *
ngIf=
"formErrors.text" class=
"form-error">
43 <div class=
"comment-buttons">
44 <button *
ngIf=
"isAddButtonDisplayed()" class=
"cancel-button" (click)=
"cancelCommentReply()" type=
"button" i18n
>
47 <button *
ngIf=
"isAddButtonDisplayed()" [ngClass]=
"{ disabled: !form.valid || addingComment }">
48 {{ addingCommentButtonValue }}
53 <ng-template #visitorModal let-modal
>
54 <div class=
"modal-header">
55 <h4 class=
"modal-title" id=
"modal-basic-title" i18n
>You are one step away from commenting
</h4>
56 <my-global-icon iconName=
"cross" aria-label=
"Close" role=
"button" (click)=
"hideModals()"></my-global-icon>
58 <div class=
"modal-body">
60 You can comment using an account on any ActivityPub-compatible instance.
61 On most platforms, you can find the video by typing its URL in the search bar and then comment it
62 from within the software's interface.
65 If you have an account on Mastodon or Pleroma, you can open it directly in their interface:
67 <my-remote-subscribe [interact]=
"true" [uri]=
"getUri()"></my-remote-subscribe>
69 <div class=
"modal-footer inputs">
71 type=
"button" role=
"button" i18n-value
value=
"Cancel" class=
"action-button action-button-cancel"
72 (click)=
"hideModals()" (key.enter)=
"hideModals()"
76 type=
"submit" i18n-value
value=
"Login to comment" class=
"action-button-submit"
82 <ng-template #emojiModal
>
83 <div class=
"modal-header">
84 <h4 class=
"modal-title" id=
"modal-basic-title" i18n
>Markdown Emoji List
</h4>
85 <my-global-icon iconName=
"cross" aria-label=
"Close" role=
"button" (click)=
"hideModals()"></my-global-icon>
87 <div class=
"modal-body">
88 <div class=
"emoji-flex">
89 <div class=
"emoji-flex-item" *
ngFor=
"let emojiMarkup of emojiMarkupList">
90 {{ emojiMarkup[
0] }}
<code>:{{ emojiMarkup[
1] }}:
</code>