Remove frigate.js util function.
This commit is contained in:
@@ -7,7 +7,7 @@ import thumbnailStyle from '../scss/thumbnail.scss';
|
|||||||
import type { FrigateBrowseMediaSource, FrigateEvent } from '../types.js';
|
import type { FrigateBrowseMediaSource, FrigateEvent } from '../types.js';
|
||||||
import { stopEventFromActivatingCardWideActions } from '../utils/action.js';
|
import { stopEventFromActivatingCardWideActions } from '../utils/action.js';
|
||||||
import { prettifyTitle } from '../utils/basic.js';
|
import { prettifyTitle } from '../utils/basic.js';
|
||||||
import { getEventDurationString } from '../utils/frigate.js';
|
import { getEventDurationString } from '../utils/ha/browse-media.js';
|
||||||
import { View } from '../view.js';
|
import { View } from '../view.js';
|
||||||
|
|
||||||
// The minimum width of a thumbnail with details enabled.
|
// The minimum width of a thumbnail with details enabled.
|
||||||
|
|||||||
@@ -1,33 +0,0 @@
|
|||||||
import {
|
|
||||||
differenceInHours, differenceInMinutes, differenceInSeconds, fromUnixTime
|
|
||||||
} from 'date-fns';
|
|
||||||
import { localize } from '../localize/localize.js';
|
|
||||||
import { FrigateEvent } from '../types.js';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Convenience function to convert a timestamp to hours, minutes and seconds
|
|
||||||
* string. Heavily inspired by, and returning the same format as, the Frigate
|
|
||||||
* UI: https://github.com/blakeblackshear/frigate/blob/master/web/src/components/RecordingPlaylist.jsx#L97
|
|
||||||
* @param event The Frigate event.
|
|
||||||
* @returns A duration string.
|
|
||||||
*/
|
|
||||||
export function getEventDurationString(event: FrigateEvent): string {
|
|
||||||
if (!event.end_time) {
|
|
||||||
return localize('event.in_progress');
|
|
||||||
}
|
|
||||||
const start = fromUnixTime(event.start_time);
|
|
||||||
const end = fromUnixTime(event.end_time);
|
|
||||||
const hours = differenceInHours(end, start);
|
|
||||||
const minutes = differenceInMinutes(end, start) - hours * 60;
|
|
||||||
const seconds = differenceInSeconds(end, start) - hours * 60 * 60 - minutes * 60;
|
|
||||||
let duration = '';
|
|
||||||
|
|
||||||
if (hours) {
|
|
||||||
duration += `${hours}h `;
|
|
||||||
}
|
|
||||||
if (minutes) {
|
|
||||||
duration += `${minutes}m `;
|
|
||||||
}
|
|
||||||
duration += `${seconds}s`;
|
|
||||||
return duration;
|
|
||||||
}
|
|
||||||
@@ -1,4 +1,10 @@
|
|||||||
import { HomeAssistant } from 'custom-card-helpers';
|
import { HomeAssistant } from 'custom-card-helpers';
|
||||||
|
import {
|
||||||
|
differenceInHours,
|
||||||
|
differenceInMinutes,
|
||||||
|
differenceInSeconds,
|
||||||
|
fromUnixTime
|
||||||
|
} from 'date-fns';
|
||||||
import { homeAssistantWSRequest } from '.';
|
import { homeAssistantWSRequest } from '.';
|
||||||
import {
|
import {
|
||||||
dispatchErrorMessageEvent,
|
dispatchErrorMessageEvent,
|
||||||
@@ -9,8 +15,7 @@ import {
|
|||||||
BrowseMediaQueryParameters,
|
BrowseMediaQueryParameters,
|
||||||
CameraConfig,
|
CameraConfig,
|
||||||
FrigateBrowseMediaSource,
|
FrigateBrowseMediaSource,
|
||||||
frigateBrowseMediaSourceSchema,
|
frigateBrowseMediaSourceSchema, FrigateEvent, MEDIA_CLASS_PLAYLIST,
|
||||||
MEDIA_CLASS_PLAYLIST,
|
|
||||||
MEDIA_TYPE_PLAYLIST
|
MEDIA_TYPE_PLAYLIST
|
||||||
} from '../../types.js';
|
} from '../../types.js';
|
||||||
import { View } from '../../view.js';
|
import { View } from '../../view.js';
|
||||||
@@ -403,3 +408,31 @@ export const createEventParentForChildren = (
|
|||||||
children: children,
|
children: children,
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Convenience function to convert a timestamp to hours, minutes and seconds
|
||||||
|
* string. Heavily inspired by, and returning the same format as, the Frigate
|
||||||
|
* UI: https://github.com/blakeblackshear/frigate/blob/master/web/src/components/RecordingPlaylist.jsx#L97
|
||||||
|
* @param event The Frigate event.
|
||||||
|
* @returns A duration string.
|
||||||
|
*/
|
||||||
|
export function getEventDurationString(event: FrigateEvent): string {
|
||||||
|
if (!event.end_time) {
|
||||||
|
return localize('event.in_progress');
|
||||||
|
}
|
||||||
|
const start = fromUnixTime(event.start_time);
|
||||||
|
const end = fromUnixTime(event.end_time);
|
||||||
|
const hours = differenceInHours(end, start);
|
||||||
|
const minutes = differenceInMinutes(end, start) - hours * 60;
|
||||||
|
const seconds = differenceInSeconds(end, start) - hours * 60 * 60 - minutes * 60;
|
||||||
|
let duration = '';
|
||||||
|
|
||||||
|
if (hours) {
|
||||||
|
duration += `${hours}h `;
|
||||||
|
}
|
||||||
|
if (minutes) {
|
||||||
|
duration += `${minutes}m `;
|
||||||
|
}
|
||||||
|
duration += `${seconds}s`;
|
||||||
|
return duration;
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user