import React from 'react';
import PropTypes from 'prop-types';
import fs from 'fs';
import classNames from 'classnames';
import { Flexbox, RetinaImg } from 'nylas-component-kit';
import { Actions, PreferencesUIStore, Utils } from 'nylas-exports';
class PreferencesTabItem extends React.Component {
static displayName = 'PreferencesTabItem';
static propTypes = {
selection: PropTypes.shape({
accountId: PropTypes.string,
tabId: PropTypes.string,
}).isRequired,
tabItem: PropTypes.instanceOf(PreferencesUIStore.TabItem).isRequired,
};
_onClick = () => {
Actions.switchPreferencesTab(this.props.tabItem.tabId);
};
_onClickAccount = (event, accountId) => {
Actions.switchPreferencesTab(this.props.tabItem.tabId, { accountId });
event.stopPropagation();
};
render() {
const { selection, tabItem } = this.props;
const { tabId, displayName } = tabItem;
const classes = classNames({
item: true,
active: tabId === selection.tabId,
});
let path = `icon-preferences-${displayName.toLowerCase().replace(' ', '-')}.png`;
if (!fs.existsSync(Utils.imageNamed(path))) {
path = 'icon-preferences-general.png';
}
const icon = (