mirror of
https://ghfast.top/https://github.com/discourse/discourse-cakeday.git
synced 2026-07-17 11:56:24 +08:00
Fix stale data on rerender by replacing init-set properties with getters. Previously, properties were set once in `init()`, so the change of a user model wasn't reflected. Using getters ensures up-to-date values.
51 lines
1.3 KiB
Text
51 lines
1.3 KiB
Text
import Component from "@glimmer/component";
|
|
import { service } from "@ember/service";
|
|
import {
|
|
birthday,
|
|
birthdayTitle,
|
|
cakeday,
|
|
cakedayTitle,
|
|
} from "discourse/plugins/discourse-cakeday/discourse/lib/cakeday";
|
|
import EmojiImages from "../../components/emoji-images";
|
|
|
|
export default class UserCakeday extends Component {
|
|
@service currentUser;
|
|
@service siteSettings;
|
|
|
|
get isCakeday() {
|
|
return cakeday(this.args.model.cakedate);
|
|
}
|
|
|
|
get isBirthday() {
|
|
return birthday(this.args.model.birthdate);
|
|
}
|
|
|
|
get cakedayTitle() {
|
|
return cakedayTitle(this.args.model, this.currentUser);
|
|
}
|
|
|
|
get birthdayTitle() {
|
|
return birthdayTitle(this.args.model, this.currentUser);
|
|
}
|
|
|
|
<template>
|
|
<div class="user-post-names-outlet user-cakeday">
|
|
{{#if this.siteSettings.cakeday_birthday_enabled}}
|
|
{{#if this.isBirthday}}
|
|
<EmojiImages
|
|
@list={{this.siteSettings.cakeday_birthday_emoji}}
|
|
@title={{this.birthdayTitle}}
|
|
/>
|
|
{{/if}}
|
|
{{/if}}
|
|
{{#if this.siteSettings.cakeday_enabled}}
|
|
{{#if this.isCakeday}}
|
|
<EmojiImages
|
|
@list={{this.siteSettings.cakeday_emoji}}
|
|
@title={{this.cakedayTitle}}
|
|
/>
|
|
{{/if}}
|
|
{{/if}}
|
|
</div>
|
|
</template>
|
|
}
|