mirror of
https://github.com/gristlabs/grist-core.git
synced 2026-03-02 04:09:24 +00:00
(core) User language switcher
Summary: New language selector on the Account page for logged-in users. New icon for switching language for an anonymous user. For anonymous users, language is stored in a cookie grist_user_locale. Language is stored in user settings for authenticated users and takes precedence over what is stored in the cookie. Test Plan: New tests Reviewers: paulfitz Reviewed By: paulfitz Differential Revision: https://phab.getgrist.com/D3766
This commit is contained in:
@@ -141,6 +141,8 @@ export interface UserOptions {
|
||||
// Whether user is a consultant. Consultant users can be added to sites
|
||||
// without being counted for billing. Defaults to false if unset.
|
||||
isConsultant?: boolean;
|
||||
// Locale selected by the user. Defaults to 'en' if unset.
|
||||
locale?: string;
|
||||
}
|
||||
|
||||
export interface PermissionDelta {
|
||||
@@ -331,6 +333,7 @@ export interface UserAPI {
|
||||
moveDoc(docId: string, workspaceId: number): Promise<void>;
|
||||
getUserProfile(): Promise<FullUser>;
|
||||
updateUserName(name: string): Promise<void>;
|
||||
updateUserLocale(locale: string|null): Promise<void>;
|
||||
updateAllowGoogleLogin(allowGoogleLogin: boolean): Promise<void>;
|
||||
updateIsConsultant(userId: number, isConsultant: boolean): Promise<void>;
|
||||
getWorker(key: string): Promise<string>;
|
||||
@@ -632,6 +635,13 @@ export class UserAPIImpl extends BaseAPI implements UserAPI {
|
||||
});
|
||||
}
|
||||
|
||||
public async updateUserLocale(locale: string|null): Promise<void> {
|
||||
await this.request(`${this._url}/api/profile/user/locale`, {
|
||||
method: 'POST',
|
||||
body: JSON.stringify({locale})
|
||||
});
|
||||
}
|
||||
|
||||
public async updateAllowGoogleLogin(allowGoogleLogin: boolean): Promise<void> {
|
||||
await this.request(`${this._url}/api/profile/allowGoogleLogin`, {
|
||||
method: 'POST',
|
||||
|
||||
Reference in New Issue
Block a user