diff --git a/README.md b/README.md
index d09506af..7459dc98 100644
--- a/README.md
+++ b/README.md
@@ -956,6 +956,24 @@ View events in the timeline.
+### Single Camera Recordings
+
+View recordings for a camera across time:
+
+
+
+### Multiple Camera Recordings
+
+View recordings for multiple cameras at a given time:
+
+
+
+### Dark Mode
+
+Dim the card when not used.
+
+
+
### Card Casting
diff --git a/images/dark-mode.gif b/images/dark-mode.gif
new file mode 100644
index 00000000..cf21c4f8
Binary files /dev/null and b/images/dark-mode.gif differ
diff --git a/images/recording-seek-all-cameras.gif b/images/recording-seek-all-cameras.gif
new file mode 100644
index 00000000..4878c5a8
Binary files /dev/null and b/images/recording-seek-all-cameras.gif differ
diff --git a/images/recording-seek.gif b/images/recording-seek.gif
new file mode 100644
index 00000000..26573faf
Binary files /dev/null and b/images/recording-seek.gif differ
diff --git a/src/components/timeline.ts b/src/components/timeline.ts
index 7b222d20..f0b4359e 100644
--- a/src/components/timeline.ts
+++ b/src/components/timeline.ts
@@ -583,9 +583,11 @@ export class FrigateCardTimelineCore extends LitElement {
const children: FrigateBrowseMediaSource[] = [];
const processedCameras: Set = new Set();
- for (const [camera, recording] of results.entries()) {
+ // Get results in the order the cameras are specified in the configuration.
+ for (const camera of (this.cameras?.keys() || [])) {
+ const recording = results.get(camera);
const config = this.cameras?.get(camera);
- if (!config?.camera_name) {
+ if (!recording || !config?.camera_name) {
continue;
}