* Begin adding show view and refactoring threads to become notes * Progress on design * Progress redesign timeline * Dropdown button, design improvement * Open comment thread edit mode in drawer * Autosave local storage and commentThreadcount * Improve display and fix missing key issue * Remove some hardcoded CSS properties * Create button * Split company show into ui/business + fix eslint * Fix font weight * Begin auto-save on edit mode * Save server-side query result to Apollo cache * Fix save behavior * Refetch timeline after creating note * Rename createCommentThreadWithComment * Improve styling * Revert "Improve styling" This reverts commit 9fbbf2db006e529330edc64f3eb8ff9ecdde6bb0. * Improve CSS styling * Bring back border radius inadvertently removed * padding adjustment * Improve blocknote design * Improve edit mode display * Remove Comments.tsx * Remove irrelevant comment stories * Removed un-necessary panel component * stop using fragment, move trash icon * Add a basic story for CompanyShow * Add a basic People show view * Fix storybook tests * Add very basic Person story * Refactor PR1 * Refactor part 2 * Refactor part 3 * Refactor part 4 * Fix tests --------- Co-authored-by: Charles Bochet <charles@twenty.com>
48 lines
1.3 KiB
TypeScript
48 lines
1.3 KiB
TypeScript
import styled from '@emotion/styled';
|
|
import { useRecoilState } from 'recoil';
|
|
|
|
import { Panel } from '../Panel';
|
|
import { RightDrawer } from '../right-drawer/components/RightDrawer';
|
|
import { isRightDrawerOpenState } from '../right-drawer/states/isRightDrawerOpenState';
|
|
|
|
type OwnProps = {
|
|
children: JSX.Element;
|
|
topMargin?: number;
|
|
};
|
|
|
|
const StyledMainContainer = styled.div<{ topMargin: number }>`
|
|
background: ${({ theme }) => theme.background.noisy};
|
|
display: flex;
|
|
|
|
flex-direction: row;
|
|
gap: ${({ theme }) => theme.spacing(2)};
|
|
height: calc(100% - ${(props) => props.topMargin}px);
|
|
|
|
padding-bottom: ${({ theme }) => theme.spacing(3)};
|
|
padding-right: ${({ theme }) => theme.spacing(3)};
|
|
width: calc(100% - ${({ theme }) => theme.spacing(3)});
|
|
`;
|
|
|
|
type LeftContainerProps = {
|
|
isRightDrawerOpen?: boolean;
|
|
};
|
|
|
|
const StyledLeftContainer = styled.div<LeftContainerProps>`
|
|
display: flex;
|
|
position: relative;
|
|
width: 100%;
|
|
`;
|
|
|
|
export function ContentContainer({ children, topMargin }: OwnProps) {
|
|
const [isRightDrawerOpen] = useRecoilState(isRightDrawerOpenState);
|
|
|
|
return (
|
|
<StyledMainContainer topMargin={topMargin ?? 0}>
|
|
<StyledLeftContainer isRightDrawerOpen={isRightDrawerOpen}>
|
|
<Panel>{children}</Panel>
|
|
</StyledLeftContainer>
|
|
<RightDrawer />
|
|
</StyledMainContainer>
|
|
);
|
|
}
|