* implement summary timeline
* implement summary timeline
* merge dev
* conditionally attach listeners only when dragging
* set up listeners with a ref
* Fix selected items text
* Use action icons from design and fix spacing
* Fix icons for live grid
* Fix viewed select api
* Setup default theme as system
* Make conig editor respect system theme
* Fix plus submission dialog
* Different layout for portrait recordings
* Fix now preview found pulsing
* Fix bug with uneven milliseconds
* Improve consistency of video scaling
* Update previews on the hour
* Allow tap to toggle controls so zooming still works
* Use hash location insteaad of state for live camera view
* Add typing
* Show skeleton until video players finishes loading
* Clean up android logic
* Ensure mobile view video is consistent
* Cleanup
* Only show when not scrubbing
* Don't use loading
* Start preview at correct time too
* Fix react race condition
* Be wait for seek to show video player
* use a single source of truth for scrubbing
* simplify controller state
* Cleanup scrubbing logic
* Apply same logic to mobile
---------
Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
* Use dynamic imports to reduce initial load times
Remove videojs
* Convert to using hls.js instead of videojs
* Improve mobile controls experience
* Cleanup
* Ensure playback rate stays teh same when source changes
* Use webp for latest camera image
* Switch to hls.js on error
* Don't rerun error if hls already tried
* Fix error checking
* also check for media decode error to fallback to HLS
---------
Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
* Use skeleton for gif loading
* cache gifs as well
* Show skeleton when switching previews
* Fix touch controls for mobile
* Fix android mobile scrub logic
* Cleanup
* initial try
* add birdseye
* remove vite
* cleanup
* memoize
* remove console
* ensure birdseye is actually enabled in config
* birdseye first in select list and fix jsmpeg player size
* add minor ticks to timeline
* don't display motion events on veritcal bars on motion timeline
* color tweaks and spacing on config editor
* pad start and end of timeline to ensure handlebar is always visible
* Write preview frames as webp instead of jpg and ensure webp are cached in nginx
* Support preview player that shows current hour images
* Update to get preview player working
* Use timestamp based recordings check instead of calendar
* Start motion review from current time
* Adjust layout
* Use preview players for previews
* remove vite
* Cleanup
* Fix up the layout
* Cleanup review items
* Fix spacing
* Fix -1 text
* Cleanup scroll
* Show activity indicator when review items are null
* Show no preview text when not found
* Add padding to buttons
* Simplify comparisons
* Increase duration of alerts and detections
* Add key
* Fix cancel button
* Fix motion review when switching days
* Add reset buttons and make calendar apply immediately
* Adjust apis for motion and audio activity
* Write review thumbs as webp and reduce size
* Cleanup to use new preview video player
* Make it so motion persists the selected time
* Don't jump when player first starts
* Get autoplay working right
* Break preview only video player out
* Simplify
* Load after current preview changes
* Clear out waiting for seek state
* Start at correct time of hour
* Fix layout for tall video
* Fix switching between different hours
* Simplify book keeping of different time ranges
* Rewrite player to handle changing of previews outside of video player
* Simplify switching between cameras
* Fix previews causing cameras to not load
* Simplify listeners
* Always clear existing listener
* Save numbers as int instead of string
* Fix hover logic
* Fix delay for new alerts
* Fixup dialog and marking item as uploaded
* Make preview progress larger and easier to grab
* Allow hovering to control preview on desktop
* Add dialog for creating new camera group
* Support adding of camera groups and dynamically updating the config
* Support deleting and edit existing camera groups
* Don't show separator if user has no groups
* Formatting
* fix background
* Use different cursor for dragging preview
* Improve filters UI and add audio labels
* Use switch and adjust colors
* Disable chromecast button and remove dimming
* Change marked reviewed text
* mark items as reviewed when they are opened
* Update api to use json and add button to mark all as reviewed
* fix api so last24 hours has its own review summary
* fix sidebar spacing
* formatting
* Bug fixes
* Make motion activity respect filters
* dynamically manage aspect ratio
* full size
* always use camera aspect ratio for mobile
* no need for different handling for pano cams
* don't set aspect ratio on fullscreen
* Refactor activity api to send motion and audio data
* Prepare for using motion data timeline
* Get working
* reduce to 0
* fix
* Formatting
* fix typing
* add motion data to timelines and allow motion cameas to be selectable
* Fix tests
* cleanup
* Fix not loading preview when changing hours
* Split recording view for mobile and desktop and get desktop working
* Get stuff working well
* Handle onclick for video
* Fix camera grid
* set onclick
* Adjust remaining summary items when items are marked as reviewed
* Add api for filtering and show correct number when filtering
* Fix default group config
* Update review summary when data is reloaded
* Fix quick items not getting reviewed
* Add camera group config
* Add saving of camera group selection
* Implement camera groups in config and live view
* Fix warnings
* Add tooltips to camera group items on desktop
* Add camera groups to the filters for events
* Fix tooltips and group selection
* Cleanup
* adjust segment math
* simplify interp and fix math
* fix math and update dependency
* push debug
* Revert "push debug"
This reverts commit 07c171b341.
* Break detection grid into separate function
* Implement backward preview jump and jump lockout
* ensure lockout is engaged when starting
* Add preview only mode to make loading more efficeint
* remove scrollbar and match gaps/margins with live view
* Rewrite dynamic player to use html video for preview and fix grid gaps
* consistent check for aspect ratio for tall cameras
---------
Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
* Get live camera view working
* Get ptz working
* Add button for ptz presets
* Add camera feature buttons
* Add button for camera audio
* Cleanup
* Cleanup mobile live
* Only use landscape check on mobile
* Implement context menu for batch operations and implement apis
* reduce preview calculations on rerenders
* Add button to mark above items as reviewed
* Use context menu for mark as reviewed
* Cleanup
* use portal for tooltips
* Fix tooltips for desktop and mobile nav bars
---------
Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
* adapt timeline to mobile
* remove unused
* tweaks
* pointer cursor on segments
* make full recordings view look better on mobile
* explicitly set timeline width for md
* button positioning
* Simplify nav components
* Allow ability to choose live layout on mobile
* Combine event views
* Undo vite
* Fix autoplay
* Remove import
* Show filters on mobile view
* Spacing
* Don't separate properties
* make event bars clickable
* outline and scroll when segment is clicked
* match outline colors to event type
* hover thumbnails
* make event bars clickable
* outline and scroll when segment is clicked
* match outline colors to event type
* hover thumbnails
* fix merge from rebase
* remove minimap opacity classes
* live player outline colors
* safelist shadow classes
* don't load metadata until image has loaded
* correct class name and remove lazy loading pkg
* try refs
* hook
* don't load metadata until image has loaded
* correct class name and remove lazy loading pkg
* try refs
* hook
* don't show chips and date when image is loading
* add skeleton and change observer threshold
* remove debug
* use skeleton for live view too
* old activity indicator looks better on live
* fix gradients and lazy load with skeleton
* fading effects
* Convert preview player to use html5
* Cleanup
* Increase padding and use constant
* Firefox doesn't support high fps either
* Cleanup
* no need to special case firefox