All files / src/components/debugger DebuggerSceneLink.tsx

0% Statements 0/20
0% Branches 0/1
0% Functions 0/4
0% Lines 0/19

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35                                                                     
import React, { useCallback } from "react";
import { sceneSelectors } from "store/features/entities/entitiesState";
import editorActions from "store/features/editor/editorActions";
import { useAppDispatch, useAppSelector } from "store/hooks";
import { sceneName } from "shared/lib/entities/entitiesHelpers";
import { LinkButton } from "ui/debugger/LinkButton";
 
interface DebuggerSceneLinkProps {
  id: string;
}
 
const DebuggerSceneLink = ({ id }: DebuggerSceneLinkProps) => {
  const dispatch = useAppDispatch();
  const scene = useAppSelector((state) => sceneSelectors.selectById(state, id));
  const sceneIndex = useAppSelector((state) =>
    sceneSelectors.selectIds(state).indexOf(id)
  );
 
  const onSelect = useCallback(() => {
    dispatch(editorActions.selectScene({ sceneId: id }));
    dispatch(editorActions.editSearchTerm(""));
    dispatch(editorActions.editSearchTerm(id));
  }, [dispatch, id]);
 
  Iif (!scene) {
    return null;
  }
 
  return (
    <LinkButton onClick={onSelect}>{sceneName(scene, sceneIndex)}</LinkButton>
  );
};
 
export default DebuggerSceneLink;