feat(web): make google cast opt in (#18514)

* add setting switch

this isnt bound to anything yet

* make google casting opt-in

* doc updates

* lint docs

* remove unneeded translation items

* update mobile openai defs

* fix failing test

we need to mock user prefs since CastButton uses it
This commit is contained in:
Brandon Wees
2025-05-28 15:57:36 -05:00
committed by GitHub
parent b054e9dc2c
commit 78224961d1
19 changed files with 383 additions and 3 deletions
+27
View File
@@ -9556,6 +9556,26 @@
],
"type": "string"
},
"CastResponse": {
"properties": {
"gCastEnabled": {
"default": false,
"type": "boolean"
}
},
"required": [
"gCastEnabled"
],
"type": "object"
},
"CastUpdate": {
"properties": {
"gCastEnabled": {
"type": "boolean"
}
},
"type": "object"
},
"ChangePasswordDto": {
"properties": {
"newPassword": {
@@ -14806,6 +14826,9 @@
},
"UserPreferencesResponseDto": {
"properties": {
"cast": {
"$ref": "#/components/schemas/CastResponse"
},
"download": {
"$ref": "#/components/schemas/DownloadResponse"
},
@@ -14835,6 +14858,7 @@
}
},
"required": [
"cast",
"download",
"emailNotifications",
"folders",
@@ -14852,6 +14876,9 @@
"avatar": {
"$ref": "#/components/schemas/AvatarUpdate"
},
"cast": {
"$ref": "#/components/schemas/CastUpdate"
},
"download": {
"$ref": "#/components/schemas/DownloadUpdate"
},
@@ -128,6 +128,9 @@ export type UserAdminUpdateDto = {
shouldChangePassword?: boolean;
storageLabel?: string | null;
};
export type CastResponse = {
gCastEnabled: boolean;
};
export type DownloadResponse = {
archiveSize: number;
includeEmbeddedVideos: boolean;
@@ -164,6 +167,7 @@ export type TagsResponse = {
sidebarWeb: boolean;
};
export type UserPreferencesResponseDto = {
cast: CastResponse;
download: DownloadResponse;
emailNotifications: EmailNotificationsResponse;
folders: FoldersResponse;
@@ -177,6 +181,9 @@ export type UserPreferencesResponseDto = {
export type AvatarUpdate = {
color?: UserAvatarColor;
};
export type CastUpdate = {
gCastEnabled?: boolean;
};
export type DownloadUpdate = {
archiveSize?: number;
includeEmbeddedVideos?: boolean;
@@ -214,6 +221,7 @@ export type TagsUpdate = {
};
export type UserPreferencesUpdateDto = {
avatar?: AvatarUpdate;
cast?: CastUpdate;
download?: DownloadUpdate;
emailNotifications?: EmailNotificationsUpdate;
folders?: FoldersUpdate;