Fix comments URLs

Also remote comments were marked as local

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
Thomas Citharel 2019-12-18 18:25:40 +01:00
parent 131730ce5e
commit b911ecbb00
No known key found for this signature in database
GPG key ID: A061B9DDE0CA0773
4 changed files with 12 additions and 3 deletions

View file

@ -13,11 +13,11 @@
<strong>{{ comment.actor.name }}</strong>
<small v-if="comment.actor.domain">@{{ comment.actor.preferredUsername }}@{{ comment.actor.domain }}</small>
<small v-else>@{{ comment.actor.preferredUsername }}</small>
<a class="comment-link has-text-grey" :href="commentId">
<a class="comment-link has-text-grey" :href="commentURL">
<small>{{ timeago(new Date(comment.updatedAt)) }}</small>
</a>
</span>
<a v-else class="comment-link has-text-grey" :href="commentId">
<a v-else class="comment-link has-text-grey" :href="commentURL">
<span>{{ $t('[deleted]') }}</span>
</a>
<span class="icons" v-if="!comment.deletedAt">
@ -222,6 +222,11 @@ export default class Comment extends Vue {
return `#comment-${this.comment.uuid}`;
}
get commentURL(): String {
if (!this.comment.local && this.comment.url) return this.comment.url;
return this.commentId;
}
reportModal() {
this.$buefy.modal.open({
parent: this,

View file

@ -8,6 +8,7 @@ export const COMMENT_FIELDS_FRAGMENT = gql`
url,
text,
visibility,
local,
actor {
avatar {
url

View file

@ -6,6 +6,7 @@ export interface IComment {
uuid?: string;
url?: string;
text: string;
local: boolean;
actor: IActor;
inReplyToComment?: IComment;
originComment?: IComment;
@ -20,6 +21,7 @@ export class CommentModel implements IComment {
actor: IActor = new Actor();
id?: string;
text: string = '';
local: boolean = true;
url?: string;
uuid?: string;
inReplyToComment?: IComment = undefined;

View file

@ -39,7 +39,8 @@ defmodule Mobilizon.Events.Comment do
:in_reply_to_comment_id,
:origin_comment_id,
:attributed_to_id,
:deleted_at
:deleted_at,
:local
]
@attrs @required_attrs ++ @optional_attrs