Allow post edition by remote moderator
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
parent
8d23fca9a0
commit
53dc3f470b
|
@ -207,7 +207,7 @@ import { FETCH_GROUP } from "@/graphql/group";
|
||||||
variables() {
|
variables() {
|
||||||
return {
|
return {
|
||||||
id: this.currentActor.id,
|
id: this.currentActor.id,
|
||||||
group: this.actualGroup.preferredUsername,
|
group: usernameWithDomain(this.actualGroup),
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
skip() {
|
skip() {
|
||||||
|
|
|
@ -24,6 +24,29 @@
|
||||||
<b-icon icon="clock" size="is-small" />
|
<b-icon icon="clock" size="is-small" />
|
||||||
{{ post.publishAt | formatDateTimeString }}
|
{{ post.publishAt | formatDateTimeString }}
|
||||||
</span>
|
</span>
|
||||||
|
<span
|
||||||
|
class="published has-text-grey-dark"
|
||||||
|
:title="
|
||||||
|
$options.filters.formatDateTimeString(
|
||||||
|
post.updatedAt,
|
||||||
|
true,
|
||||||
|
'short'
|
||||||
|
)
|
||||||
|
"
|
||||||
|
v-else
|
||||||
|
>
|
||||||
|
<b-icon icon="clock" size="is-small" />
|
||||||
|
{{
|
||||||
|
$t("Edited {relative_time} ago", {
|
||||||
|
relative_time: formatDistanceToNowStrict(
|
||||||
|
new Date(post.updatedAt),
|
||||||
|
{
|
||||||
|
locale: $dateFnsLocale,
|
||||||
|
}
|
||||||
|
),
|
||||||
|
})
|
||||||
|
}}
|
||||||
|
</span>
|
||||||
<span
|
<span
|
||||||
v-if="post.visibility === PostVisibility.PRIVATE"
|
v-if="post.visibility === PostVisibility.PRIVATE"
|
||||||
class="has-text-grey-dark"
|
class="has-text-grey-dark"
|
||||||
|
@ -75,7 +98,11 @@ import { mixins } from "vue-class-component";
|
||||||
import GroupMixin from "@/mixins/group";
|
import GroupMixin from "@/mixins/group";
|
||||||
import { PostVisibility } from "@/types/enums";
|
import { PostVisibility } from "@/types/enums";
|
||||||
import { IMember } from "@/types/actor/member.model";
|
import { IMember } from "@/types/actor/member.model";
|
||||||
import { CURRENT_ACTOR_CLIENT, PERSON_MEMBERSHIPS } from "../../graphql/actor";
|
import {
|
||||||
|
CURRENT_ACTOR_CLIENT,
|
||||||
|
PERSON_MEMBERSHIPS,
|
||||||
|
PERSON_MEMBERSHIP_GROUP,
|
||||||
|
} from "../../graphql/actor";
|
||||||
import { FETCH_POST } from "../../graphql/post";
|
import { FETCH_POST } from "../../graphql/post";
|
||||||
import { IPost } from "../../types/post.model";
|
import { IPost } from "../../types/post.model";
|
||||||
import { usernameWithDomain } from "../../types/actor";
|
import { usernameWithDomain } from "../../types/actor";
|
||||||
|
@ -83,6 +110,7 @@ import RouteName from "../../router/name";
|
||||||
import Tag from "../../components/Tag.vue";
|
import Tag from "../../components/Tag.vue";
|
||||||
import LazyImageWrapper from "../../components/Image/LazyImageWrapper.vue";
|
import LazyImageWrapper from "../../components/Image/LazyImageWrapper.vue";
|
||||||
import ActorInline from "../../components/Account/ActorInline.vue";
|
import ActorInline from "../../components/Account/ActorInline.vue";
|
||||||
|
import { formatDistanceToNowStrict } from "date-fns";
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
apollo: {
|
apollo: {
|
||||||
|
@ -115,6 +143,23 @@ import ActorInline from "../../components/Account/ActorInline.vue";
|
||||||
this.handleErrors(graphQLErrors);
|
this.handleErrors(graphQLErrors);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
person: {
|
||||||
|
query: PERSON_MEMBERSHIP_GROUP,
|
||||||
|
fetchPolicy: "cache-and-network",
|
||||||
|
variables() {
|
||||||
|
return {
|
||||||
|
id: this.currentActor.id,
|
||||||
|
group: usernameWithDomain(this.post.attributedTo),
|
||||||
|
};
|
||||||
|
},
|
||||||
|
skip() {
|
||||||
|
return (
|
||||||
|
!this.currentActor ||
|
||||||
|
!this.currentActor.id ||
|
||||||
|
!this.post?.attributedTo
|
||||||
|
);
|
||||||
|
},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
Tag,
|
Tag,
|
||||||
|
@ -144,6 +189,8 @@ export default class Post extends mixins(GroupMixin) {
|
||||||
|
|
||||||
usernameWithDomain = usernameWithDomain;
|
usernameWithDomain = usernameWithDomain;
|
||||||
|
|
||||||
|
formatDistanceToNowStrict = formatDistanceToNowStrict;
|
||||||
|
|
||||||
PostVisibility = PostVisibility;
|
PostVisibility = PostVisibility;
|
||||||
|
|
||||||
handleErrors(errors: any[]): void {
|
handleErrors(errors: any[]): void {
|
||||||
|
|
Loading…
Reference in a new issue