Skip to content

Commit

Permalink
Merge branch 'Weekly' into feat/#17
Browse files Browse the repository at this point in the history
  • Loading branch information
kang-kibong authored Oct 4, 2024
2 parents 240397a + 6d8abcf commit 42cb1fb
Show file tree
Hide file tree
Showing 14 changed files with 649 additions and 79 deletions.
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

117 changes: 43 additions & 74 deletions src/features/layout/Header/index.tsx
Original file line number Diff line number Diff line change
@@ -1,35 +1,49 @@
import styled from '@emotion/styled';
import LogoImg from '@/assets/images/hirehigher-logo.svg';
import LogoImg from '@assets/images/hirehigher-logo.svg?react';
import Button from '@components/common/Button';
import { Flex } from '@/components/common';
import { css } from '@emotion/react';

const Header = () => {
export default function Header() {
return (
<HeaderContainer>
<Logo src={LogoImg} alt="Hire Higher" />
<Nav>
<Dropdown>
<option value="none">์–ธ์–ด</option>
<option value="kr">ํ•œ๊ตญ์–ด</option>
</Dropdown>
<OutlinedButton>์ฑ„์šฉ๊ณต๊ณ  ๋“ฑ๋ก</OutlinedButton>
<TextButton>๋‹‰๋„ค์ž„</TextButton>
<PrimaryButton>๋กœ๊ทธ์•„์›ƒ</PrimaryButton>
</Nav>
<StyledFlex>
<LogoImg />
<Nav>
<Dropdown>
<option value="none">์–ธ์–ด</option>
<option value="kr">ํ•œ๊ตญ์–ด</option>
</Dropdown>
<Button theme="outlined" css={[commonButtonStyles]}>
์ฑ„์šฉ๊ณต๊ณ  ๋“ฑ๋ก
</Button>
<Button theme="textbutton" css={[commonButtonStyles]}>
๋‹‰๋„ค์ž„
</Button>
<Button
css={[
commonButtonStyles,
css`
background-color: #0a65cc;
color: #fff;
`,
]}
>
๋กœ๊ทธ์•„์›ƒ
</Button>
</Nav>
</StyledFlex>
</HeaderContainer>
);
};
}

const HeaderContainer = styled.header`
display: flex;
justify-content: space-between;
justify-content: center;
align-items: center;
padding: 0 20px;
background-color: #fff;
height: 88px;
@media (max-width: 1200px) {
padding: 0 15px;
}
@media (max-width: 768px) {
flex-direction: column;
height: auto;
Expand All @@ -42,16 +56,14 @@ const HeaderContainer = styled.header`
}
`;

const Logo = styled.img`
height: 70px;
width: auto;
const StyledFlex = styled(Flex)`
justify-content: space-between;
align-items: center;
width: 100%;
max-width: 1300px;
@media (max-width: 768px) {
height: 60px;
}
@media (max-width: 480px) {
height: 50px;
flex-direction: column;
}
`;

Expand All @@ -73,59 +85,16 @@ const Nav = styled.nav`
}
`;

const ButtonStyle = styled.button`
padding: 10px 20px;
width: 100%;
background-color: #fff;
color: #0a65cc;
border: 1px solid #cee0f5;
border-radius: 3px;
cursor: pointer;
text-align: center;
white-space: nowrap;
font-size: 16px;
@media (max-width: 768px) {
font-size: 15px;
}
@media (max-width: 480px) {
padding: 8px 10px;
font-size: 14px;
}
`;

const PrimaryButton = styled(ButtonStyle)`
background-color: #0a65cc;
color: #fff;
border: none;
`;

const OutlinedButton = styled(ButtonStyle)``;

const TextButton = styled(ButtonStyle)`
background-color: none;
border: none;
`;

const Dropdown = styled.select`
padding: 10px 20px;
width: 100%;
color: #0a65cc;
cursor: pointer;
text-align: center;
font-size: 16px;
border: none;
@media (max-width: 768px) {
padding: 8px 10px;
font-size: 15px;
}
@media (max-width: 480px) {
margin-top: 10px;
font-size: 14px;
}
`;

export default Header;
const commonButtonStyles = css`
white-space: nowrap;
border-radius: 4px;
`;
82 changes: 82 additions & 0 deletions src/pages/employer/postNotice/index.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
import { Button, Flex, Input, Typo } from '@/components/common';
import Footer from '@/features/layout/footer';
import Header from '@/features/layout/Header';
import styled from '@emotion/styled';

export const PostNotice = () => {
return (
<>
<Header />
<section>
<Flex direction="column" alignItems="center">
<LineWrapper>
<Flex direction="column" justifyContent="space-between" alignItems="center" style={{ width: '100%' }}>
<Typo element="h1" size="20px" style={{ marginBottom: '24px' }}>
๊ตฌ์ธ ๊ธ€ ์—…๋กœ๋“œ
</Typo>
<InputContainer>
<Typo element="p" size="16px" style={{ fontWeight: 'bold' }}>
๊ธ‰์—ฌ
</Typo>
<Input style={{ width: '700px', height: '48px', marginTop: '12px' }}></Input>
</InputContainer>
<InputContainer>
<Typo element="p" size="16px" style={{ fontWeight: 'bold' }}>
๊ทผ๋ฌด๊ธฐ๊ฐ„
</Typo>
<Input style={{ width: '700px', height: '48px', marginTop: '12px' }}></Input>
</InputContainer>
<InputContainer>
<Typo element="p" size="16px" style={{ fontWeight: 'bold' }}>
๊ทผ๋ฌด์š”์ผ
</Typo>
<Input style={{ width: '700px', height: '48px', marginTop: '12px' }}></Input>
</InputContainer>
<InputContainer>
<Typo element="p" size="16px" style={{ fontWeight: 'bold' }}>
๊ทผ๋ฌด์‹œ๊ฐ„
</Typo>
<Input style={{ width: '700px', height: '48px', marginTop: '12px' }}></Input>
</InputContainer>
<InputContainer>
<Typo element="p" size="16px" style={{ fontWeight: 'bold' }}>
๊ณ ์šฉํ˜•ํƒœ
</Typo>
<Input style={{ width: '700px', height: '48px', marginTop: '12px' }}></Input>
</InputContainer>
<InputContainer>
<Typo element="p" size="16px" style={{ fontWeight: 'bold' }}>
๋น„์ž์กฐ๊ฑด
</Typo>
<Input style={{ width: '700px', height: '48px', marginTop: '12px' }}></Input>
</InputContainer>
<InputContainer>
<Typo element="p" size="16px" style={{ fontWeight: 'bold' }}>
์šฐ๋Œ€์‚ฌํ•ญ
</Typo>
<Input style={{ width: '700px', height: '48px', marginTop: '12px' }}></Input>
</InputContainer>
<Button theme="default" style={{ marginTop: '52px' }}>
๋“ฑ๋กํ•˜๊ธฐ
</Button>
</Flex>
</LineWrapper>
</Flex>
</section>
<Footer />
</>
);
};

const LineWrapper = styled.div`
border: 1px solid #e9e9e9;
border-radius: 3px;
padding: 100px 200px;
margin: 52px 0;
`;

const InputContainer = styled.div`
width: 700px;
align-items: start;
margin-top: 32px;
`;
122 changes: 122 additions & 0 deletions src/pages/recruit/RecruitCard.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
import { Button } from '@/components/common';
import instagram from '@assets/styles/images/features/layout/footer/instagram_Icon.svg';
import cat from './cat.jpg';
import styled from '@emotion/styled';
import { RecruitCardProps } from './index';

const initialData = {
title: '๊น€๋ฐฅ์ฒœ๊ตญ ์ฑ„์šฉ (1๋…„ ๊ณ„์•ฝ์ง)',
companySize: '๋Œ€๊ธฐ์—…',
area: '๋Œ€๊ตฌ ๋‹ฌ์„œ๊ตฌ',
requestedCareer: '๊ฒฝ๋ ฅ 1~2๋…„',
};

export default function RecruitCard({
title = initialData.title,
companySize = initialData.companySize,
area = initialData.area,
requestedCareer = initialData.requestedCareer,
companyImage = cat,
}: RecruitCardProps) {
return (
<RecruitContainer>
<CompanyImg alt="a" src={companyImage} />
<Info_Div>
<Info_p>
<p>{title}</p>
<p>{`${companySize} | ${area} | ${requestedCareer}`}</p>
</Info_p>
<Info_Btn>
<CustomBtn background="#0a65cc">์ง€์›ํ•˜๊ธฐ</CustomBtn>
<CustomBtn color="0a65cc" width="10px">
<img src={instagram} />
</CustomBtn>
</Info_Btn>
</Info_Div>
</RecruitContainer>
);
}

const RecruitContainer = styled.div`
margin: 100px 0 0;
width: 100%;
max-width: 680px;
display: flex;
flex-direction: column;
@media (max-width: 768px) {
max-width: 380px;
}
@media (max-width: 480px) {
max-width: 280px;
}
`;

const CompanyImg = styled.img<React.ImgHTMLAttributes<HTMLImageElement>>`
width: 100%;
height: 380px;
border-radius: 20px;
object-fit: cover;
@media (max-width: 768px) {
height: 300px;
}
@media (max-width: 480px) {
height: 220px;
}
`;

const Info_Div = styled.div`
display: flex;
flex-direction: column;
gap: 30px;
@media (max-width: 768px) {
gap: 5px;
}
`;
const Info_p = styled.div`
margin-top: 30px;
display: flex;
flex-direction: column;
gap: 18px;
p:nth-of-type(1) {
font-size: 24px;
}
p:nth-of-type(2) {
font-size: 18px;
opacity: 0.8;
}
@media (max-width: 768px) {
p:nth-of-type(1) {
font-size: 20px;
}
p:nth-of-type(2) {
font-size: 14px;
}
}
`;
const Info_Btn = styled.div`
margin-top: 30px;
width: 100%;
display: flex;
gap: 10px;
`;

const CustomBtn = styled(Button)<{ background?: string; color?: string; width?: string }>`
background: ${(props) => props.background || ''};
color: ${(props) => props.color || 'white'};
width: ${(props) => props.width || '190px'};
height: 56px;
border-radius: 4px;
display: flex;
&:hover {
opacity: 0.8;
}
@media (max-width: 768px) {
width: ${(props) => props.width || '160px'};
}
`;
Loading

0 comments on commit 42cb1fb

Please sign in to comment.