import React, { Fragment } from 'react'; import PropTypes from 'prop-types'; import { DropdownToggle, Dropdown, DropdownMenu, DropdownItem } from 'reactstrap'; import { Link, navigate } from '@gatsbyjs/reach-router'; import { Utils } from '../../utils/utils'; import { siteRoot, gettext } from '../../utils/constants'; import ModalPortal from '../modal-portal'; import CreateRepoDialog from '../dialog/create-repo-dialog'; const propTypes = { onCreateRepo: PropTypes.func.isRequired, moreShown: PropTypes.bool }; class MyLibsToolbar extends React.Component { constructor(props) { super(props); this.state = { isCreateRepoDialogOpen: false, isOpen: false, }; } onCreateRepo = (repo) => { this.props.onCreateRepo(repo); this.onCreateToggle(); }; onCreateToggle = () => { this.setState({isCreateRepoDialogOpen: !this.state.isCreateRepoDialogOpen}); }; toggleMore = () => { this.setState({ isOpen: !this.state.isOpen }); }; onDropdownToggleKeyDown = (e) => { if (e.key == 'Enter' || e.key == 'Space') { this.toggleMore(); } }; visitDeletedviaKey = (e) => { if (e.key == 'Enter' || e.key == 'Space') { navigate(`${siteRoot}my-libs/deleted/`); } }; render() { const { moreShown = false } = this.props; return ( {Utils.isDesktop() ? (
{moreShown && {gettext('More')} {gettext('Deleted Libraries')} }
) : ( )} {this.state.isCreateRepoDialogOpen && ( )}
); } } MyLibsToolbar.propTypes = propTypes; export default MyLibsToolbar;