feat: Custom accent color (#4897)

* types

* Working, but messy

* Add InputColor component

* types

* Show default theme values when not customized

* Support custom theme on team sign-in page

* Payload validation

* Custom theme on shared documents

* Improve theme validation

* Team -> Workspace in settings
This commit is contained in:
Tom Moor
2023-02-19 10:43:03 -05:00
committed by GitHub
parent 7c05b7326a
commit 70beb7524f
45 changed files with 684 additions and 390 deletions

View File

@@ -108,16 +108,28 @@ export enum UserPreference {
export type UserPreferences = { [key in UserPreference]?: boolean };
export type CustomTheme = {
accent: string;
accentText: string;
};
export enum TeamPreference {
/** Whether documents have a separate edit mode instead of seamless editing. */
SeamlessEdit = "seamlessEdit",
/** Whether to use team logo across the app for branding. */
PublicBranding = "publicBranding",
/** Whether viewers should see download options */
/** Whether viewers should see download options. */
ViewersCanExport = "viewersCanExport",
/** The custom theme for the team. */
CustomTheme = "customTheme",
}
export type TeamPreferences = { [key in TeamPreference]?: boolean };
export type TeamPreferences = {
[TeamPreference.SeamlessEdit]?: boolean;
[TeamPreference.PublicBranding]?: boolean;
[TeamPreference.ViewersCanExport]?: boolean;
[TeamPreference.CustomTheme]?: Partial<CustomTheme>;
};
export enum NavigationNodeType {
Collection = "collection",