import {Fragment, memo, useRef} from 'react';
import styled from '@emotion/styled';
import ButtonBar from 'sentry/components/buttonBar';
import FeatureBadge from 'sentry/components/featureBadge';
import FloatingFeedbackWidget from 'sentry/components/feedback/widget/floatingFeedbackWidget';
import {GithubFeedbackButton} from 'sentry/components/githubFeedbackButton';
import FullViewport from 'sentry/components/layouts/fullViewport';
import * as Layout from 'sentry/components/layouts/thirds';
import {DatePageFilter} from 'sentry/components/organizations/datePageFilter';
import {EnvironmentPageFilter} from 'sentry/components/organizations/environmentPageFilter';
import PageFilterBar from 'sentry/components/organizations/pageFilterBar';
import {ProjectPageFilter} from 'sentry/components/organizations/projectPageFilter';
import {PageHeadingQuestionTooltip} from 'sentry/components/pageHeadingQuestionTooltip';
import SplitPanel, {BaseSplitDivider, DividerProps} from 'sentry/components/splitPanel';
import {IconGrabbable} from 'sentry/icons';
import {t} from 'sentry/locale';
import {space} from 'sentry/styles/space';
import {useDimensions} from 'sentry/utils/useDimensions';
import {MetricScratchpad} from 'sentry/views/ddm/scratchpad';
import {ScratchpadSelector} from 'sentry/views/ddm/scratchpadSelector';
import {TrayContent} from 'sentry/views/ddm/trayContent';
const SIZE_LOCAL_STORAGE_KEY = 'ddm-split-size';
function MainContent() {
return (
{t('DDM')}
);
}
export const DDMLayout = memo(() => {
const measureRef = useRef(null);
const {height} = useDimensions({elementRef: measureRef});
const hasSize = height > 0;
return (
{
// FullViewport has a grid layout with `grid-template-rows: auto 1fr;`
// therefore we need the empty div so that SplitPanel can span the whole height
// TODO(arthur): Check on the styles of FullViewport
}
{hasSize && (
),
default: height * 0.7,
min: 100,
max: height - 58,
}}
bottom={}
/>
)}
);
});
const SplitDivider = styled((props: DividerProps) => (
} />
))`
border-top: 1px solid ${$p => $p.theme.border};
`;
const ScrollingPage = styled(Layout.Page)`
height: 100%;
overflow: auto;
`;
const PaddedContainer = styled('div')`
margin-bottom: ${space(2)};
display: flex;
justify-content: space-between;
flex-wrap: wrap;
gap: ${space(1)};
`;