DEV: adds a post event status decorator (#619)

This commit is contained in:
Joffrey JAFFEUX 2024-10-22 13:52:41 +09:00 committed by GitHub
parent b4c4e4e0bc
commit 3f37ca6256
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 32 additions and 21 deletions

View File

@ -1,9 +1,11 @@
import Component from "@glimmer/component"; import Component from "@glimmer/component";
import { hash } from "@ember/helper";
import didInsert from "@ember/render-modifiers/modifiers/did-insert"; import didInsert from "@ember/render-modifiers/modifiers/did-insert";
import willDestroy from "@ember/render-modifiers/modifiers/will-destroy"; import willDestroy from "@ember/render-modifiers/modifiers/will-destroy";
import { service } from "@ember/service"; import { service } from "@ember/service";
import { htmlSafe } from "@ember/template"; import { htmlSafe } from "@ember/template";
import { modifier } from "ember-modifier"; import { modifier } from "ember-modifier";
import PluginOutlet from "discourse/components/plugin-outlet";
import concatClass from "discourse/helpers/concat-class"; import concatClass from "discourse/helpers/concat-class";
import routeAction from "discourse/helpers/route-action"; import routeAction from "discourse/helpers/route-action";
import { emojiUnescape } from "discourse/lib/text"; import { emojiUnescape } from "discourse/lib/text";
@ -16,6 +18,8 @@ import MoreMenu from "./more-menu";
import Status from "./status"; import Status from "./status";
import Url from "./url"; import Url from "./url";
const Separator = <template><span class="separator">·</span></template>;
export default class DiscoursePostEvent extends Component { export default class DiscoursePostEvent extends Component {
@service currentUser; @service currentUser;
@service discoursePostEventApi; @service discoursePostEventApi;
@ -124,27 +128,34 @@ export default class DiscoursePostEvent extends Component {
{{this.eventName}} {{this.eventName}}
</span> </span>
<div class="status-and-creators"> <div class="status-and-creators">
{{#if @event.isExpired}} <PluginOutlet
<span class="status expired"> @name="discourse-post-event-status"
{{i18n @outletArgs={{hash event=@event Separator=Separator}}
"discourse_calendar.discourse_post_event.models.event.expired" >
}} {{#if @event.isExpired}}
</span> <span class="status expired">
{{else if @event.isClosed}} {{i18n
<span class="status closed"> "discourse_calendar.discourse_post_event.models.event.expired"
{{i18n }}
"discourse_calendar.discourse_post_event.models.event.closed" </span>
}} {{else if @event.isClosed}}
</span> <span class="status closed">
{{else}} {{i18n
<span "discourse_calendar.discourse_post_event.models.event.closed"
class={{this.statusClass}} }}
title={{this.eventStatusDescription}} </span>
> {{else}}
{{this.eventStatusLabel}} <span
</span> class={{this.statusClass}}
{{/if}} title={{this.eventStatusDescription}}
<span class="separator">·</span> >
{{this.eventStatusLabel}}
</span>
{{/if}}
</PluginOutlet>
<Separator />
<span class="creators"> <span class="creators">
<span class="created-by">{{i18n <span class="created-by">{{i18n
"discourse_calendar.discourse_post_event.event_ui.created_by" "discourse_calendar.discourse_post_event.event_ui.created_by"