blakeblackshear.frigate/web
Nicolas Mowen 690ee3dc15 Implement support for notifications (#12523)
* Setup basic notification page

* Add basic notification implementation

* Register for push notifications

* Implement dispatching

* Add fields

* Handle image and link

* Add notification config

* Add field for users notification tokens

* Implement saving of notification tokens

* Implement VAPID key generation

* Implement public key encoding

* Implement webpush from server

* Implement push notification handling

* Make notifications config only

* Add maskable icon

* Use zod form to control notification settings in the UI

* Use js

* Always open notification

* Support multiple endpoints

* Handle cleaning up expired notification registrations

* Correctly unsubscribe notifications

* Change ttl dynamically

* Add note about notification latency and features

* Cleanup docs

* Fix firefox pushes

* Add links to docs and improve formatting

* Improve wording

* Fix docstring

Co-authored-by: Blake Blackshear <blake@frigate.video>

* Handle case where native auth is not enabled

* Show errors in UI

---------

Co-authored-by: Blake Blackshear <blake@frigate.video>
2024-08-29 20:19:50 -06:00
..
.vscode
images
public Implement support for notifications (#12523) 2024-08-29 20:19:50 -06:00
src Implement support for notifications (#12523) 2024-08-29 20:19:50 -06:00
themes
.eslintrc.cjs
.gitignore
.prettierrc
components.json
index.html
login.html
package-lock.json Web deps (#12908) 2024-08-09 16:12:07 -06:00
package.json Web deps (#12908) 2024-08-09 16:12:07 -06:00
postcss.config.js
README.md
site.webmanifest Implement support for notifications (#12523) 2024-08-29 20:19:50 -06:00
tailwind.config.js
tsconfig.json
tsconfig.node.json
vite.config.ts

This is the Frigate frontend which connects to and provides a User Interface to the Python backend.

Web Development

Installing Web Dependencies Via NPM

Within /web, run:

npm install

Running development frontend

Within /web, run:

PROXY_HOST=<ip_address:port> npm run dev

The Proxy Host can point to your existing Frigate instance. Otherwise defaults to localhost:5000 if running Frigate on the same machine.

Extensions

Install these IDE extensions for an improved development experience:

  • eslint