feat: Implement basic general folder support (#2051)

- Related: #1748
This commit is contained in:
Dermot Duffy
2025-05-21 19:59:21 -07:00
committed by GitHub
parent 2eb0d9e35e
commit c6a4c8aea2
350 changed files with 12837 additions and 4509 deletions
+14 -1
View File
@@ -2,6 +2,7 @@ import { CardActionsAPI } from '../card-controller/types.js';
import { ZoomSettingsBase } from '../components-lib/zoom/types.js';
import { CameraSelectActionConfig } from '../config/schema/actions/custom/camera-select.js';
import { DisplayModeActionConfig } from '../config/schema/actions/custom/display-mode.js';
import { FolderActionConfig } from '../config/schema/actions/custom/folder.js';
import {
AdvancedCameraCardGeneralAction,
GeneralActionConfig,
@@ -46,7 +47,7 @@ export function createGeneralAction(
}
export function createViewAction(
action: AdvancedCameraCardUserSpecifiedView,
action: Exclude<AdvancedCameraCardUserSpecifiedView, 'folder'>,
options?: {
cardID?: string;
},
@@ -73,6 +74,18 @@ export function createCameraAction(
};
}
export function createFolderAction(options?: {
cardID?: string;
folderID?: string;
}): FolderActionConfig {
return {
action: 'fire-dom-event',
advanced_camera_card_action: 'folder',
...(options?.folderID && { folder: options.folderID }),
...(options?.cardID && { card_id: options.cardID }),
};
}
export function createMediaPlayerAction(
mediaPlayer: string,
mediaPlayerAction: 'play' | 'stop',