/* * Copyright 2020 EPAM Systems * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import React from "react"; import { Button, Icons, SessionIndicator } from "@drill4j/ui-kit"; import { Link, useHistory } from "react-router-dom"; import { percentFormatter } from "@drill4j/common-utils"; import tw, { styled } from "twin.macro"; import { ActiveScope } from "types/active-scope"; import { getModalPath } from "common"; import { useActiveSessions, useAgentRouteParams, useNavigation, useTestToCodeRouteParams, useAdminConnection, } from "hooks"; import { PLUGIN_EVENT_NAMES, sendPluginEvent } from "common/analytic"; import { AnalyticsInfo } from "types"; interface Props { scope: ActiveScope | null; } const Content = styled.div` ${tw`block justify-between pt-4 px-6 pb-6 w-80 h-full text-14 leading-16 bg-monochrome-light-tint text-monochrome-default`} `; export const ActiveScopeInfo = ({ scope }: Props) => { const { agentId } = useAgentRouteParams(); const { buildVersion } = useTestToCodeRouteParams(); const { isAnalyticsDisabled } = useAdminConnection("/api/analytics/info") || {}; const activeSessions = useActiveSessions("Agent", agentId, buildVersion); const { id: scopeId = "", coverage: { percentage = 0 } = {}, } = scope || {}; const { getPagePath } = useNavigation(); const { push } = useHistory(); return (
ACTIVE SCOPE COVERAGE
{`${percentFormatter(percentage)}%`}
Scope Details All Scopes !isAnalyticsDisabled && sendPluginEvent({ name: PLUGIN_EVENT_NAMES.CLICK_ON_SESSION_MANAGEMENT_LINK, })} > Sessions Management
); };