mirror of
https://github.com/spacedriveapp/spacedrive.git
synced 2026-10-21 16:44:34 -04:00
* Delete shortcut fixed for Mac improve types and fix incorrect icon Update Contents.tsx formatting * shouldn't toggle if no items are selected
80 lines
2.2 KiB
TypeScript
80 lines
2.2 KiB
TypeScript
import { ArrowsClockwise, Planet } from '@phosphor-icons/react';
|
|
import { useNavigate } from 'react-router';
|
|
import { useKeys } from 'rooks';
|
|
import { LibraryContextProvider, useClientContext, useFeatureFlag } from '@sd/client';
|
|
import { Tooltip } from '@sd/ui';
|
|
import { useKeysMatcher } from '~/hooks';
|
|
|
|
import { EphemeralSection } from './EphemeralSection';
|
|
import Icon from './Icon';
|
|
import { LibrarySection } from './LibrarySection';
|
|
import SidebarLink from './Link';
|
|
|
|
export default () => {
|
|
const { library } = useClientContext();
|
|
const navigate = useNavigate();
|
|
const shortcuts = useKeysMatcher(['Meta', 'Shift']);
|
|
|
|
useKeys([shortcuts.Meta.key, 'Shift', 'KeyO'], (e) => {
|
|
e.stopPropagation();
|
|
navigate('overview');
|
|
});
|
|
|
|
return (
|
|
<div className="no-scrollbar mask-fade-out flex grow flex-col overflow-x-hidden overflow-y-scroll pb-10">
|
|
<div className="space-y-0.5">
|
|
<Tooltip
|
|
position="right"
|
|
label="Overview"
|
|
keybinds={[shortcuts.Shift.icon, shortcuts.Meta.icon, 'O']}
|
|
>
|
|
<SidebarLink to="overview">
|
|
<Icon component={Planet} />
|
|
Overview
|
|
</SidebarLink>
|
|
</Tooltip>
|
|
{/* <SidebarLink to="spacedrop">
|
|
<Icon component={Broadcast} />
|
|
Spacedrop
|
|
</SidebarLink> */}
|
|
{/*
|
|
{/* <SidebarLink to="imports">
|
|
<Icon component={ArchiveBox} />
|
|
Imports
|
|
</SidebarLink> */}
|
|
{useFeatureFlag('syncRoute') && (
|
|
<SidebarLink to="sync">
|
|
<Icon component={ArrowsClockwise} />
|
|
Sync
|
|
</SidebarLink>
|
|
)}
|
|
</div>
|
|
<EphemeralSection />
|
|
{library && (
|
|
<LibraryContextProvider library={library}>
|
|
<LibrarySection />
|
|
</LibraryContextProvider>
|
|
)}
|
|
{/* <Section name="Tools" actionArea={<SubtleButton />}>
|
|
<SidebarLink disabled to="duplicate-finder">
|
|
<Icon component={CopySimple} />
|
|
Duplicates
|
|
</SidebarLink>
|
|
<SidebarLink disabled to="lost-and-found">
|
|
<Icon component={Crosshair} />
|
|
Find a File
|
|
</SidebarLink>
|
|
<SidebarLink disabled to="cache-cleaner">
|
|
<Icon component={Eraser} />
|
|
Cache Cleaner
|
|
</SidebarLink>
|
|
<SidebarLink disabled to="media-encoder">
|
|
<Icon component={FilmStrip} />
|
|
Media Encoder
|
|
</SidebarLink>
|
|
</Section> */}
|
|
<div className="grow" />
|
|
</div>
|
|
);
|
|
};
|