mirror of
https://github.com/scratchfoundation/scratch-www.git
synced 2025-03-31 23:30:03 -04:00
Forward fix for regression introduced by changing the number of replies we fetch. This change updates the number of comment replies we fetch on project comments from 20 to 25 to be consistent with studio page. Also updates the code that controls whether to display the 'See more replies' button on comment threads.
This commit is contained in:
parent
17a96b4065
commit
00f243250c
3 changed files with 12 additions and 5 deletions
|
@ -2,7 +2,13 @@ const keyMirror = require('keymirror');
|
|||
const mergeWith = require('lodash.mergewith');
|
||||
const uniqBy = require('lodash.uniqby');
|
||||
|
||||
const COMMENT_LIMIT = 20;
|
||||
// Number of replies to fetch at a time.
|
||||
// The way this code is currently structured, it expects
|
||||
// this number to be the same for project comment reply threads
|
||||
// as well as studio comment reply threads.
|
||||
// These could be decoupled in the future.
|
||||
const REPLY_FETCH_LIMIT = 25;
|
||||
|
||||
|
||||
module.exports.Status = keyMirror({
|
||||
FETCHED: null,
|
||||
|
@ -108,7 +114,7 @@ module.exports.commentsReducer = (state, action) => {
|
|||
comments: state.comments.map(comment => {
|
||||
if (action.replies[comment.id]) {
|
||||
return Object.assign({}, comment, {
|
||||
moreRepliesToLoad: action.replies[comment.id].length === COMMENT_LIMIT
|
||||
moreRepliesToLoad: action.replies[comment.id].length === REPLY_FETCH_LIMIT
|
||||
});
|
||||
}
|
||||
return comment;
|
||||
|
|
|
@ -4,6 +4,7 @@ const api = require('../lib/api');
|
|||
const log = require('../lib/log');
|
||||
|
||||
const COMMENT_LIMIT = 20;
|
||||
const REPLY_LIMIT = 25; // Number of replies to fetch at a time
|
||||
|
||||
const {
|
||||
addNewComment,
|
||||
|
@ -28,7 +29,7 @@ const getReplies = (projectId, commentIds, offset, ownerUsername, isAdmin, token
|
|||
api({
|
||||
uri: `${isAdmin ? '/admin' : `/users/${ownerUsername}`}/projects/${projectId}/comments/${parentId}/replies`,
|
||||
authentication: token ? token : null,
|
||||
params: {offset: offset || 0, limit: COMMENT_LIMIT}
|
||||
params: {offset: offset || 0, limit: REPLY_LIMIT}
|
||||
}, (err, body, res) => {
|
||||
if (err) {
|
||||
return callback(`Error fetching comment replies: ${err}`);
|
||||
|
|
|
@ -140,9 +140,9 @@ tap.test('setReplies', t => {
|
|||
t.equal(state.comments[0].moreRepliesToLoad, false);
|
||||
t.equal(state.comments[1].moreRepliesToLoad, false);
|
||||
|
||||
// Getting 20 (COMMENT_LIMIT) replies sets moreRepliesToLoad to true
|
||||
// Getting 25 (REPLY_FETCH_LIMIT) replies sets moreRepliesToLoad to true
|
||||
state = reducer(state, Comments.setReplies({
|
||||
id3: (new Array(20)).map((_, i) => ({id: `id${i + 1}`}))
|
||||
id3: (new Array(25)).map((_, i) => ({id: `id${i + 1}`}))
|
||||
}));
|
||||
t.equal(state.comments[0].moreRepliesToLoad, false);
|
||||
t.equal(state.comments[1].moreRepliesToLoad, false);
|
||||
|
|
Loading…
Add table
Reference in a new issue