Files
twenty_crm/packages/twenty-front/src/modules/settings/integrations/components/SettingsIntegrationPreview.tsx
gitstart-app[bot] 1dfeba39eb Migrate to twenty-ui - layout/card (#8003)
This PR was created by [GitStart](https://gitstart.com/) to address the
requirements from this ticket:
[TWNTY-7532](https://clients.gitstart.com/twenty/5449/tickets/TWNTY-7532).

 --- 

### Description

Migrate:

- Card
- CardContent
- CardFooter
- CardHeader

### Demo

Card in Storybook


![](https://assets-service.gitstart.com/4814/d6759b99-7d5f-4177-acdf-1c57786330a3.png)

###### Fixes twentyhq/private-issues#86

---------

Co-authored-by: gitstart-twenty <gitstart-twenty@users.noreply.github.com>
Co-authored-by: Charles Bochet <charles@twenty.com>
2024-10-24 16:36:06 +02:00

77 lines
2.1 KiB
TypeScript

import styled from '@emotion/styled';
import { Card, CardContent } from 'twenty-ui';
import PreviewBackgroundImage from '../assets/preview-background.svg';
import SyncImage from '../assets/sync.svg?react';
type SettingsIntegrationPreviewProps = {
integrationLogoUrl: string;
};
const StyledCard = styled(Card)`
border: 0;
`;
const StyledCardContent = styled(CardContent)`
background-image: url(${PreviewBackgroundImage});
align-items: center;
display: flex;
flex-direction: column;
justify-content: center;
gap: ${({ theme }) => theme.spacing(1)};
height: ${({ theme }) => theme.spacing(28)};
`;
const StyledLogosContainer = styled.div`
align-items: center;
display: flex;
justify-content: center;
gap: ${({ theme }) => theme.spacing(4)};
`;
const StyledIntegrationLogoContainer = styled.div`
align-items: center;
display: flex;
height: ${({ theme }) => theme.spacing(16)};
justify-content: center;
width: ${({ theme }) => theme.spacing(16)};
`;
const StyledIntegrationLogo = styled.img`
height: 100%;
`;
const StyledTwentyLogo = styled.img`
height: ${({ theme }) => theme.spacing(12)};
padding: ${({ theme }) => theme.spacing(2)};
`;
const StyledSyncImage = styled(SyncImage)`
width: ${({ theme }) => theme.spacing(31)};
`;
const StyledLabel = styled.div`
color: ${({ theme }) => theme.font.color.tertiary};
font-size: ${({ theme }) => theme.font.size.sm};
font-weight: ${({ theme }) => theme.font.weight.medium};
line-height: ${({ theme }) => theme.spacing(6)};
`;
export const SettingsIntegrationPreview = ({
integrationLogoUrl,
}: SettingsIntegrationPreviewProps) => (
<StyledCard>
<StyledCardContent>
<StyledLogosContainer>
<StyledIntegrationLogoContainer>
<StyledIntegrationLogo alt="" src={integrationLogoUrl} />
</StyledIntegrationLogoContainer>
<StyledSyncImage />
<StyledTwentyLogo alt="" src="/images/integrations/twenty-logo.svg" />
</StyledLogosContainer>
<StyledLabel>Import your tables as remote objects</StyledLabel>
</StyledCardContent>
</StyledCard>
);