Commit Graph

672 Commits

Author SHA1 Message Date
Josh Hawkins
36d5e5b45f
Timeline tweaks for mobile (#10726)
* add dense prop, combine duplicate code, fix mobile bug

* put segment height in hook

* playground
2024-03-28 10:03:06 -05:00
Nicolas Mowen
985b2d7b27
Cleanup event filters (#10724)
* Add specific button / switch for showing reviewed items and use intermediate drawer for mobile

* Match design for filters
2024-03-28 09:43:05 -05:00
Nicolas Mowen
35ecb342bb
Fix inconsistent spacing (#10714)
* Fix inconsistent spacing

* Fix motion button alignment
2024-03-28 07:49:38 -05:00
Nicolas Mowen
f3abc590e7
Fix camera list not scrolling (#10713) 2024-03-27 18:24:41 -05:00
Nicolas Mowen
4e800e19ff
Mobile recordings redesign (#10711)
* Only show back button text on desktop

* Add mobile camera drawer to separate component

* Use bottom sheet for export on mobile

* Add intermediary mobile bottom sheet

* fix filter

* Fix mobile layout jumping

* Fix desktop vertical camera view

* Fix horizontal camera list

* Add overlay instead of using same button for timeline exports

* Don't use native hls for now

* Fix export bottom sheet

* Fix scrolling

* Simplify checks

* Adjust hls compat approach

* Fix events shadow

* Make corners consistent

* Make corners consistent

* fix max drawer height

* Use separate buttons for export control

* Add icons

* Fix list views

* Fix new items to review

* bottom padding on bottom sheets

* bottom padding on bottom sheets
2024-03-27 18:03:05 -05:00
Nicolas Mowen
d5989c91a8
Make deleting review items delete recordings as well (#10707)
* Make deleting review items delete recordings as well

* Fix wrong camera bug
2024-03-27 08:22:28 -05:00
Josh Hawkins
98a1e6ee22
fix draggable element pixel alignment (#10708) 2024-03-27 07:21:38 -06:00
Nicolas Mowen
d945e77443
Quick UI fixes (#10695)
* Quick fixes

* remove log
2024-03-26 18:54:00 -06:00
Nicolas Mowen
8f69edeb33
Add ability to export from recordings page (#10692)
* Add dialog to export recordings

* Add export dialog functionality

* Add ability to name exports

* Add ability to choose custom time range on timeline

* Add ability to choose custom time range on timeline

* Add custom time selection

* Make hot keys optional for typing name of export

* Tweaks to dialog

* Tweaks to dialog

* round corners more

* Final tweaks
2024-03-26 15:37:45 -06:00
Josh Hawkins
c82ed43c13
Timeline tweaks (#10693)
* make segment height static

* fix timeline overscrolling

* better alignment of motion timeline segments
2024-03-26 15:36:28 -06:00
Nicolas Mowen
1377d33e25
Redesign Recordings View (#10690)
* Use full width top bar

* Make each item in review filter group optional

* Remove export creation from export page

* Consolidate packages and fix opening recording from event

* Use common type for time range

* Move timeline to separate component

* Add events list view to recordings view

* Fix loading of images

* Fix incorrect labels

* use overlay state for selected timeline type

* Fix up for mobile view for now

* replace overlay state

* fix comparison

* remove unused
2024-03-26 15:03:58 -06:00
Josh Hawkins
1cd374d3ad
add option to only scrollintoview initially (#10689) 2024-03-26 10:29:07 -06:00
Josh Hawkins
6fbd272acf
Add tooltips for review item chips (#10685)
* tooltips for review item chips

* use flexbox instead of margins
2024-03-26 07:07:49 -06:00
Josh Hawkins
bc6b4c38b8
improve timeline scrolling with dynamic speed (#10677) 2024-03-25 20:29:42 -06:00
Nicolas Mowen
30d93e1d90
Improve refreshing of review items (#10675) 2024-03-25 21:25:06 -05:00
Josh Hawkins
71c7504de5
fix timeline upward scrolling limit (#10673) 2024-03-25 14:56:20 -06:00
Nicolas Mowen
6dd6ca5de5
Only allow visible cameras to go live on dashboard (#10671)
* Only show live cameras that are currently visible

* Add back black background

* fix
2024-03-25 15:56:13 -05:00
Josh Hawkins
51db63e42b
Motion review changes (#10667)
* Add outlines in motion only mode

* fix playground
2024-03-25 10:19:55 -06:00
Josh Hawkins
7b64091128
Motion review playback optimizations (#10659)
* handle motion timestamps with ranges

* check for overlaps when checking segment for events

* rename motion color vars to significant_motion for consistency

* safelist significant_motion

* rename vars for clarity and use timeout instead of interval
2024-03-24 20:37:44 -06:00
Josh Hawkins
37f60f7140
UI changes (#10651)
* Check if event time is in segment

* conditionally render minimap bounds for event segments
2024-03-24 11:39:28 -06:00
Nicolas Mowen
0fda7147be
UI tweaks (#10645)
* Use green chip instead of dimming to show that item has been reviewed

* Redesign log page to use similar style to events

* Use icon only in mobile

* Remove unused
2024-03-24 12:23:39 -05:00
Josh Hawkins
f91dc37399
Add outline for alerts/detections in motion review (#10642) 2024-03-24 06:54:34 -06:00
Nicolas Mowen
d260c6926a
Fix safari preview transition (#10638) 2024-03-23 18:47:25 -05:00
Nicolas Mowen
e3a7aa6b6c
Smooth transitions between preview scrubbing (#10636)
* Use canvas to save video state before switching to smooth transitions between previews

* Smooth current hour as well
2024-03-23 17:11:35 -06:00
Nicolas Mowen
bb50b2b6f4
Respect motion only when playing back (#10632)
* Respect motion only when playing back motion

* Increase efficiency

* Fix import
2024-03-23 14:49:31 -05:00
Josh Hawkins
3a9607e59b
Add relative movement by clicking on camera image for supported ptzs (#10629) 2024-03-23 10:53:33 -06:00
Nicolas Mowen
63bf986e08
Add ability to set playback speed on motion playback (#10628)
* Allow control of playback rate on motion page

* Apply playback rate
2024-03-23 11:24:57 -05:00
Josh Hawkins
4159334520
option to show motion only on motion timeline (#10626) 2024-03-23 07:33:50 -06:00
Nicolas Mowen
8e1d18d06b
Move keyboard controls to video controls (#10617) 2024-03-22 22:11:50 -05:00
Nicolas Mowen
622dddd2c4
Motion playback (#10609)
* Move controls to separate component and make features configurable

* Allow playback on motion screen

* Simplify layout

* Fix seeking

* Fix playback

* fix preview scrubbing

* Fix player controls visibility

* Use opacity for both dark and light mode
2024-03-22 11:56:53 -05:00
Nicolas Mowen
83517f59b4
WebUI Fixes (#10608)
* Fix camera with -

* Fix not playing player after making slight adjustment

* Fix hovering getting stuck
2024-03-22 09:31:20 -05:00
Josh Hawkins
0ac7aaabe3
Timeline minimap and scrolling changes (#10589)
* add function to get visible timeline duration

* Don't show minimap when minimap bounds exceed timeline area

* when minimap is hidden, only scroll timeline when needed

* observe only when not showing minimap

* no need to duplicate observer

* fix out of order param

* timeline utils hook props

---------

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
2024-03-21 11:49:04 -06:00
Nicolas Mowen
973275e163
Update rest of web deps (#10588)
* Update easy deps

* Update shadcn deps

* Update date functions and fix breaking change

* Remove unused
2024-03-21 09:26:13 -05:00
Josh Hawkins
4040191101
fixes and changes (#10587) 2024-03-21 08:00:04 -06:00
Nicolas Mowen
865c26ff18
Update recordings view (#10585)
* Update recordings view

* Fix opening recordings view from gif
2024-03-21 08:43:37 -05:00
Josh Hawkins
f113acee33
Summary timeline (#10569)
* implement summary timeline

* implement summary timeline

* merge dev

* conditionally attach listeners only when dragging

* set up listeners with a ref
2024-03-20 20:56:15 -06:00
Nicolas Mowen
c8fd23caa1
Update web deps (#10564) 2024-03-20 20:56:56 -05:00
Nicolas Mowen
8babe57d63
UI cleanup (#10567)
* 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
2024-03-20 20:46:45 -05:00
Nicolas Mowen
f474bc4037
Always check previews when refocusing the page (#10546) 2024-03-19 22:16:22 -05:00
Nicolas Mowen
741f0a5115
Update Web deps (#10544)
* Bump react-icons from 4.12.0 to 5.0.1 in /web

Bumps [react-icons](https://github.com/react-icons/react-icons) from 4.12.0 to 5.0.1.
- [Release notes](https://github.com/react-icons/react-icons/releases)
- [Commits](https://github.com/react-icons/react-icons/compare/v4.12.0...v5.0.1)

---
updated-dependencies:
- dependency-name: react-icons
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update jsdom

* Update drawer component

* Bump eslint

* Update more deps

* Fix lint

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-19 22:06:00 -05:00
Nicolas Mowen
ab6bac1d2c
Clean up selected data for recording (#10537) 2024-03-19 15:56:38 -05:00
Nicolas Mowen
f835e86df1
Don't use apple icon for android pwa (#10535)
* Don't use apple icon for android

* Fix dimensions

* fix icon name
2024-03-19 08:41:24 -05:00
Nicolas Mowen
ccdf9a2f0a
Fix preview getting wrong update time (#10534)
* Fix preview getting wrong update time

* remove dead logic

* Cleanup

* Fix case where multiple previews play at the same time

* Fix typing
2024-03-19 08:34:49 -05:00
Josh Hawkins
d249e5b27f
Timeline fixes and export handles (#10522)
* select an export range from timeline

* height tweak
2024-03-18 14:58:54 -06:00
Nicolas Mowen
880bae1eb2
Fix android/chrome seeking on previews (#10512) 2024-03-17 18:53:47 -06:00
Josh Hawkins
e4d0e222e3
move handlebar timestamp outside of timeline on mobile (#10501) 2024-03-17 07:28:50 -06:00
Nicolas Mowen
1983de6528
Consolidate recordings view into one (#10496) 2024-03-17 07:30:19 -05:00
Nicolas Mowen
4e8600a0ef
Maintain existing overlay state when setting hash (#10495) 2024-03-17 07:29:59 -05:00
Nicolas Mowen
cf6ef84271
Mark items as reviewed when manually seeking (#10494) 2024-03-17 07:29:41 -05:00
Josh Hawkins
89bd3867a9
Make all motion segments clickable (#10488) 2024-03-15 19:26:13 -06:00
Nicolas Mowen
c14f3c3902
Fix frigate+ submit and recordings layouts for portrait cameras (#10486)
* Fix plus submission dialog

* Different layout for portrait recordings

* Fix now preview found pulsing

* Fix bug with uneven milliseconds

* Improve consistency of video scaling
2024-03-15 18:28:57 -05:00
Nicolas Mowen
64763293a2
Add birdseye live view (#10485)
* Add birdseye viewer and make it linkable

* Add on click from main dashboard
2024-03-15 18:28:32 -05:00
Nicolas Mowen
380b15b286
WebUI Fixes (#10481)
* 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
2024-03-15 13:46:17 -05:00
Josh Hawkins
c93b186eda
Fix switching camera group bug (#10478)
* give default group a name

* use "default" as default value

* optional param

* fix string

* clean up
2024-03-15 08:59:41 -06:00
Nicolas Mowen
df0291db5c
Fix zoom scaling for live view (#10479) 2024-03-15 09:57:58 -05:00
Nicolas Mowen
f5a26c5962
Add ability to zoom in to live and recordings views (#10475)
* Make live view zoomable

* Add zooming to full recordings
2024-03-15 07:03:14 -06:00
Nicolas Mowen
c66f552280
Improve Recordings loading (#10462)
* 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
2024-03-15 07:52:38 -05:00
Nicolas Mowen
d882cb0f63
Add skeleton for loading exports and improve spacing on bottom sheet (#10463)
* Add skeleton for loading exports and improve spacing on bottom sheet

* Hide non object frigate plus items
2024-03-15 05:59:03 -06:00
Nicolas Mowen
8d85a69203
Update UI and then run api call (#10460) 2024-03-14 15:49:03 -05:00
Josh Hawkins
6a02e65fc2
Use Inter webfont instead of ttf (#10456) 2024-03-14 09:50:06 -06:00
Josh Hawkins
98977f1ded
dim motion segments for motion during alerts and detections (#10454) 2024-03-14 09:35:13 -06:00
Josh Hawkins
39a29d148e
Recording scrubbing fixes (#10439)
* 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>
2024-03-14 08:28:06 -06:00
Nicolas Mowen
2decdeadb4
Persist selected camera group for live (#10448)
* Persist camera group selected

* Cleanup
2024-03-14 08:27:27 -06:00
Blake Blackshear
a660e3ae27
use credentials for webmanifest (#10447) 2024-03-14 06:36:56 -06:00
Nicolas Mowen
8937e3fd59
Mute video by default and allow control of volume (#10435)
* Mute video by default and allow control of volume

* Adjust volume behavior

* Adjust volume behavior

* Simplify more
2024-03-13 18:13:52 -05:00
Nicolas Mowen
c88a263a23
Cleanup gifs (#10434) 2024-03-13 17:37:15 -05:00
Nicolas Mowen
f9ed082e35
Use react lazy to break js files into smaller chunks & remove videojs in favor of hls.js (#10431)
* 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>
2024-03-13 15:24:24 -05:00
Nicolas Mowen
0e8350ea7f
Fix jumping to segment in recordings view (#10424)
* Fix skeletons showing incorrectly

* Handle clicking segment from different time range
2024-03-13 09:05:01 -05:00
Nicolas Mowen
52ce6190ae
Fix two way talk starting webrtc session (#10422)
* Fix two way talk starting webrtc session

* Remove logs
2024-03-13 09:04:11 -05:00
Josh Hawkins
79ca599ace
Fix jsmpeg player component (#10425)
* fix jsmpeg component

* preserve aspect ratio

* remove forcing of jsmpeg

* full height only
2024-03-13 08:00:37 -06:00
Nicolas Mowen
9d01a7dc74
Fix gif layout (#10421) 2024-03-13 08:58:46 -05:00
Nicolas Mowen
b8e472643d
Optimize web config to be installed as PWA (#10405)
* Update values and add site manifest

* Use appropriate icon types

* Add purpose to all

* Adjust dark theme color

* Remove unused
2024-03-12 19:58:29 -06:00
Nicolas Mowen
09cf54c731
Improve preview loading (#10406)
* 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
2024-03-12 18:19:16 -05:00
Nicolas Mowen
92255f771b
Add micropohone button for two way talk (#10408) 2024-03-12 18:19:02 -05:00
Josh Hawkins
9e10b914c9
Add ability to add legacy birdseye to camera groups (#10404)
* 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
2024-03-12 13:53:01 -06:00
Josh Hawkins
dce2e9b366
filter review items and motion to be main camera in recordings view only (#10403) 2024-03-12 11:08:31 -06:00
Nicolas Mowen
8c0275fe2f
Add special casing for android preview scrubbing (#10398)
* Add special casing for android scrubbing

* Fix motion data
2024-03-12 09:24:18 -06:00
Nicolas Mowen
483a95b06b
Override default player controls (#10401)
* Override default player controls

* Improve mouse behavior
2024-03-12 09:24:07 -06:00
Josh Hawkins
a2b0ca07cc
UI tweaks (#10402)
* 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
2024-03-12 09:23:54 -06:00
Nicolas Mowen
579a7c8900
Fix preview update (#10388) 2024-03-11 21:42:13 -05:00
Nicolas Mowen
1c5d6765a1
Preview improvements (#10384)
* 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
2024-03-11 18:31:05 -05:00
Josh Hawkins
fa22f01f39
use flexbox for recordings view (#10385) 2024-03-11 17:07:56 -05:00
Nicolas Mowen
8d4b9bc7ed
Indicate on calendar which days have unreviewed activity (#10381) 2024-03-11 10:14:41 -05:00
Nicolas Mowen
838ef636f8
Layout tweaks (#10365)
* 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
2024-03-11 08:05:44 -05:00
Josh Hawkins
cac5bccbe7
Fix segments on motion review (#10370)
* fix segments on motion review

* remove unneeded data attribute
2024-03-11 06:56:36 -06:00
Nicolas Mowen
ee239744d8
Redesign exports page (#10359)
* Redesign exports page

* Cleanup

* fix overhange
2024-03-10 07:25:16 -06:00
Josh Hawkins
70825bc938
rename vars and change which div is absolutely positioned (#10358) 2024-03-10 07:23:36 -06:00
Nicolas Mowen
efaa95b742
Fix dst offset calculation (#10357) 2024-03-10 08:17:48 -05:00
Nicolas Mowen
b910db4f05
Fix handling of recordings and switching cameras (#10351)
* Fix handling of recordings and switching cameras

* mobile switch

* Cleanup

* Cleanup autoplay

* Remove vite
2024-03-10 08:17:09 -05:00
Nicolas Mowen
62d13024f6
Adjustments and fixes (#10346)
* 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
2024-03-09 07:08:06 -07:00
Nicolas Mowen
086eb37ece
Cleanup to use new preview video player in dynamic player (#10335)
* 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
2024-03-08 17:24:12 -06:00
Josh Hawkins
05a66ce90d
Timeline handlebar tweaks (#10336)
* initial offset click for desktop only

* align start timeline and update pixel math
2024-03-08 15:49:10 -07:00
Nicolas Mowen
3d539c93eb
Fix motion review (#10329)
* 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
2024-03-08 11:56:00 -06:00
Nicolas Mowen
ea5cb4fd8b
Rework mobile drawers to have a max height (#10330) 2024-03-08 11:14:58 -06:00
Josh Hawkins
cb3045b424
Handlebar dragging fix (#10333)
* account for initial click position on handlebar when dragging

* fix wrong start time in playground
2024-03-08 09:13:42 -07:00
Josh Hawkins
dfab850b61
Better segment clicking (#10321)
* better segment clicking on motion segments

* move handlebar on click when handlebar is showing

* only scroll handlebar if needed
2024-03-07 21:02:29 -07:00
Nicolas Mowen
507c6afa2c
Add filters to plus page and fix layout (#10320) 2024-03-07 18:32:26 -06:00
Nicolas Mowen
90a40d2509
Fix motion and recording views (#10318)
* 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
2024-03-07 18:31:43 -06:00
Nicolas Mowen
fc6d6a4e9a
Fix layout shifting (#10313)
* Fix layout shifting

* Change value for current data

* Fix motion scrubbing lockout
2024-03-07 10:11:24 -06:00
Nicolas Mowen
8776cdfd5b
Tweaks fixes (#10311)
* 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
2024-03-07 08:34:11 -06:00