mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2025-07-31 02:00:07 +02:00

* Refactor project context to not use scope store * Fix Cypress tests for project context changes * Fix frontend React Testing Library tests for project context changes * Remove redundant code * Fix some project types in tests * Remove unused import and fix a type * Throw an error if updating the project in the project context before joining the project * Fix some review panel tests * Remove unused imports GitOrigin-RevId: 2f0c928b651f387aa980c29aef7d1ba0649790a7
22 lines
633 B
TypeScript
22 lines
633 B
TypeScript
import { type ProjectSettings, saveProjectSettings } from '../utils/api'
|
|
import { useProjectContext } from '@/shared/context/project-context'
|
|
|
|
export default function useSaveProjectSettings() {
|
|
const { projectId, project, updateProject } = useProjectContext()
|
|
|
|
return async (
|
|
key: keyof ProjectSettings,
|
|
newSetting: ProjectSettings[keyof ProjectSettings]
|
|
) => {
|
|
if (project) {
|
|
const currentSetting = project[key]
|
|
if (currentSetting !== newSetting) {
|
|
await saveProjectSettings(projectId, {
|
|
[key]: newSetting,
|
|
})
|
|
|
|
updateProject({ [key]: newSetting })
|
|
}
|
|
}
|
|
}
|
|
}
|