Files
Otto 423ee2fe72 Feature: Share Timestamped URL for Camera Footage History (#22537)
* Initial copy timestamp url implementation

* revise url format

* Implement share timestamp dialog

* Use translations

* Add comments

* Add validations to shared link

* Switch to searchEffect implementation

* Add missing accessibility related dialog description

* Change URL format to unix timestamps

* Remove unnecessary useEffect

* Remove duplicated dialog title

* Fixes/improvements based off PR review comments

* Add missing cancel button & separators to dialog

* Make share description clearer

* Bugfix: guard against showing toasts twice
Because this effect ends up running multiple times

* Clamp future timestamps to now

* Revert "Bugfix: guard against showing toasts twice"

This reverts commit 99fa5e1dee.

* Use normal separator

Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>

* Fixes based off PR review comments

* Bugfix: Share dialog was not receiving the player timestamp after removing key that triggered remounts

* Defer `setRecording` and return true from hook for cleanup

* Remove timeout defer hack in favor of refactored hook

* Attempt to replay video muted on NotAllowedError

* Use separate persistent mute and temporary forced mute states

* Align cancel button with other dialogs

* Prevent wrapping on dialog title

* Remove extra "back" button on mobile drawer

* Fix back navigation when coming from direct shared timestamp links

* Use new timeformat hook

* Simplify dialog radio buttons

* Apply suggestions from code review

Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>

---------

Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
2026-04-20 06:35:25 -06:00

93 lines
3.0 KiB
JSON

{
"alerts": "Alerts",
"detections": "Detections",
"motion": {
"label": "Motion",
"only": "Motion only"
},
"allCameras": "All Cameras",
"empty": {
"alert": "There are no alerts to review",
"detection": "There are no detections to review",
"motion": "No motion data found",
"recordingsDisabled": {
"title": "Recordings must be enabled",
"description": "Review items can only be created for a camera when recordings are enabled for that camera."
}
},
"timeline": {
"label": "Timeline",
"aria": "Select timeline"
},
"zoomIn": "Zoom In",
"zoomOut": "Zoom Out",
"events": {
"label": "Events",
"aria": "Select events",
"noFoundForTimePeriod": "No events found for this time period."
},
"detail": {
"label": "Detail",
"noDataFound": "No detail data to review",
"aria": "Toggle detail view",
"trackedObject_one": "{{count}} object",
"trackedObject_other": "{{count}} objects",
"noObjectDetailData": "No object detail data available.",
"settings": "Detail View Settings",
"alwaysExpandActive": {
"title": "Always expand active",
"desc": "Always expand the active review item's object details when available."
}
},
"objectTrack": {
"trackedPoint": "Tracked point",
"clickToSeek": "Click to seek to this time"
},
"documentTitle": "Review - Frigate",
"recordings": {
"documentTitle": "Recordings - Frigate",
"invalidSharedLink": "Unable to open timestamped recording link due to parsing error.",
"invalidSharedCamera": "Unable to open timestamped recording link due to an unknown or unauthorized camera."
},
"calendarFilter": {
"last24Hours": "Last 24 Hours"
},
"markAsReviewed": "Mark as Reviewed",
"markTheseItemsAsReviewed": "Mark these items as reviewed",
"newReviewItems": {
"label": "View new review items",
"button": "New Items To Review"
},
"selected_one": "{{count}} selected",
"selected_other": "{{count}} selected",
"select_all": "All",
"camera": "Camera",
"detected": "detected",
"normalActivity": "Normal",
"needsReview": "Needs review",
"securityConcern": "Security concern",
"motionSearch": {
"menuItem": "Motion search",
"openMenu": "Camera options"
},
"motionPreviews": {
"menuItem": "View motion previews",
"title": "Motion previews: {{camera}}",
"mobileSettingsTitle": "Motion Preview Settings",
"mobileSettingsDesc": "Adjust playback speed and dimming, and choose a date to review motion-only clips.",
"dim": "Dim",
"dimAria": "Adjust dimming intensity",
"dimDesc": "Increase dimming to increase motion area visibility.",
"speed": "Speed",
"speedAria": "Select preview playback speed",
"speedDesc": "Choose how quickly preview clips play.",
"back": "Back",
"empty": "No previews available",
"noPreview": "Preview unavailable",
"seekAria": "Seek {{camera}} player to {{time}}",
"filter": "Filter",
"filterDesc": "Select areas to only show clips with motion in those regions.",
"filterClear": "Clear"
}
}