Trigger Wizard (#20691)
CI / AMD64 Build (push) Waiting to run
CI / ARM Build (push) Waiting to run
CI / Jetson Jetpack 6 (push) Waiting to run
CI / AMD64 Extra Build (push) Blocked by required conditions
CI / ARM Extra Build (push) Blocked by required conditions
CI / Synaptics Build (push) Blocked by required conditions
CI / Assemble and push default build (push) Blocked by required conditions

* add reusable component for combined name / internal name form field

* fix labels

* refactor utilities

* refactor image picker

* lazy loading

* don't clear text box

* trigger wizard

* image picker fixes

* use name and ID field in trigger edit dialog

* ensure wizard resets when reopening

* icon size tweak

* multiple triggers can trigger at once

* remove scrolling

* mobile tweaks

* remove duplicated component

* fix types

* use table on desktop and keep cards on mobile

* provide default
This commit is contained in:
Josh Hawkins
2025-10-27 14:58:31 -05:00
committed by GitHub
parent 710a77679b
commit 640007e5d3
13 changed files with 1441 additions and 278 deletions
+8 -1
View File
@@ -93,7 +93,14 @@
}
},
"label": {
"back": "Go back"
"back": "Go back",
"hide": "Hide {{item}}",
"show": "Show {{item}}",
"ID": "ID"
},
"field": {
"optional": "Optional",
"internalID": "The Internal ID Frigate uses in the configuration and database"
},
"button": {
"apply": "Apply",
@@ -112,6 +112,7 @@
},
"imagePicker": {
"selectImage": "Select a tracked object's thumbnail",
"unknownLabel": "Saved Trigger Image",
"search": {
"placeholder": "Search by label or sub label..."
},
+28 -12
View File
@@ -883,7 +883,7 @@
"desc": "Semantic Search must be enabled to use Triggers."
},
"management": {
"title": "Trigger Management",
"title": "Triggers",
"desc": "Manage triggers for {{camera}}. Use the thumbnail type to trigger on similar thumbnails to your selected tracked object, and the description type to trigger on similar descriptions to text you specify."
},
"addTrigger": "Add Trigger",
@@ -922,10 +922,11 @@
"form": {
"name": {
"title": "Name",
"placeholder": "Enter trigger name",
"placeholder": "Name this trigger",
"description": "Enter a unique name or description to identify this trigger",
"error": {
"minLength": "Name must be at least 2 characters long.",
"invalidCharacters": "Name can only contain letters, numbers, underscores, and hyphens.",
"minLength": "Field must be at least 2 characters long.",
"invalidCharacters": "Field can only contain letters, numbers, underscores, and hyphens.",
"alreadyExists": "A trigger with this name already exists for this camera."
}
},
@@ -934,18 +935,15 @@
},
"type": {
"title": "Type",
"placeholder": "Select trigger type"
},
"friendly_name": {
"title": "Friendly Name",
"placeholder": "Name or describe this trigger",
"description": "An optional friendly name or descriptive text for this trigger."
"placeholder": "Select trigger type",
"description": "Trigger when a similar tracked object description is detected",
"thumbnail": "Trigger when a similar tracked object thumbnail is detected"
},
"content": {
"title": "Content",
"imagePlaceholder": "Select an image",
"imagePlaceholder": "Select a thumbnail",
"textPlaceholder": "Enter text content",
"imageDesc": "Select an image to trigger this action when a similar image is detected.",
"imageDesc": "Only the most recent 100 thumbnails are displayed. If you can't find your desired thumbnail, please review earlier objects in Explore and set up a trigger from the menu there.",
"textDesc": "Enter text to trigger this action when a similar tracked object description is detected.",
"error": {
"required": "Content is required."
@@ -953,6 +951,7 @@
},
"threshold": {
"title": "Threshold",
"desc": "Set the similarity threshold for this trigger. A higher threshold means a closer match is required to fire the trigger.",
"error": {
"min": "Threshold must be at least 0",
"max": "Threshold must be at most 1"
@@ -967,6 +966,23 @@
}
}
},
"wizard": {
"title": "Create Trigger",
"step1": {
"description": "Configure the basic settings for your trigger."
},
"step2": {
"description": "Set up the content that will trigger this action."
},
"step3": {
"description": "Configure the threshold and actions for this trigger."
},
"steps": {
"nameAndType": "Name and Type",
"configureData": "Configure Data",
"thresholdAndActions": "Threshold and Actions"
}
},
"toast": {
"success": {
"createTrigger": "Trigger {{name}} created successfully.",