import React, { Component, Fragment } from 'react';
import moment from 'moment';
import { Link } from '@reach/router';
import { Dropdown, DropdownMenu, DropdownToggle, DropdownItem } from 'reactstrap';
import { seafileAPI } from '../../utils/seafile-api';
import { Utils } from '../../utils/utils';
import { gettext, siteRoot, loginUrl, isPro, storages, canGenerateShareLink, canGenerateUploadLink, folderPermEnabled, enableRepoSnapshotLabel } from '../../utils/constants';
import Loading from '../../components/loading';
import DeleteItemPopup from './popups/delete-item';
import GeneralToolBar from '../../components/toolbar/general-toolbar';
class Content extends Component {
constructor(props) {
super(props);
this.state = {
deleteItemPopupOpen: false
};
this.toggleDeleteItemPopup = this.toggleDeleteItemPopup.bind(this);
this.showDeleteItemPopup = this.showDeleteItemPopup.bind(this);
this.operations = {
showDeleteItemPopup: this.showDeleteItemPopup
};
}
toggleDeleteItemPopup() {
this.setState({
deleteItemPopupOpen: !this.state.deleteItemPopupOpen
});
}
showDeleteItemPopup(data) {
this.toggleDeleteItemPopup();
this.setState({
deleteItemPopupData: data
});
}
render() {
const {loading, errorMsg, items} = this.props.data;
if (loading) {
return ;
} else if (errorMsg) {
return
{errorMsg}
;
} else {
const emptyTip = (
{gettext('You have not created any libraries')}
{gettext('You can create a library to organize your files. For example, you can create one for each of your projects. Each library can be synchronized and shared separately.')}
);
// TODO: test 'storage backend'
const showStorageBackend = storages.length > 0; // only for desktop
const desktopThead = (
{data.repo_name ?
{data.repo_name} :
gettext('Broken (please contact your administrator to fix this library)')}
{data.repo_name ? desktopOperations : ''}
{Utils.formatSize({bytes: data.size})}
{storages.length ?
{data.storage_name}
: null}
{moment(data.last_modified).fromNow()}
);
const mobileItem = (
{data.repo_name ?
{data.repo_name} :
gettext('Broken (please contact your administrator to fix this library)')}
{Utils.formatSize({bytes: data.size})}{moment(data.last_modified).fromNow()}