* refactor: ♻️ refactor isHosted && type clean up Change-Id: I4dfbad8a07607432801de78920ce42bf81e46498 * refactor: ♻️ code clean up Change-Id: I8f487a33d332a2acaff84397a97371b56ace28a1 * feat: 💄 lint Change-Id: I776b1a5e249bdb542f8e6da7cb2277821cf91094 * feat: ✨ ci type Change-Id: I486dde7bf60321238e9a394c40ad8cdb8bfc54c8 * feat: some code sugession Change-Id: I4761d057344b95a98e99068d312a42292977875b
50 lines
937 B
TypeScript
50 lines
937 B
TypeScript
import React from "react";
|
|
import styled from "styled-components";
|
|
import Flex from "./Flex";
|
|
import Text from "./Text";
|
|
|
|
type Props = {
|
|
icon?: JSX.Element;
|
|
description?: JSX.Element;
|
|
};
|
|
|
|
const Notice: React.FC<Props> = ({ children, icon, description }) => {
|
|
return (
|
|
<Container>
|
|
<Flex as="span" gap={8}>
|
|
{icon}
|
|
<span>
|
|
<Title>{children}</Title>
|
|
{description && (
|
|
<>
|
|
<br />
|
|
{description}
|
|
</>
|
|
)}
|
|
</span>
|
|
</Flex>
|
|
</Container>
|
|
);
|
|
};
|
|
|
|
const Title = styled.span`
|
|
font-weight: 500;
|
|
font-size: 16px;
|
|
`;
|
|
|
|
const Container = styled(Text)`
|
|
background: ${(props) => props.theme.sidebarBackground};
|
|
color: ${(props) => props.theme.sidebarText};
|
|
padding: 10px 12px;
|
|
border-radius: 4px;
|
|
position: relative;
|
|
font-size: 14px;
|
|
margin: 1em 0 0;
|
|
|
|
svg {
|
|
flex-shrink: 0;
|
|
}
|
|
`;
|
|
|
|
export default Notice;
|