make current sort option visible on button

This commit is contained in:
Barış Soner Uşaklı
2024-02-08 13:09:15 -05:00
parent 863638c3d0
commit 7298c5513f
3 changed files with 13 additions and 2 deletions

View File

@@ -0,0 +1,4 @@
{
"post-sort-option": "Post sort option, %1",
"topic-sort-option": "Topic sort option, %1"
}

View File

@@ -20,6 +20,7 @@ const categoryController = module.exports;
const url = nconf.get('url');
const relative_path = nconf.get('relative_path');
const validSorts = ['newest_to_oldest', 'oldest_to_newest', 'most_posts', 'most_votes', 'most_views'];
categoryController.get = async function (req, res, next) {
const cid = req.params.category_id;
@@ -72,12 +73,14 @@ categoryController.get = async function (req, res, next) {
const start = ((currentPage - 1) * userSettings.topicsPerPage) + topicIndex;
const stop = start + userSettings.topicsPerPage - 1;
const sort = validSorts.includes(req.query.sort) ? req.query.sort : userSettings.categoryTopicSort;
const categoryData = await categories.getCategoryById({
uid: req.uid,
cid: cid,
start: start,
stop: stop,
sort: req.query.sort || userSettings.categoryTopicSort,
sort: sort,
settings: userSettings,
query: req.query,
tag: req.query.tag,
@@ -129,6 +132,7 @@ categoryController.get = async function (req, res, next) {
categoryData.topicIndex = topicIndex;
categoryData.selectedTag = tagData.selectedTag;
categoryData.selectedTags = tagData.selectedTags;
categoryData.sortOptionLabel = `[[topic:${validator.escape(String(sort)).replace(/_/g, '-')}]]`;
if (!meta.config['feeds:disableRSS']) {
categoryData.rssFeedUrl = `${url}/category/${categoryData.cid}.rss`;

View File

@@ -2,6 +2,7 @@
const nconf = require('nconf');
const qs = require('querystring');
const validator = require('validator');
const user = require('../user');
const meta = require('../meta');
@@ -19,6 +20,7 @@ const topicsController = module.exports;
const url = nconf.get('url');
const relative_path = nconf.get('relative_path');
const upload_url = nconf.get('upload_url');
const validSorts = ['oldest_to_newest', 'newest_to_oldest', 'most_votes'];
topicsController.get = async function getTopic(req, res, next) {
const tid = req.params.topic_id;
@@ -69,7 +71,7 @@ topicsController.get = async function getTopic(req, res, next) {
return helpers.redirect(res, `/topic/${tid}/${req.params.slug}${postIndex > topicData.postcount ? `/${topicData.postcount}` : ''}${generateQueryString(req.query)}`);
}
postIndex = Math.max(1, postIndex);
const sort = req.query.sort || settings.topicPostSort;
const sort = validSorts.includes(req.query.sort) ? req.query.sort : settings.topicPostSort;
const set = sort === 'most_votes' ? `tid:${tid}:posts:votes` : `tid:${tid}:posts`;
const reverse = sort === 'newest_to_oldest' || sort === 'most_votes';
@@ -105,6 +107,7 @@ topicsController.get = async function getTopic(req, res, next) {
topicData.allowMultipleBadges = meta.config.allowMultipleBadges === 1;
topicData.privateUploads = meta.config.privateUploads === 1;
topicData.showPostPreviewsOnHover = meta.config.showPostPreviewsOnHover === 1;
topicData.sortOptionLabel = `[[topic:${validator.escape(String(sort)).replace(/_/g, '-')}]]`;
if (!meta.config['feeds:disableRSS']) {
topicData.rssFeedUrl = `${relative_path}/topic/${topicData.tid}.rss`;
if (req.loggedIn) {