1
0
Fork 0

Added Markdown formatting in playlist descriptions

Implements https://github.com/Chocobozzz/PeerTube/issues/3627
This commit is contained in:
Poslovitch 2021-10-23 21:57:59 +00:00 committed by Chocobozzz
parent 3c4d6c1d9c
commit 9f3bf1432d
4 changed files with 15 additions and 12 deletions

View File

@ -41,11 +41,11 @@
</div> </div>
<div class="form-group"> <div class="form-group">
<label i18n for="description">Description</label> <label i18n for="description">Description</label><my-help helpType="markdownText"></my-help>
<textarea <my-markdown-textarea
id="description" formControlName="description" id="description" formControlName="description"
class="form-control" [ngClass]="{ 'input-error': formErrors['description'] }" [ngClass]="{ 'input-error': formErrors['description'] }"
></textarea> ></my-markdown-textarea>
<div *ngIf="formErrors.description" class="form-error"> <div *ngIf="formErrors.description" class="form-error">
{{ formErrors.description }} {{ formErrors.description }}
</div> </div>

View File

@ -16,12 +16,6 @@ input[type=text] {
display: block; display: block;
} }
textarea {
@include peertube-textarea(500px, 150px);
display: block;
}
.peertube-select-container { .peertube-select-container {
@include peertube-select-container(340px); @include peertube-select-container(340px);
} }

View File

@ -32,6 +32,6 @@
<span i18n class="updated-at">Updated {{ playlist.updatedAt | myFromNow }}</span> <span i18n class="updated-at">Updated {{ playlist.updatedAt | myFromNow }}</span>
</div> </div>
<div *ngIf="displayDescription" class="video-info-description">{{ playlist.description }}</div> <div *ngIf="displayDescription" class="video-info-description" [innerHTML]="playlistDescription"></div>
</div> </div>
</div> </div>

View File

@ -1,6 +1,7 @@
import { LinkType } from 'src/types/link.type' import { LinkType } from 'src/types/link.type'
import { Component, Input, OnInit } from '@angular/core' import { Component, Input, OnInit } from '@angular/core'
import { VideoPlaylist } from './video-playlist.model' import { VideoPlaylist } from './video-playlist.model'
import { MarkdownService } from '@app/core'
@Component({ @Component({
selector: 'my-video-playlist-miniature', selector: 'my-video-playlist-miniature',
@ -22,9 +23,17 @@ export class VideoPlaylistMiniatureComponent implements OnInit {
routerLink: any routerLink: any
playlistHref: string playlistHref: string
playlistTarget: string playlistTarget: string
playlistDescription: string
ngOnInit () { constructor (
private markdownService: MarkdownService
) {}
async ngOnInit () {
this.buildPlaylistUrl() this.buildPlaylistUrl()
if (this.displayDescription) {
this.playlistDescription = await this.markdownService.textMarkdownToHTML(this.playlist.description)
}
} }
buildPlaylistUrl () { buildPlaylistUrl () {