diff --git a/app/javascript/flavours/glitch/reducers/accounts.ts b/app/javascript/flavours/glitch/reducers/accounts.ts index 02bb9d4976..c7459d1d5a 100644 --- a/app/javascript/flavours/glitch/reducers/accounts.ts +++ b/app/javascript/flavours/glitch/reducers/accounts.ts @@ -41,32 +41,34 @@ const normalizeAccounts = ( return state; }; -export const accountsReducer: Reducer = ( - state = initialState, - action, -) => { - const currentUserId = me; - - if (!currentUserId) +function getCurrentUser() { + if (!me) throw new Error( 'No current user (me) defined when calling `accountsReducer`', ); + return me; +} + +export const accountsReducer: Reducer = ( + state = initialState, + action, +) => { if (revealAccount.match(action)) return state.setIn([action.payload.id, 'hidden'], false); else if (importAccounts.match(action)) return normalizeAccounts(state, action.payload.accounts); - else if (followAccountSuccess.match(action)) + else if (followAccountSuccess.match(action)) { return state .update( action.payload.relationship.id, (account) => account?.update('followers_count', (n) => n + 1), ) .update( - currentUserId, + getCurrentUser(), (account) => account?.update('following_count', (n) => n + 1), ); - else if (unfollowAccountSuccess.match(action)) + } else if (unfollowAccountSuccess.match(action)) return state .update( action.payload.relationship.id, @@ -74,7 +76,7 @@ export const accountsReducer: Reducer = ( account?.update('followers_count', (n) => Math.max(0, n - 1)), ) .update( - currentUserId, + getCurrentUser(), (account) => account?.update('following_count', (n) => Math.max(0, n - 1)), );