mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-05-05 13:07:44 +03:00
Handle selecting events
This commit is contained in:
parent
30dd8b593f
commit
c0bfae5b4a
@ -556,11 +556,22 @@ function FaceAttemptGroup({
|
|||||||
}: FaceAttemptGroupProps) {
|
}: FaceAttemptGroupProps) {
|
||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
const { t } = useTranslation(["views/faceLibrary", "views/explore"]);
|
const { t } = useTranslation(["views/faceLibrary", "views/explore"]);
|
||||||
|
|
||||||
|
// data
|
||||||
|
|
||||||
|
const allFacesSelected = useMemo(
|
||||||
|
() => group.every((face) => selectedFaces.includes(face.filename)),
|
||||||
|
[group, selectedFaces],
|
||||||
|
);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div
|
<div
|
||||||
className={cn(
|
className={cn(
|
||||||
"flex flex-col gap-2 rounded-lg bg-card p-2",
|
"flex flex-col gap-2 rounded-lg bg-card p-2 outline outline-[3px]",
|
||||||
isMobile && "w-full",
|
isMobile && "w-full",
|
||||||
|
allFacesSelected
|
||||||
|
? "shadow-selected outline-selected"
|
||||||
|
: "outline-transparent duration-500",
|
||||||
)}
|
)}
|
||||||
>
|
>
|
||||||
<div className="flex flex-row justify-between">
|
<div className="flex flex-row justify-between">
|
||||||
@ -607,7 +618,9 @@ function FaceAttemptGroup({
|
|||||||
data={data}
|
data={data}
|
||||||
faceNames={faceNames}
|
faceNames={faceNames}
|
||||||
recognitionConfig={config.face_recognition}
|
recognitionConfig={config.face_recognition}
|
||||||
selected={selectedFaces.includes(data.filename)}
|
selected={
|
||||||
|
allFacesSelected ? false : selectedFaces.includes(data.filename)
|
||||||
|
}
|
||||||
onClick={(data, meta) => {
|
onClick={(data, meta) => {
|
||||||
if (meta || selectedFaces.length > 0) {
|
if (meta || selectedFaces.length > 0) {
|
||||||
onClickFace(data.filename, true);
|
onClickFace(data.filename, true);
|
||||||
@ -848,7 +861,7 @@ function FaceImage({ name, image, onDelete }: FaceImageProps) {
|
|||||||
<div className="relative flex flex-col rounded-lg">
|
<div className="relative flex flex-col rounded-lg">
|
||||||
<div
|
<div
|
||||||
className={cn(
|
className={cn(
|
||||||
"w-full overflow-hidden rounded-t-lg border border-t-0 *:text-card-foreground",
|
"w-full overflow-hidden rounded-t-lg *:text-card-foreground",
|
||||||
isMobile && "flex justify-center",
|
isMobile && "flex justify-center",
|
||||||
)}
|
)}
|
||||||
>
|
>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user