Replace profile targets with scene activation and searchable scene selector
Profiles now activate scene presets instead of individual targets, with configurable deactivation behavior (none/revert/fallback scene). The target checklist UI is replaced by a searchable combobox for scene selection that scales well with many scenes. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -56,11 +56,47 @@
|
||||
|
||||
<div class="form-group">
|
||||
<div class="label-row">
|
||||
<label data-i18n="profiles.targets">Targets:</label>
|
||||
<label data-i18n="profiles.scene">Scene:</label>
|
||||
<button type="button" class="hint-toggle" onclick="toggleHint(this)" title="?">?</button>
|
||||
</div>
|
||||
<small class="input-hint" style="display:none" data-i18n="profiles.targets.hint">Targets to start when this profile activates</small>
|
||||
<div id="profile-targets-list" class="profile-targets-checklist"></div>
|
||||
<small class="input-hint" style="display:none" data-i18n="profiles.scene.hint">Scene preset to activate when conditions are met</small>
|
||||
<div id="profile-scene-selector" class="scene-selector">
|
||||
<input type="hidden" id="profile-scene-id">
|
||||
<div class="scene-selector-input-wrap">
|
||||
<input type="text" id="profile-scene-search" class="scene-selector-input" placeholder="Search scenes..." autocomplete="off" data-i18n-placeholder="profiles.scene.search_placeholder">
|
||||
<button type="button" class="scene-selector-clear" id="profile-scene-clear" title="Clear">×</button>
|
||||
</div>
|
||||
<div class="scene-selector-dropdown" id="profile-scene-dropdown"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<div class="label-row">
|
||||
<label for="profile-deactivation-mode" data-i18n="profiles.deactivation_mode">Deactivation:</label>
|
||||
<button type="button" class="hint-toggle" onclick="toggleHint(this)" title="?">?</button>
|
||||
</div>
|
||||
<small class="input-hint" style="display:none" data-i18n="profiles.deactivation_mode.hint">What happens when conditions stop matching</small>
|
||||
<select id="profile-deactivation-mode">
|
||||
<option value="none" data-i18n="profiles.deactivation_mode.none">None — keep current state</option>
|
||||
<option value="revert" data-i18n="profiles.deactivation_mode.revert">Revert to previous state</option>
|
||||
<option value="fallback_scene" data-i18n="profiles.deactivation_mode.fallback_scene">Activate fallback scene</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="form-group" id="profile-fallback-scene-group" style="display:none">
|
||||
<div class="label-row">
|
||||
<label data-i18n="profiles.deactivation_scene">Fallback Scene:</label>
|
||||
<button type="button" class="hint-toggle" onclick="toggleHint(this)" title="?">?</button>
|
||||
</div>
|
||||
<small class="input-hint" style="display:none" data-i18n="profiles.deactivation_scene.hint">Scene to activate when this profile deactivates</small>
|
||||
<div id="profile-fallback-scene-selector" class="scene-selector">
|
||||
<input type="hidden" id="profile-fallback-scene-id">
|
||||
<div class="scene-selector-input-wrap">
|
||||
<input type="text" id="profile-fallback-scene-search" class="scene-selector-input" placeholder="Search scenes..." autocomplete="off" data-i18n-placeholder="profiles.scene.search_placeholder">
|
||||
<button type="button" class="scene-selector-clear" id="profile-fallback-scene-clear" title="Clear">×</button>
|
||||
</div>
|
||||
<div class="scene-selector-dropdown" id="profile-fallback-scene-dropdown"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="profile-editor-error" class="error-message" style="display: none;"></div>
|
||||
|
||||
Reference in New Issue
Block a user