import React from 'react'; import {CirclePlay, Clock, Display, Person, Rocket} from '@gravity-ui/icons'; import {ArrowToggle, Button, Card, Flex, Icon, Label, Text} from '@gravity-ui/uikit'; import {useHistory, useLocation} from 'react-router-dom'; import {TenantTabsGroups} from '../../containers/Tenant/TenantPages'; import {getTenantPath, parseQuery} from '../../routes'; import {TENANT_DIAGNOSTICS_TABS_IDS} from '../../store/reducers/tenant/constants'; import {cn} from '../../utils/cn'; import {QueriesActivityCharts} from './QueriesActivityCharts'; import i18n from './i18n'; import {formatTrendValue} from './utils'; import './QueriesActivityBar.scss'; const b = cn('queries-activity-bar'); interface QueriesActivityExpandableProps { database: string; runningQueriesCount: number; uniqueApplications: number; uniqueUsers: number; qps?: { value?: string; trend?: { value?: number; }; }; latency?: { value?: string; trend?: { value?: number; }; }; } export function QueriesActivityExpandable({ database, runningQueriesCount, uniqueApplications, uniqueUsers, qps, latency, }: QueriesActivityExpandableProps) { const history = useHistory(); const location = useLocation(); const [expanded, setExpanded] = React.useState(false); const handleOpenRunningQueries = () => { const queryParams = parseQuery(location); const path = getTenantPath({ ...queryParams, [TenantTabsGroups.diagnosticsTab]: TENANT_DIAGNOSTICS_TABS_IDS.topQueries, queryMode: 'running', }); history.push(path); }; const handleToggleExpanded = () => { setExpanded(!expanded); }; return (