mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-05-08 22:45:28 +03:00
Some checks are pending
CI / AMD64 Extra Build (push) Blocked by required conditions
CI / ARM Extra Build (push) Blocked by required conditions
CI / Synaptics Build (push) Blocked by required conditions
CI / Assemble and push default build (push) Blocked by required conditions
CI / AMD64 Build (push) Waiting to run
CI / ARM Build (push) Waiting to run
CI / Jetson Jetpack 6 (push) Waiting to run
* Bump radix-ui packages to align react-dismissable-layer version and fix nested overlay pointer-events bug * remove workarounds for radix pointer events issues on dropdown and context menus * remove disablePortal from popover * remove modal on popovers * remove workarounds in restart dialog * keep onCloseAutoFocus for face, classification, and ptz these are necessary to prevent tooltips from re-showing and from the arrow keys from reopening the ptz presets menu * add tests
52 lines
1.5 KiB
TypeScript
52 lines
1.5 KiB
TypeScript
import {
|
|
DropdownMenu,
|
|
DropdownMenuContent,
|
|
DropdownMenuItem,
|
|
DropdownMenuTrigger,
|
|
} from "../ui/dropdown-menu";
|
|
import { Button } from "../ui/button";
|
|
import { useTranslation } from "react-i18next";
|
|
import { FaFilm } from "react-icons/fa6";
|
|
|
|
type ActionsDropdownProps = {
|
|
onDebugReplayClick: () => void;
|
|
onExportClick: () => void;
|
|
onShareTimestampClick: () => void;
|
|
};
|
|
|
|
export default function ActionsDropdown({
|
|
onDebugReplayClick,
|
|
onExportClick,
|
|
onShareTimestampClick,
|
|
}: Readonly<ActionsDropdownProps>) {
|
|
const { t } = useTranslation(["components/dialog", "views/replay", "common"]);
|
|
|
|
return (
|
|
<DropdownMenu>
|
|
<DropdownMenuTrigger asChild>
|
|
<Button
|
|
className="flex items-center gap-2"
|
|
aria-label={t("menu.actions", { ns: "common" })}
|
|
size="sm"
|
|
>
|
|
<FaFilm className="size-5 text-secondary-foreground" />
|
|
<div className="text-primary">
|
|
{t("menu.actions", { ns: "common" })}
|
|
</div>
|
|
</Button>
|
|
</DropdownMenuTrigger>
|
|
<DropdownMenuContent align="end">
|
|
<DropdownMenuItem onClick={onExportClick}>
|
|
{t("menu.export", { ns: "common" })}
|
|
</DropdownMenuItem>
|
|
<DropdownMenuItem onClick={onShareTimestampClick}>
|
|
{t("recording.shareTimestamp.label", { ns: "components/dialog" })}
|
|
</DropdownMenuItem>
|
|
<DropdownMenuItem onClick={onDebugReplayClick}>
|
|
{t("title", { ns: "views/replay" })}
|
|
</DropdownMenuItem>
|
|
</DropdownMenuContent>
|
|
</DropdownMenu>
|
|
);
|
|
}
|