2020-02-16 04:21:58 +01:00
|
|
|
<form class="status-editor" (ngSubmit)="onSubmit()">
|
|
|
|
<input [(ngModel)]="title" type="text" class="form-control form-control-sm status-editor__title" name="title"
|
2019-10-09 17:37:11 +02:00
|
|
|
autocomplete="off" placeholder="Title, Content Warning (optional)" title="title, content warning (optional)" dir="auto" />
|
2019-03-06 04:46:50 +01:00
|
|
|
|
2019-07-28 02:37:26 +02:00
|
|
|
<a class="status-editor__emoji" title="Insert Emoji"
|
|
|
|
#emojiButton href (click)="openEmojiPicker($event)">
|
|
|
|
<img class="status-editor__emoji--image" src="/assets/emoji/72x72/1f636.png">
|
|
|
|
</a>
|
|
|
|
|
2023-08-04 07:08:00 +02:00
|
|
|
<a class="status-editor__lang" title="Change language" href *ngIf="configuredLanguages && configuredLanguages.length > 1">
|
2023-08-04 06:48:38 +02:00
|
|
|
EN
|
|
|
|
</a>
|
|
|
|
|
2020-02-16 04:21:58 +01:00
|
|
|
<textarea #reply [(ngModel)]="status" name="status" class="form-control form-control-sm status-editor__content" (paste)="onPaste($event)"
|
2023-04-24 00:32:42 +02:00
|
|
|
rows="5" required title="content" placeholder="What's on your mind?"
|
|
|
|
(keydown.control.enter)="onCtrlEnter()"
|
|
|
|
(keydown.meta.enter)="onCtrlEnter()"
|
2019-10-09 17:37:11 +02:00
|
|
|
(keydown)="handleKeyDown($event)" (blur)="statusTextEditorLostFocus()" dir="auto">
|
2019-07-28 02:37:26 +02:00
|
|
|
</textarea>
|
2019-07-25 05:57:50 +02:00
|
|
|
|
2019-07-27 23:01:47 +02:00
|
|
|
<div class="status-editor__mention-error" *ngIf="mentionTooFarAwayError">Error: mentions must be placed closer to
|
|
|
|
the
|
2019-07-27 20:03:47 +02:00
|
|
|
start in order to use multiposting.</div>
|
|
|
|
|
|
|
|
<app-autosuggest class="status-editor__autosuggest" *ngIf="autosuggestData" [pattern]="autosuggestData"
|
2019-07-25 00:09:50 +02:00
|
|
|
[autoSuggestUserActionsStream]="autoSuggestUserActionsStream"
|
2019-07-25 05:57:50 +02:00
|
|
|
(suggestionSelectedEvent)="suggestionSelected($event)" (hasSuggestionsEvent)="suggestionsChanged($event)">
|
|
|
|
</app-autosuggest>
|
|
|
|
|
2019-10-02 04:24:00 +02:00
|
|
|
<app-poll-editor *ngIf="instanceSupportsPoll && pollIsActive"></app-poll-editor>
|
2019-08-24 04:59:57 +02:00
|
|
|
|
2019-10-02 04:24:00 +02:00
|
|
|
<app-status-scheduler class="scheduler" *ngIf="instanceSupportsScheduling && scheduleIsActive"></app-status-scheduler>
|
2019-08-24 04:59:57 +02:00
|
|
|
|
2019-08-16 01:40:17 +02:00
|
|
|
<div class="status-editor__footer" #footer>
|
2019-07-26 01:44:03 +02:00
|
|
|
<button type="submit" title="reply" class="status-editor__footer--send-button" *ngIf="statusReplyingToWrapper">
|
2022-12-11 04:11:25 +01:00
|
|
|
<span *ngIf="!isSending && !scheduleIsActive && !isEditing">REPLY!</span>
|
|
|
|
<span *ngIf="!isSending && scheduleIsActive && !isEditing">PLAN!</span>
|
|
|
|
<span *ngIf="!isSending && isEditing">EDIT!</span>
|
2019-07-26 02:25:18 +02:00
|
|
|
<app-waiting-animation class="waiting-icon" *ngIf="isSending"></app-waiting-animation>
|
2019-07-26 01:44:03 +02:00
|
|
|
</button>
|
|
|
|
<button type="submit" title="post" class="status-editor__footer--send-button" *ngIf="!statusReplyingToWrapper">
|
2022-12-11 04:11:25 +01:00
|
|
|
<span *ngIf="!isSending && !scheduleIsActive && !isEditing">POST!</span>
|
|
|
|
<span *ngIf="!isSending && scheduleIsActive && !isEditing">PLAN!</span>
|
|
|
|
<span *ngIf="!isSending && isEditing">EDIT!</span>
|
2019-07-26 02:25:18 +02:00
|
|
|
<app-waiting-animation class="waiting-icon" *ngIf="isSending"></app-waiting-animation>
|
2019-07-25 05:57:50 +02:00
|
|
|
</button>
|
|
|
|
<div class="status-editor__footer__counter">
|
2019-07-25 07:10:48 +02:00
|
|
|
<div class="status-editor__footer__counter--posts" title="number of statuses">
|
|
|
|
{{postCounts - 1}}/{{postCounts}}</div>
|
|
|
|
<div class="status-editor__footer__counter--count" title="chars left">{{charCountLeft}}</div>
|
2019-07-25 05:57:50 +02:00
|
|
|
</div>
|
|
|
|
|
2019-07-26 04:50:51 +02:00
|
|
|
<a href class="status-editor__footer--link" title="add media" (click)="addMedia()">
|
2019-07-25 05:57:50 +02:00
|
|
|
<fa-icon [icon]="faPaperclip"></fa-icon>
|
|
|
|
</a>
|
2019-07-26 04:50:51 +02:00
|
|
|
<input #fileInput type="file" id="file" style="display: none;" (change)="handleFileInput($event.target.files)">
|
|
|
|
|
2019-07-26 06:01:39 +02:00
|
|
|
<a href class="status-editor__footer--link" title="{{ selectedPrivacy }}" (click)="onContextMenu($event)">
|
2019-07-26 01:41:12 +02:00
|
|
|
<fa-icon [icon]="faGlobeAmericas" *ngIf="selectedPrivacy === 'Public'"></fa-icon>
|
|
|
|
<fa-icon [icon]="faLockOpen" *ngIf="selectedPrivacy === 'Unlisted'"></fa-icon>
|
|
|
|
<fa-icon [icon]="faLock" *ngIf="selectedPrivacy === 'Follows-only'"></fa-icon>
|
2019-07-26 01:44:03 +02:00
|
|
|
<fa-icon [icon]="faEnvelope" *ngIf="selectedPrivacy === 'DM'"></fa-icon>
|
2019-07-25 05:57:50 +02:00
|
|
|
</a>
|
2019-08-24 04:59:57 +02:00
|
|
|
|
2019-10-02 04:24:00 +02:00
|
|
|
<a href *ngIf="instanceSupportsPoll"
|
|
|
|
class="status-editor__footer--link status-editor__footer--add-poll" title="add poll" (click)="addPoll()">
|
2019-08-24 04:59:57 +02:00
|
|
|
<fa-icon [icon]="faPollH"></fa-icon>
|
|
|
|
</a>
|
|
|
|
|
2019-10-02 04:24:00 +02:00
|
|
|
<a href *ngIf="instanceSupportsScheduling"
|
|
|
|
class="status-editor__footer--link" title="schedule" (click)="schedule()">
|
2019-08-24 04:59:57 +02:00
|
|
|
<fa-icon [icon]="faClock"></fa-icon>
|
|
|
|
</a>
|
2019-07-25 05:57:50 +02:00
|
|
|
</div>
|
|
|
|
|
2019-07-25 07:10:48 +02:00
|
|
|
<context-menu #contextMenu>
|
2019-07-27 20:03:47 +02:00
|
|
|
<ng-template contextMenuItem (execute)="changePrivacy('Public')">
|
2019-07-26 06:01:39 +02:00
|
|
|
<fa-icon [icon]="faGlobeAmericas" class="context-menu-icon"></fa-icon> Public
|
2019-07-25 07:10:48 +02:00
|
|
|
</ng-template>
|
2019-07-27 20:03:47 +02:00
|
|
|
<ng-template contextMenuItem (execute)="changePrivacy('Unlisted')">
|
2019-07-26 06:01:39 +02:00
|
|
|
<fa-icon [icon]="faLockOpen" class="context-menu-icon"></fa-icon> Unlisted
|
2019-07-26 01:44:03 +02:00
|
|
|
</ng-template>
|
2019-07-27 20:03:47 +02:00
|
|
|
<ng-template contextMenuItem (execute)="changePrivacy('Follows-only')">
|
2019-07-26 06:01:39 +02:00
|
|
|
<fa-icon [icon]="faLock" class="context-menu-icon"></fa-icon> Followers-only
|
2019-07-25 07:10:48 +02:00
|
|
|
</ng-template>
|
2019-07-27 20:03:47 +02:00
|
|
|
<ng-template contextMenuItem (execute)="changePrivacy('DM')">
|
2019-07-26 06:01:39 +02:00
|
|
|
<fa-icon [icon]="faEnvelope" class="context-menu-icon"></fa-icon> Direct
|
2019-07-26 01:44:03 +02:00
|
|
|
</ng-template>
|
2019-07-25 07:10:48 +02:00
|
|
|
</context-menu>
|
2019-03-08 05:50:33 +01:00
|
|
|
<app-media></app-media>
|
2019-10-09 17:37:11 +02:00
|
|
|
</form>
|