import React, { useState } from 'react'; import { useRouter } from 'next/router'; import { StyledArrowButton, StyledLink, StyledListItem, // StyledListItemForWorkspace, StyledNewPageButton, StyledSliderBar, StyledSliderBarWrapper, StyledSubListItem, } from './style'; import { Arrow } from './icons'; // import { WorkspaceSelector } from './WorkspaceSelector'; import Collapse from '@mui/material/Collapse'; import { ArrowDownIcon, SearchIcon, AllPagesIcon, FavouritesIcon, ImportIcon, TrashIcon, AddIcon, } from '@blocksuite/icons'; import Link from 'next/link'; import { Tooltip } from '@/ui/tooltip'; import { useModal } from '@/providers/global-modal-provider'; import { useAppState } from '@/providers/app-state-provider/context'; import { IconButton } from '@/ui/button'; import useLocalStorage from '@/hooks/use-local-storage'; import usePageMetaList from '@/hooks/use-page-meta-list'; import { usePageHelper } from '@/hooks/use-page-helper'; import { useTranslation } from 'react-i18next'; const FavoriteList = ({ showList }: { showList: boolean }) => { const { openPage } = usePageHelper(); const pageList = usePageMetaList(); const router = useRouter(); const { t } = useTranslation(); const favoriteList = pageList.filter(p => p.favorite && !p.trash); return ( {favoriteList.map((pageMeta, index) => { const active = router.query.pageId === pageMeta.id; return ( { if (active) { return; } openPage(pageMeta.id); }} > {pageMeta.title || 'Untitled'} ); })} {favoriteList.length === 0 && ( {t('No item')} )} ); }; export const WorkSpaceSliderBar = () => { const { triggerQuickSearchModal, triggerImportModal } = useModal(); const [showSubFavorite, setShowSubFavorite] = useState(true); const { currentWorkspaceId } = useAppState(); const { openPage, createPage } = usePageHelper(); const router = useRouter(); const { t } = useTranslation(); const [showTip, setShowTip] = useState(false); const [show, setShow] = useLocalStorage('AFFiNE_SLIDE_BAR', false, true); const paths = { all: currentWorkspaceId ? `/workspace/${currentWorkspaceId}/all` : '', favorite: currentWorkspaceId ? `/workspace/${currentWorkspaceId}/favorite` : '', trash: currentWorkspaceId ? `/workspace/${currentWorkspaceId}/trash` : '', }; return ( <> { setShow(!show); setShowTip(false); }} onMouseEnter={() => { setShowTip(true); }} onMouseLeave={() => { setShowTip(false); }} > {/* */} { triggerQuickSearchModal(); }} > {t('Quick search')} {t('All pages')} {t('Favourites')} { setShowSubFavorite(!showSubFavorite); }} > { triggerImportModal(); }} > {t('Import')} {t('Trash')} { const pageId = await createPage(); if (pageId) { openPage(pageId); } }} > {t('New Page')} ); }; export default WorkSpaceSliderBar;