# Introduction closes https://github.com/twentyhq/core-team-issues/issues/591 Same than for `twenty-shared` made in https://github.com/twentyhq/twenty/pull/11083. ## TODO - [x] Manual migrate twenty-website twenty-ui imports ## What's next: - Generate barrel and migration script factorization within own package + tests - Refactoring using preconstruct ? TimeBox - Lint circular dependencies - Lint import from barrel and forbid them ### Preconstruct We need custom rollup plugins addition, but preconstruct does not expose its rollup configuration. It might be possible to handle this using the babel overrides. But was a big tunnel. We could give it a try afterwards ! ( allowing cjs interop and stuff like that ) Stuck to vite lib app Closed related PRs: - https://github.com/twentyhq/twenty/pull/11294 - https://github.com/twentyhq/twenty/pull/11203
25 lines
647 B
TypeScript
25 lines
647 B
TypeScript
import * as React from 'react';
|
|
|
|
import { RoundedLink } from '@ui/navigation/link/components/RoundedLink';
|
|
import { getDisplayValueByUrlType } from '@ui/utilities';
|
|
|
|
export enum LinkType {
|
|
Url = 'url',
|
|
LinkedIn = 'linkedin',
|
|
Twitter = 'twitter',
|
|
}
|
|
|
|
type SocialLinkProps = {
|
|
label: string;
|
|
href: string;
|
|
type: LinkType;
|
|
onClick?: (event: React.MouseEvent<HTMLElement>) => void;
|
|
};
|
|
|
|
export const SocialLink = ({ label, href, onClick, type }: SocialLinkProps) => {
|
|
const displayValue =
|
|
getDisplayValueByUrlType({ type: type, href: href }) ?? label;
|
|
|
|
return <RoundedLink href={href} onClick={onClick} label={displayValue} />;
|
|
};
|