Commit Graph
122 Commits
Author SHA1 Message Date
Dermot Duffy da79664a67 feat: Add support for config and initialized conditions (#1894)
These conditions are probably not hugely useful for most card users, but
allows the inbuilt automation systems to be used for card internal
operations.

[skip ci]
2025-02-16 14:17:04 -08:00
Dermot Duffy 7fb710d45d feat: Add support for templates in actions (#1891)
- Closes #1878
2025-02-14 07:23:19 -08:00
Dermot Duffy 8d3cf07b43 refactor: Significantly refactor how conditions work internally (#1886)
- Much improved API cleanliness and testability to allow further
extensibility in future
 - Simplified code in `live` view

This technically contains a small change in how overrides work in the
`live` view. Since that change is _closer_ to the documentation, and
since this is likely to be rarely used, this is not considered a
breaking change. Previously, overrides for a given live camera would
always render _as if_ that camera was selected, vs was actually
selected. Now, overrides will only apply in the live view when the
camera is _actually_ selected. If this is an issue for you in practice,
lets discuss.
2025-02-11 20:07:55 -08:00
Dermot Duffy cc376a8be1 feat: Rename the card to advanced-camera-card (#1873)
Whilst the Frigate support in this card is the best among camera
engines, the name incorrectly suggests that Frigate is a requirement.
Instead, to broaden the appeal, change to more camera agnostic name.
This does not suggest any change in priority, role or support for
Frigate.

This change is likely to be bug prone, due to the size of the rename --
the code contains 1500+ references to "Frigate" most of which make sense
to rename, some which do not, all of which needed human assessment.

- Closes #1298


BREAKING CHANGE: References to `frigate-card` in all kinds of
configuration need to be updated to `advanced-camera-card`. An automated
config upgrade should take care of the majority of usecases (click `Edit
-> Upgrade -> Save`), though may not be perfect.
2025-02-06 19:32:32 -08:00
Dermot Duffy 3e8e688b36 feat: Add basic fullscreen support for iPhone (#1857)
- Closes #1444
2025-01-27 07:23:07 -08:00
Dermot Duffy faa5ec3eec refactor: Refactor internal error / info message components (#1842) 2025-01-20 15:26:53 -08:00
Dermot Duffy 3003f82170 fix: Microphone should still work after a view change (#1835)
- Closes #1810
2025-01-18 14:54:40 -08:00
Dermot Duffy 6b3736bdaf fix: Show version number with card loading spinner (#1825)
- Closes #1818

**Why add this?**: A repeated pattern is that an issue is fixed in the
card, a new build is released and users will incorrectly believe it's
not yet fixed due to their browser caching the old code. This results in
wasting their time, and my time.

**But it's obnoxious!**: I'm pretty sensitive to this (hence adding
these messages!), so let me know how terrible you find it. You can
disable it with:

```yaml
performance:
  features:
    card_loading_indicator: false
```
2025-01-12 16:26:30 -08:00
Dermot Duffy 2678500670 feat: Allow user-agent based conditions (#1821)
* Closes #1819
2025-01-10 07:41:19 -08:00
Dermot Duffy 7657bdf22c fix: Rendering not correctly forced when tab changed in certain circumstances (#1817)
- Closes #1811
- Closes #1769
2025-01-09 20:21:26 -08:00
Dermot Duffy c3dc4803ad fix: Honor the view configured display mode (#1815)
- Closes #1812
2025-01-07 22:28:40 -08:00
Dermot Duffy 278560b5ac feat: Add richer card theme support (#1809) 2025-01-07 19:54:13 -08:00
Dermot Duffy bc95f55cb0 fix: Always fetch media for "most recent media" views (#1791) 2024-12-23 16:22:10 -08:00
Dermot Duffy 9d812af9f4 fix: Use HA style and coloring for all icons (#1790) 2024-12-23 15:22:27 -08:00
Dermot Duffy e2b6d38fc2 fix: default action should fetch new media (#1767) 2024-12-15 21:42:12 -08:00
Dermot Duffy ed0bb99a45 fix: Panel height should be 100% when casted (#1750) 2024-12-13 08:11:26 -08:00
Dermot Duffy 9ac6134446 perf: Change media fetches to be asynchronous to view render (#1702)
This is a fairly non-trivial change in terms of consequence, so a greater than average chance something breaks. This is necessary since some cameras (e.g. Reolink) are materially slower to fetch media, and this change substantially improves card responsiveness.
2024-12-01 20:57:48 -08:00
Dermot Duffy 9ca56d061f fix: Improve media background image (#1635)
* fix: Improve media background image

* Simplify loading spinner.

This is slightly less fancy, but removes code. I'm guessing no-one will notice or care enough to raise it! (BMFW).
2024-10-12 14:31:26 -07:00
Dermot Duffy d7fa2933da fix: Show a background image in case media doesn't load (#1622) 2024-10-06 14:51:44 -07:00
Felipe SantosandDermot Duffy 1f5d4bd8b0 fix: media_stop not supported on Google Cast devices (#1605)
* fix: `media_stop` not supported on Google Cast devices

* Add tests for new stop functionality

---------

Co-authored-by: Dermot Duffy <dermot.duffy@gmail.com>
2024-10-02 20:06:08 -07:00
Dermot Duffy 9393722fa6 refactor: Cache device information centrally (#1598) 2024-09-29 17:17:40 -07:00
Dermot Duffy 02fb6e1d4c refactor: Refactor entity register manager (#1597) 2024-09-29 15:55:28 -07:00
Dermot Duffy 4e3b16f9b8 fix: Multiple cards should form a masonry layout (#1585) 2024-09-24 20:01:49 -07:00
Dermot Duffy 06345ca01d fix: Don't run the query string actions until after initialization (#1579) 2024-09-24 17:56:43 -07:00
Dermot Duffy d203f529f8 fix: Don't block for microphone initialization if browser does not support microphone (#1576) 2024-09-23 20:08:25 -07:00
Dermot Duffy 299d21acab fix: Untriggering to default should reset to default camera (#1571) 2024-09-22 16:00:08 -07:00
Dermot Duffy 766f3422a9 fix: Unparseable config when using the low-performance profile (#1570)
* The `low-performance` profile itself had parse errors: fix them!
* Do not silently swallow override parse errors, they are always a user issue
* Minor error message rendering improvements to show multiple pieces of context
2024-09-22 15:08:37 -07:00
Dermot Duffy a4417e8a3d perf: Only trigger a state change if the state is definitely different (#1569) 2024-09-22 13:18:50 -07:00
Dermot Duffy 7fd6bc6bee fix: Timeline window should match selected events for media views (#1555) 2024-09-21 15:39:18 -07:00
Dermot Duffy e5cbfa9976 fix: Assume conditions are state conditions unless otherwise specified (#1552) 2024-09-21 13:41:13 -07:00
Dermot Duffy b46ea36265 feat: Add loading spinner on card initialization (#1549)
* feat: Add loading spinner on card initialization

* Minor doc fix.
2024-09-20 19:39:17 -07:00
Dermot Duffy 650d99ec00 fix: Fix initialization race condition that occurs in certain circumstances (#1545)
* fix: Fix initialization race condition in certain circumstances

* Minor improvements and camera iris logo
2024-09-19 19:42:38 -07:00
Felipe Santos af4666e023 feat: Add microphone_connect action (#1537) 2024-09-15 20:17:48 -07:00
Dermot Duffy f924537025 fix: Replace max_height with height (#1539)
* fix: Replace `max_height` with `height`

BREAKING CHANGE: This entirely removes `min_height`, and replaces `max_height` with `height`. The behavior is obviously not exactly the same, but the prior behavior did not actually work correctly. CSS does not  limit the height of child elements that are `100%` of their parents height if the parent does not have an explicit height set (this caused spillage over the set max height). As such, it's simpler to just allow the user to set the actual height of the card should they need to do so, with a (hopefully) minor loss of flexibility.

* Test fixes
2024-09-15 17:29:05 -07:00
Felipe Santos e13e53b430 feat: Add microphone_disconnect action (#1536) 2024-09-15 15:44:40 -07:00
Dermot Duffy 91ffe0656b Don't run automations prior to initialization . 2024-08-26 14:35:16 -07:00
Dermot Duffy 2412cc5ac8 Merge pull request #1503 from dermotduffy/adoption
Fix query adopt bug
2024-08-26 12:44:05 -07:00
Dermot Duffy ca405e9e3e Fix query adopt bug. 2024-08-26 12:40:29 -07:00
Dermot Duffy 429dd90972 Use custom websocket to avoid needing admin privileges. 2024-08-24 20:00:00 -07:00
Dermot Duffy e503f0e429 Initial version of status bar. 2024-08-16 20:08:21 -07:00
Dermot Duffy ef7b4b0ddf Formatting pass. 2024-07-30 02:23:51 -07:00
Dermot Duffy d5c4e56c45 Refactor views to support dynamic updates. 2024-07-26 19:15:38 -07:00
Dermot Duffy 8c7c2c8c18 Use an automation to change view to default. 2024-06-11 19:48:39 -07:00
Dermot Duffy afb9af5eb4 Rename several view variables for clarity. 2024-06-11 19:48:39 -07:00
Dermot Duffy f193f9925f Add update trigger action. 2024-06-11 19:48:39 -07:00
Felipe Santos fccb4c9afd Bump prettier to v3 and format all files 2024-06-10 00:29:50 -03:00
Dermot Duffy 7ab545738d Add initial keyboard shortcut support. 2024-06-05 21:44:17 -07:00
Felipe Santos 1a36ce0894 Update date-fns and date-fns-tz to v3 2024-06-05 22:37:54 -03:00
Dermot Duffy 7d831f90db Ensure automations check for HA conditions. 2024-04-27 20:15:48 -07:00
Dermot Duffy 7917e5c537 Add support for pre-defined zoom/pan settings. 2024-04-27 14:55:38 -07:00