Added logic for system board category to show last (#4163) (#4166)

* Added logic for system board category to show last

* NIT

(cherry picked from commit bddeeedd75)

Co-authored-by: Rajat Dabade <rajat.dabade@mattermost.com>
This commit is contained in:
Mattermost Build 2022-11-08 18:20:19 +02:00 committed by GitHub
parent 0849945ffa
commit 7362c009d3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -38,8 +38,14 @@ export const DefaultCategory: CategoryBoards = {
export const fetchSidebarCategories = createAsyncThunk(
'sidebarCategories/fetch',
async (teamID: string) => {
const categories = await client.getSidebarCategories(teamID)
return categories.sort((a, b) => a.name.localeCompare(b.name))
// TODO All this logic should remove once LHS DND PR gets merged
const allCategories = await client.getSidebarCategories(teamID)
const boardSystemCategoies = allCategories.filter((category) => category.name === 'Boards' && category.type === 'system')
const categoriesWithoutSystemBoard = allCategories.filter((category) => category.name !== 'Boards' && category.type !== 'system')
const categories = categoriesWithoutSystemBoard
categories.sort((a, b) => a.name.localeCompare(b.name))
categories.push(boardSystemCategoies[0])
return categories
},
)
@ -74,8 +80,14 @@ const sidebarSlice = createSlice({
}
})
// sort categories alphabetically
state.categoryAttributes.sort((a, b) => a.name.localeCompare(b.name))
// sort categories alphabetically only keeping board system category at the end
// TODO All this logic should remove once LHS DND PR gets merged
const boardsSystemCategories = state.categoryAttributes.filter((category) => category.name === 'Boards' && category.type === 'system')
const categoriesWithoutSystemBoard = state.categoryAttributes.filter((category) => category.name !== 'Baords' && category.type !== 'system')
const categories = categoriesWithoutSystemBoard
categories.sort((a, b) => a.name.localeCompare(b.name))
categories.push(boardsSystemCategories[0])
state.categoryAttributes = categories
},
updateBoardCategories: (state, action: PayloadAction<BoardCategoryWebsocketData[]>) => {
action.payload.forEach((boardCategory) => {