import { useIntl } from '@umijs/max'; import { Col, DatePicker, Row, Select } from 'antd'; import dayjs from 'dayjs'; import { FC, memo, useContext, useState } from 'react'; import styled from 'styled-components'; import { DashboardContext } from '../../config/dashboard-context'; import useRangePickerPreset from '../../hooks/use-rangepicker-preset'; import ExportData from './export-data'; import RequestTokenInner from './request-token-inner'; import TopUser from './top-user'; import useUsageData from './use-usage-data'; const FilterWrapper = styled.div` display: flex; justify-content: space-between; align-items: center; margin-bottom: 0px; .selection { display: flex; align-items: center; gap: 12px; } `; const TitleWrapper = styled.div` margin: 26px 0px; margin-bottom: 38px; font-weight: 700; `; const dataList = [ { label: '100M', value: 'Completion Tokens' }, { label: '50M', value: 'Prompt Tokens' }, { label: '120K', value: 'API Requests' } ]; const UsageInner: FC<{ paddingRight: string }> = ({ paddingRight }) => { const intl = useIntl(); const [query, setQuery] = useState({ startDate: dayjs().subtract(30, 'days').format('YYYY-MM-DD'), endDate: dayjs().format('YYYY-MM-DD'), user: [], model: [] }); const { disabledRangeDaysDate, rangePresets } = useRangePickerPreset({ range: 60 }); const { model_usage } = useContext(DashboardContext); const [open, setOpen] = useState(false); const { requestTokenData, topUserData } = useUsageData(model_usage || {}); const handleOnCancel = () => { setOpen(false); }; const handleExport = () => { setOpen(true); }; return (
{intl.formatMessage({ id: 'dashboard.usage' })}
{intl.formatMessage({ id: 'dashboard.topusers' })}
); }; export default memo(UsageInner);