mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-07-31 16:12:19 +03:00
Miscellaneous fixes (#23155)
* Change order * Improve title * add loading spinner to exports * Simplify JSON since not all providers see or use this the same * Add fields to primary prompt * Adjust centering for no overrides * Use GenAI title for exports when available * detect form-root objects by field path instead of schema identity * add bosnian * Strip v1 if included in url * prevent fast clicks in video controls from selecting text * Use title for metadata chapters --------- Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
This commit is contained in:
co-authored by
Josh Hawkins
parent
0d4f1ec369
commit
c4b74c9148
@@ -79,10 +79,15 @@ export default function ReviewCard({
|
||||
? event.end_time + REVIEW_PADDING
|
||||
: Date.now() / 1000;
|
||||
|
||||
const genAiTitle = event.data.metadata?.title?.trim();
|
||||
|
||||
axios
|
||||
.post(
|
||||
`export/${event.camera}/start/${event.start_time - REVIEW_PADDING}/end/${endTime}`,
|
||||
{ playback: "realtime" },
|
||||
{
|
||||
playback: "realtime",
|
||||
...(genAiTitle ? { name: genAiTitle } : {}),
|
||||
},
|
||||
)
|
||||
.then((response) => {
|
||||
if (response.status < 300) {
|
||||
|
||||
@@ -52,12 +52,11 @@ export function ObjectFieldTemplate(props: ObjectFieldTemplateProps) {
|
||||
} = props;
|
||||
const formContext = registry?.formContext as ConfigFormContext | undefined;
|
||||
|
||||
// Check if this is a root-level object
|
||||
const isRoot = registry?.rootSchema === schema;
|
||||
const overrides = formContext?.overrides;
|
||||
const baselineFormData = formContext?.baselineFormData;
|
||||
const hiddenFields = formContext?.hiddenFields;
|
||||
const fieldPath = props.fieldPathId.path;
|
||||
const isRoot = fieldPath.length === 0;
|
||||
const restartRequired = formContext?.restartRequired;
|
||||
const defaultRequiresRestart = formContext?.requiresRestart ?? true;
|
||||
|
||||
|
||||
@@ -178,6 +178,7 @@ export default function MultiExportDialog({
|
||||
start_time: review.start_time - REVIEW_PADDING,
|
||||
end_time: (review.end_time ?? Date.now() / 1000) + REVIEW_PADDING,
|
||||
image_path: review.thumb_path || undefined,
|
||||
friendly_name: review.data.metadata?.title?.trim() || undefined,
|
||||
client_item_id: review.id,
|
||||
}));
|
||||
|
||||
|
||||
@@ -198,7 +198,7 @@ export default function VideoControls({
|
||||
return (
|
||||
<div
|
||||
className={cn(
|
||||
"z-50 flex w-auto items-center justify-between gap-4 rounded-lg bg-background/60 px-4 py-2 text-primary sm:flex-nowrap sm:gap-8",
|
||||
"z-50 flex w-auto select-none items-center justify-between gap-4 rounded-lg bg-background/60 px-4 py-2 text-primary sm:flex-nowrap sm:gap-8",
|
||||
className,
|
||||
isMobileOnly &&
|
||||
Object.values(features).filter((feat) => feat).length >
|
||||
|
||||
@@ -91,7 +91,7 @@ export function ProfileSectionDropdown({
|
||||
className="group flex items-start justify-between gap-2"
|
||||
onClick={() => onSelectProfile(profile)}
|
||||
>
|
||||
<div className="flex flex-col items-center gap-2">
|
||||
<div className="flex flex-col items-start gap-2">
|
||||
<div className="flex w-full flex-row items-center justify-start gap-2">
|
||||
{isActive && <Check className="h-3.5 w-3.5 shrink-0" />}
|
||||
<span
|
||||
|
||||
Reference in New Issue
Block a user