diff --git a/src/assets/default.svg b/src/assets/default.svg index e3d5fe45..a090b0f0 100644 --- a/src/assets/default.svg +++ b/src/assets/default.svg @@ -1,7 +1,7 @@ - - + + - + diff --git a/src/components/CrewItem/CrewItem.styles.ts b/src/components/CrewItem/CrewItem.styles.ts new file mode 100644 index 00000000..ca1f381c --- /dev/null +++ b/src/components/CrewItem/CrewItem.styles.ts @@ -0,0 +1,18 @@ +import styled from '@emotion/styled'; + +import { Flex } from '@components/shared/Flex'; +import { Image } from '@components/shared/Image'; + +export const CrewItemWrapper = styled(Flex)` + background-color: white; + padding: 12px; + border-radius: 8px; +`; + +export const CrewProfileImage = styled(Image)` + border-radius: 8px; +`; + +export const CrewDescription = styled(Flex)` + flex-grow: 1; +`; diff --git a/src/components/CrewItem/CrewItem.tsx b/src/components/CrewItem/CrewItem.tsx new file mode 100644 index 00000000..abc5437a --- /dev/null +++ b/src/components/CrewItem/CrewItem.tsx @@ -0,0 +1,58 @@ +import { Avatar } from '@components/Avatar'; +import { AvatarGroup } from '@components/AvatarGroup'; +import { Flex } from '@components/shared/Flex'; +import { Text } from '@components/shared/Text'; + +import { theme } from '@styles/theme'; + +import { + CrewDescription, + CrewItemWrapper, + CrewProfileImage, +} from './CrewItem.styles'; + +type CrewItemProps = { + name: string; + address: string; + imgSrc: string; + membersProfileImageUrls: string[]; + memberCount: number; + maxMemberCount: number; + onClick: VoidFunction; +}; + +export const CrewItem = ({ + name, + address, + imgSrc, + membersProfileImageUrls, + memberCount, + maxMemberCount, + onClick, +}: CrewItemProps) => { + return ( + + + + + {name} + + + {address} + + + + {membersProfileImageUrls.slice(0, 6).map((url, index) => ( + + ))} + + {`${memberCount}/${maxMemberCount}`} + + + + ); +}; diff --git a/src/components/CrewItem/index.ts b/src/components/CrewItem/index.ts new file mode 100644 index 00000000..e79a73d8 --- /dev/null +++ b/src/components/CrewItem/index.ts @@ -0,0 +1 @@ +export * from './CrewItem';