* Create timeline table
* Fix indexes
* Add other fields
* Adjust schema to be less descriptive
* Handle timeline queue from tracked object data
* Setup timeline queue in events
* Add source id for index
* Add other fields
* Fixes
* Formatting
* Store better data
* Add api with filtering
* Setup basic UI for timeline in events
* Cleanups
* Add recordings snapshot url
* Start working on timeline ui
* Add tooltip with info
* Improve icons
* Fix start time with clip
* Move player logic back to clips
* Make box in timeline relative coordinates
* Make region relative
* Get box overlay working
* Remove overlay when playing again
* Add disclaimer when selecting overlay points
* Add docs for new apis
* Fix mobile
* Fix docs
* Change color of bottom center box
* Fix vscode formatting
* Add config fields
* Clean up camera default values
* Set recordings timezone with config if available
* Adjust for timezone config
* Cleanup setting of the timezone
* Don't fail on MSE check iPad
* Fix MSE check for birdseye
* Add docs
* Fix test
* [API] filter for favorite events
* Added /api/events filter for favorite (retain_indefinitely) events
* New Star button to filter for favorite events on the Events page
* fix python formatting
* keep Events favorite button to right side
* Show All and Solo selection buttons for MultiSelect.
Similar to previous behavior of viewing events for single camera with 1 click, or All.
* Fix visual bug with MultiSelect when selecting similar named options.
eg. options like frontdoor, frontside, backdoor, etc
* fix key prop for lint
* Change MultiSelect onSolo to onSelectSingle
* cosmetic changes on MultiSelect
* Different look for SelectSingle buttons
* Show All button is aligned with the items below it, no matter the popup size
* MultiSelect ShowAll unfocused by default
* Adding clip length in s to Events View
* added function returning human readable length
* switched to date-fns functions for formatting
* fixed switched start/end time, changed length to duration
* Add tabs to show snapshot or thumbnail as part of event details,
even if event has a clip available.
* Add ability for TextTab to render as disabled.
* Use default names so filters are more clear
* Add endpoint to get list of sub labels inside DB
* Fix crash on no internet
* Cleanups for sub_label http
* Add sub label selector to events UI
* Add event filtering for sub label
* Formatting files
* Reduce size of filters to fit on one line
* Add handler for tests
* Remove unused imports
* Only show the sub labels filter when there are sub labels in the DB
* Fix tests
* Use distinct instead of group_by
* Formatting
* Cleanup event logic
* Add sub label to model and set / delete funs
* Add migrations for sub label
* Tweaks to API and model
* Show sublabel if available
* Cleanups
* Update docs
* Show person in UI title
* Fix typo and don't fail on no json
* Transfer sub labels for in progress events
* Remove sublabel reset
* Remove person only check
* Make default null
* Update docs and formatting
* Make default null
* Make nullable in migration
* Undo null
* Update model to accept null
* Update migration to accept null
* Don't set to default values
* Remove redundant defaults and update http logic
* Only need a single route
* Enforce 20 character limit in http
* Update docs to mention 20 character limit
* Cleanup
* Separate insert and update to make sure updated values are retained when event ends
* Use insert instead of replace
* Remove redundant if and have should_update_db include clip or snapshot requirement.
* rearrange event route and splitted into several components
* useIntersectionObserver
* re-arrange
* searchstring improvement
* added xs tailwind breakpoint
* useOuterClick hook
* cleaned up
* removed some video controls for mobile devices
* lint
* moved hooks to global folder
* moved buttons for small devices
* added button groups
Co-authored-by: Bernt Christian Egeland <cbegelan@gmail.com>
* fixed position for Dialog
* added eventId to deleted item
* removed page route redirect + New Close Button
* event component added to events list. New delete reducer
* removed event route
* moved delete reducer to event page
* removed redundant event details
* keep aspect ratio
* keep aspect ratio
* removed old buttons - repositioned to top
* removed console.log
* event view function
* removed clip header
* top position
* centered image if no clips avail
* comments
* linting
* lint
* added scrollIntoView when event has been mounted
* added Clip header
* added scrollIntoView to test
* lint
* useRef to scroll event into view
* removed unused functions
* reverted changes to event.test
* scroll into view
* moved delete reducer
* removed commented code
* styling
* moved close button to right side
* Added new close svg icon
Co-authored-by: Bernt Christian Egeland <cbegelan@gmail.com>