import { Tooltip } from '@reach/tooltip';
import cx from 'clsx';
import * as React from 'react';
import { Info } from 'react-feather';
import { useTranslation } from 'react-i18next';
import { FcAreaChart, FcDocument, FcGlobe, FcLink, FcRuler, FcSettings } from 'react-icons/fc';
import { useQuery } from 'react-query';
import { Link, useLocation } from 'react-router-dom';
import { fetchVersion } from '~/api/version';
import { ThemeSwitcher } from '~/components/shared/ThemeSwitcher';
import { connect } from '~/components/StateProvider';
import { getClashAPIConfig } from '~/store/app';
import { ClashAPIConfig } from '~/types';
import s from './SideBar.module.scss';
type Props = { apiConfig: ClashAPIConfig };
const icons = {
activity: FcAreaChart,
globe: FcGlobe,
command: FcRuler,
file: FcDocument,
settings: FcSettings,
link: FcLink,
};
const SideBarRow = React.memo(function SideBarRow({
isActive,
to,
iconId,
labelText,
}: SideBarRowProps) {
const Comp = icons[iconId];
const className = cx(s.row, isActive ? s.rowActive : null);
return (