1
0
mirror of https://github.com/flarum/core.git synced 2025-08-11 02:44:04 +02:00

feat(sticky): make excerpt optional in sticky (#4016)

This commit is contained in:
Chisato Nishikigi
2024-10-22 02:09:48 +08:00
committed by GitHub
parent b86a4a0fe0
commit a0311dfb2b
4 changed files with 25 additions and 9 deletions

View File

@@ -15,11 +15,22 @@ export default [
'moderate',
95
)
.setting(() => ({
setting: 'flarum-sticky.only_sticky_unread_discussions',
name: 'onlyStickyUnreadDiscussions',
type: 'boolean',
label: app.translator.trans('flarum-sticky.admin.settings.only_sticky_unread_discussions_label'),
help: app.translator.trans('flarum-sticky.admin.settings.only_sticky_unread_discussions_help'),
})),
.setting(
() => ({
setting: 'flarum-sticky.only_sticky_unread_discussions',
name: 'onlyStickyUnreadDiscussions',
type: 'boolean',
label: app.translator.trans('flarum-sticky.admin.settings.only_sticky_unread_discussions_label'),
help: app.translator.trans('flarum-sticky.admin.settings.only_sticky_unread_discussions_help'),
}),
90
)
.setting(
() => ({
type: 'switch',
setting: 'flarum-sticky.enable_display_excerpt',
label: app.translator.trans('flarum-sticky.admin.settings.enable_display_excerpt'),
}),
100
),
];

View File

@@ -8,7 +8,7 @@ import { truncate } from 'flarum/common/utils/string';
export default function addStickyExcerpt() {
extend(DiscussionListState.prototype, 'requestParams', function (params) {
if (app.current.matches(IndexPage) || app.current.matches(DiscussionPage)) {
if (app.forum.attribute('excerptDisplayEnabled') && (app.current.matches(IndexPage) || app.current.matches(DiscussionPage))) {
params.include.push('firstPost');
}
});
@@ -16,7 +16,7 @@ export default function addStickyExcerpt() {
extend(DiscussionListItem.prototype, 'infoItems', function (items) {
const discussion = this.attrs.discussion;
if (discussion.isSticky() && !this.attrs.params.q && !discussion.lastReadPostNumber()) {
if (app.forum.attribute('excerptDisplayEnabled') && discussion.isSticky() && !this.attrs.params.q && !discussion.lastReadPostNumber()) {
const firstPost = discussion.firstPost();
if (firstPost) {