|
@@ -271,7 +271,8 @@ export function ProjectListProvider({ children }: ProjectListProviderProps) {
|
|
|
|
|
|
|
|
const toggleSelectedProject = useCallback(
|
|
const toggleSelectedProject = useCallback(
|
|
|
(projectId: string, selected?: boolean) => {
|
|
(projectId: string, selected?: boolean) => {
|
|
|
- setSelectedProjectIds(selectedProjectIds => {
|
|
|
|
|
|
|
+ setSelectedProjectIds(prevSelectedProjectIds => {
|
|
|
|
|
+ const selectedProjectIds = new Set(prevSelectedProjectIds)
|
|
|
if (selected === true) {
|
|
if (selected === true) {
|
|
|
selectedProjectIds.add(projectId)
|
|
selectedProjectIds.add(projectId)
|
|
|
} else if (selected === false) {
|
|
} else if (selected === false) {
|
|
@@ -281,7 +282,7 @@ export function ProjectListProvider({ children }: ProjectListProviderProps) {
|
|
|
} else {
|
|
} else {
|
|
|
selectedProjectIds.add(projectId)
|
|
selectedProjectIds.add(projectId)
|
|
|
}
|
|
}
|
|
|
- return new Set([...selectedProjectIds])
|
|
|
|
|
|
|
+ return selectedProjectIds
|
|
|
})
|
|
})
|
|
|
},
|
|
},
|
|
|
[]
|
|
[]
|
|
@@ -293,7 +294,8 @@ export function ProjectListProvider({ children }: ProjectListProviderProps) {
|
|
|
|
|
|
|
|
const selectOrUnselectAllProjects = useCallback(
|
|
const selectOrUnselectAllProjects = useCallback(
|
|
|
checked => {
|
|
checked => {
|
|
|
- setSelectedProjectIds(selectedProjectIds => {
|
|
|
|
|
|
|
+ setSelectedProjectIds(prevSelectedProjectIds => {
|
|
|
|
|
+ const selectedProjectIds = new Set(prevSelectedProjectIds)
|
|
|
for (const project of visibleProjects) {
|
|
for (const project of visibleProjects) {
|
|
|
if (checked) {
|
|
if (checked) {
|
|
|
selectedProjectIds.add(project.id)
|
|
selectedProjectIds.add(project.id)
|
|
@@ -301,7 +303,7 @@ export function ProjectListProvider({ children }: ProjectListProviderProps) {
|
|
|
selectedProjectIds.delete(project.id)
|
|
selectedProjectIds.delete(project.id)
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- return new Set([...selectedProjectIds])
|
|
|
|
|
|
|
+ return selectedProjectIds
|
|
|
})
|
|
})
|
|
|
},
|
|
},
|
|
|
[visibleProjects]
|
|
[visibleProjects]
|