All files / src/components/music/tracker SongTrackerKeyboardContainer.tsx

0% Statements 0/11
0% Branches 0/2
0% Functions 0/2
0% Lines 0/10

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 36 37 38 39 40 41                                                                                 
import React from "react";
import { TRACKER_PATTERN_LENGTH, TRACKER_ROW_SIZE } from "consts";
import { useAppSelector } from "store/hooks";
import { getFieldColumnFocus } from "./helpers";
import {
  TrackerKeyboard,
  VirtualTrackerKey,
} from "components/music/tracker/TrackerKeyboard";
 
const PATTERN_FIELD_COUNT = TRACKER_PATTERN_LENGTH * TRACKER_ROW_SIZE;
 
interface SongTrackerKeyboardContainerProps {
  octaveOffset: number;
  open: boolean;
  onKeyPressed: (virtualKey: VirtualTrackerKey) => void;
}
 
export const SongTrackerKeyboardContainer = ({
  octaveOffset,
  open,
  onKeyPressed,
}: SongTrackerKeyboardContainerProps) => {
  const fieldType = useAppSelector((state) =>
    getFieldColumnFocus(
      state.tracker.trackerActiveField !== undefined
        ? state.tracker.trackerActiveField % PATTERN_FIELD_COUNT
        : 0,
    ),
  );
 
  return (
    <TrackerKeyboard
      type="pattern"
      fieldType={fieldType}
      octaveOffset={octaveOffset}
      open={open}
      onKeyPressed={onKeyPressed}
    />
  );
};