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 Update web readme (#12062) 2024-06-19 08:11:51 -06:00
images Fix site.webmanifest + add svg as favicon (#6304) 2023-05-04 18:04:24 -05:00
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 Theme updates (#12373) 2024-07-10 07:04:02 -05:00
.eslintrc.cjs Auth! (#11347) 2024-05-18 10:36:13 -06:00
.gitignore Use new UI (#8983) 2024-01-31 12:56:11 +00:00
.prettierrc Use prettier-plugin-tailwindcss (#11373) 2024-05-14 09:06:44 -06:00
components.json Use new UI (#8983) 2024-01-31 12:56:11 +00:00
index.html use credentials for webmanifest (#10447) 2024-03-14 06:36:56 -06:00
login.html Auth! (#11347) 2024-05-18 10:36:13 -06:00
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 Fix linter and fix lint issues (#10141) 2024-02-28 16:23:56 -06:00
README.md Update web readme (#12062) 2024-06-19 08:11:51 -06:00
site.webmanifest Implement support for notifications (#12523) 2024-08-29 20:19:50 -06:00
tailwind.config.js Theme updates (#12373) 2024-07-10 07:04:02 -05:00
tsconfig.json Use new UI (#8983) 2024-01-31 12:56:11 +00:00
tsconfig.node.json Use new UI (#8983) 2024-01-31 12:56:11 +00:00
vite.config.ts optional env var for easier development (#11426) 2024-05-18 18:49:38 -06:00

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