import React from "react"; import { connect } from "react-redux"; import classnames from "classnames"; import { BANDS, WINDOWS } from "../../constants"; import { setEqBand, setPreamp, setEqToMax, setEqToMid, setEqToMin, closeWindow, toggleEqualizerShadeMode } from "../../actionCreators"; import { SET_FOCUSED_WINDOW } from "../../actionTypes"; import { getWindowShade } from "../../selectors"; import Band from "./Band"; import EqOn from "./EqOn"; import EqAuto from "./EqAuto"; import EqGraph from "./EqGraph"; import PresetsContextMenu from "./PresetsContextMenu"; import EqualizerShade from "./EqualizerShade"; import "../../../css/equalizer-window.css"; import { Dispatch, Band as BandType, AppState } from "../../types"; interface StateProps { doubled: boolean; selected: boolean; shade: boolean | undefined; } interface DispatchProps { focusWindow(): void; setPreampValue(value: number): void; setEqToMin(): void; setEqToMid(): void; setEqToMax(): void; setHertzValue(hertz: BandType): (value: number) => void; closeEqualizerWindow(): void; toggleEqualizerShadeMode(): void; } const bandClassName = (band: BandType) => `band-${band}`; const EqualizerWindow = (props: StateProps & DispatchProps) => { const { doubled, selected, shade } = props; const className = classnames({ selected, doubled, shade, window: true, draggable: true }); return (