import React, { Component } from 'react'; import ReactDOM from 'react-dom'; import { Router } from '@reach/router'; import { siteRoot } from './utils/constants'; import SidePanel from './components/side-panel'; import MainPanel from './components/main-panel'; import DraftsView from './pages/drafts/drafts-view'; import DraftContent from './pages/drafts/draft-content'; import ReviewContent from './pages/drafts/review-content'; import FilesActivities from './pages/dashboard/files-activities'; import Starred from './pages/starred/starred'; import LinkedDevices from './pages/linked-devices/linked-devices'; import editUtilties from './utils/editor-utilties'; import ShareAdminLibraries from './pages/share-admin/libraries'; import ShareAdminFolders from './pages/share-admin/folders'; import ShareAdminShareLinks from './pages/share-admin/share-links'; import ShareAdminUploadLinks from './pages/share-admin/upload-links'; import SharedLibraries from './pages/shared-libs/shared-libs'; import MyLibraries from './pages/my-libs/my-libs'; import DirView from './components/dir-view/dir-view'; import Group from './pages/groups/group-view'; import Groups from './pages/groups/groups-view'; import Wikis from './pages/wikis/wikis'; import MainContentWrapper from './components/main-content-wrapper'; import './assets/css/fa-solid.css'; import './assets/css/fa-regular.css'; import './assets/css/fontawesome.css'; import './css/layout.css'; import './css/toolbar.css'; import './css/search.css'; const FilesActivitiesWrapper = MainContentWrapper(FilesActivities); const DraftsViewWrapper = MainContentWrapper(DraftsView); const StarredWrapper = MainContentWrapper(Starred); const LinkedDevicesWrapper = MainContentWrapper(LinkedDevices); const SharedLibrariesWrapper = MainContentWrapper(SharedLibraries); const ShareAdminLibrariesWrapper = MainContentWrapper(ShareAdminLibraries); const ShareAdminFoldersWrapper = MainContentWrapper(ShareAdminFolders); const ShareAdminShareLinksWrapper = MainContentWrapper(ShareAdminShareLinks); const ShareAdminUploadLinksWrapper = MainContentWrapper(ShareAdminUploadLinks); const Wikiswrapper = MainContentWrapper(Wikis); class App extends Component { constructor(props) { super(props); this.state = { isOpen: false, isSidePanelClosed: false, draftCounts: 0, draftList:[], isLoadingDraft: true, currentTab: 'dashboard', }; this.currentTab = ''; //just for refresh brower } componentDidMount() { // e.g. from http://127.0.0.1:8000/drafts/reviews/ // get reviews // TODO: need refactor later let href = window.location.href.split('/'); this.getDrafts(); this.setState({currentTab: href[href.length - 2]}); if (this.currentTab) { this.setState({currentTab: this.currentTab}); } } getDrafts = () => { editUtilties.listDrafts().then(res => { this.setState({ draftCounts: res.data.draft_counts, draftList: res.data.data, isLoadingDraft: false, }); }); } updateDraftsList = (draft_id) => { this.setState({ draftCounts: this.state.draftCounts - 1, draftList: this.state.draftList.filter(draft => draft.id != draft_id), }); } onCloseSidePanel = () => { this.setState({ isSidePanelClosed: !this.state.isSidePanelClosed }); } onShowSidePanel = () => { this.setState({ isSidePanelClosed: !this.state.isSidePanelClosed }); } onSearchedClick = () => { //todos } tabItemClick = (tabName) => { this.setState({currentTab: tabName}); } updateCurrentTab = (tabName) => { this.currentTab = tabName; } render() { let { currentTab } = this.state; return (