import React from "react";
import PropTypes from "prop-types";
import { connect } from "react-redux";
import { objectMap } from "../utils";
import Emitter from "../emitter";
import ContextMenuWrapper from "./ContextMenuWrapper";
import MainContextMenu from "./MainWindow/MainContextMenu";
import WindowManager from "./WindowManager";
import MainWindow from "./MainWindow";
import PlaylistWindow from "./PlaylistWindow";
import EqualizerWindow from "./EqualizerWindow";
import GenWindow from "./GenWindow";
import Skin from "./Skin";
import "../../css/webamp.css";
class App extends React.Component {
constructor() {
super();
this._handleKeyDown = this._handleKeyDown.bind(this);
this._emitter = new Emitter();
}
componentDidMount() {
document.addEventListener("keydown", this._handleKeyDown);
}
componentWillUnmount() {
document.removeEventListener("keydown", this._handleKeyDown);
}
_handleKeyDown(e) {
this._emitter.trigger(this.props.focused, e);
}
_renderWindows() {
const {
media,
genWindowsInfo,
filePickers,
genWindowComponents
} = this.props;
return objectMap(genWindowsInfo, (w, id) => {
if (!w.open) {
return null;
}
switch (id) {
case "main":
return (