mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-11-15 14:43:46 +01:00
Merge pull request #34980 from overleaf/mj-ide-settings-feature
[web] Consolidate ide settings in `features/ide-settings` GitOrigin-RevId: cbf0ff069399f418d8cb0d8165628df190046ea9
This commit is contained in:
committed by
Copybot
parent
8e2edc4d8d
commit
3a3adf5e5a
@@ -0,0 +1,46 @@
|
||||
import type { ProjectCompiler } from '../../../../../types/project-settings'
|
||||
import { sendMB } from '../../../infrastructure/event-tracking'
|
||||
import { postJSON } from '../../../infrastructure/fetch-json'
|
||||
import { debugConsole } from '@/utils/debugging'
|
||||
import { UserSettings } from '../../../../../types/user-settings'
|
||||
|
||||
export interface ProjectSettings {
|
||||
compiler: ProjectCompiler
|
||||
imageName: string
|
||||
rootDocId: string
|
||||
spellCheckLanguage: string
|
||||
name: string
|
||||
}
|
||||
|
||||
type SaveUserSettings = Partial<
|
||||
UserSettings & {
|
||||
spellCheckLanguage: ProjectSettings['spellCheckLanguage']
|
||||
}
|
||||
>
|
||||
|
||||
export function saveUserSettings(
|
||||
key: keyof SaveUserSettings,
|
||||
value: SaveUserSettings[keyof SaveUserSettings]
|
||||
) {
|
||||
sendMB('setting-changed', {
|
||||
changedSetting: key,
|
||||
changedSettingVal: value,
|
||||
})
|
||||
|
||||
postJSON('/user/settings', {
|
||||
body: {
|
||||
[key]: value,
|
||||
},
|
||||
}).catch(debugConsole.error)
|
||||
}
|
||||
|
||||
export const saveProjectSettings = async (
|
||||
projectId: string,
|
||||
data: Partial<ProjectSettings>
|
||||
) => {
|
||||
await postJSON<never>(`/project/${projectId}/settings`, {
|
||||
body: {
|
||||
...data,
|
||||
},
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user