-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #60 from Principes-Artis-Mechanicae/feature/GETP-181
GETP-181 feature: 프로젝트 지원 페이지 퍼블리싱
- Loading branch information
Showing
20 changed files
with
488 additions
and
7 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
11 changes: 11 additions & 0 deletions
11
src/components/project/ProjectRequestSection/PostProjectRequestSection.style.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
import styled from "@emotion/styled"; | ||
|
||
export const PostProjectRequestContianer = styled.div` | ||
width: 100%; | ||
margin: 20px 0px; | ||
& > p { | ||
margin: 5px 0px; | ||
} | ||
`; |
56 changes: 56 additions & 0 deletions
56
src/components/project/ProjectRequestSection/PostProjectRequestSection.tsx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
import { useDispatch } from "react-redux"; | ||
|
||
import { Button, DropDown, DropDownContextProvider, DropDownItem, RadioGroup, RadioItem } from "principes-getp"; | ||
|
||
import { ProjectRequestPageWrapper } from "@/pages/project/ProjectRequestPage.style"; | ||
|
||
import { Paragraph } from "../../__common__/typography/Paragraph"; | ||
import { Title } from "../../__common__/typography/Title"; | ||
import { PostProjectRequestContianer } from "./PostProjectRequestSection.style"; | ||
import { projectAction } from "@/store/slice/project.slice"; | ||
import { RootDispatch } from "@/store/store"; | ||
|
||
export const PostProjectRequestSection = () => { | ||
const dispatch: RootDispatch = useDispatch(); | ||
|
||
return ( | ||
<ProjectRequestPageWrapper> | ||
<Title>프로젝트 의뢰</Title> | ||
|
||
<PostProjectRequestContianer> | ||
<Paragraph weight="bold" size="m"> | ||
사전미팅 방식을 선택해주세요 | ||
</Paragraph> | ||
|
||
<RadioGroup width="100%" height="auto"> | ||
<RadioItem name="meeting-type">온라인 미팅</RadioItem> | ||
<RadioItem name="meeting-type">오프라인 미팅</RadioItem> | ||
</RadioGroup> | ||
</PostProjectRequestContianer> | ||
|
||
<PostProjectRequestContianer> | ||
<Paragraph weight="bold" size="m"> | ||
프로젝트 카테고리를 선택해주세요 | ||
</Paragraph> | ||
|
||
<DropDownContextProvider> | ||
<DropDown | ||
width="100%" | ||
height="54px" | ||
itemContainerHeight="200px" | ||
placeholder="카테고리를 선택해주세요" | ||
> | ||
<DropDownItem index={1} value={"프론트엔드 개발"} /> | ||
<DropDownItem index={2} value={"백엔드 개발"} /> | ||
<DropDownItem index={3} value={"앱 개발"} /> | ||
<DropDownItem index={4} value={"프로그램 개발"} /> | ||
</DropDown> | ||
</DropDownContextProvider> | ||
</PostProjectRequestContianer> | ||
|
||
<Button variant="primary" width="100%" height="54px" onClick={() => dispatch(projectAction.nextStep())}> | ||
다음으로 | ||
</Button> | ||
</ProjectRequestPageWrapper> | ||
); | ||
}; |
17 changes: 17 additions & 0 deletions
17
src/components/project/ProjectRequestSection/ProjectReqeustCompleteSection.style.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
import styled from "@emotion/styled"; | ||
|
||
export const ProjectRequestCompleteImg = styled.img` | ||
display: block; | ||
width: min(100%, 300px); | ||
margin: 60px auto; | ||
`; | ||
|
||
export const ProjectRequestCompleteContainer = styled.div` | ||
width: 100%; | ||
margin: 20px 0px; | ||
p { | ||
text-align: center; | ||
} | ||
`; |
34 changes: 34 additions & 0 deletions
34
src/components/project/ProjectRequestSection/ProjectRequestCompleteSection.tsx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
import { useNavigate } from "react-router-dom"; | ||
|
||
import { Button } from "principes-getp"; | ||
|
||
import { Paragraph } from "@/components/__common__/typography/Paragraph"; | ||
import { Title } from "@/components/__common__/typography/Title"; | ||
|
||
import { ProjectRequestPageWrapper } from "@/pages/project/ProjectRequestPage.style"; | ||
|
||
import congratsImage from "@/assets/auth/congrats1.png"; | ||
|
||
import { ProjectRequestCompleteContainer, ProjectRequestCompleteImg } from "./ProjectReqeustCompleteSection.style"; | ||
|
||
export const ProjectReqeustCompleteSection = () => { | ||
const navigate = useNavigate(); | ||
|
||
return ( | ||
<ProjectRequestPageWrapper> | ||
<Title>프로젝트 의뢰</Title> | ||
|
||
<ProjectRequestCompleteImg src={congratsImage}></ProjectRequestCompleteImg> | ||
|
||
<ProjectRequestCompleteContainer> | ||
<Paragraph size="l">의뢰자님의 프로젝트가 등록 신청 되었어요!</Paragraph> | ||
</ProjectRequestCompleteContainer> | ||
|
||
<ProjectRequestCompleteContainer> | ||
<Button variant="primary" width="100%" height="54px" onClick={() => navigate("/")}> | ||
메인 페이지로 | ||
</Button> | ||
</ProjectRequestCompleteContainer> | ||
</ProjectRequestPageWrapper> | ||
); | ||
}; |
7 changes: 7 additions & 0 deletions
7
src/components/project/ProjectRequestSection/ProjectRequestContentSection.style.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
import styled from "@emotion/styled"; | ||
|
||
export const ProjectRequestContentContainer = styled.div` | ||
width: 100%; | ||
margin: 20px 0px; | ||
`; |
66 changes: 66 additions & 0 deletions
66
src/components/project/ProjectRequestSection/ProjectRequestContentSection.tsx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
import { useDispatch } from "react-redux"; | ||
|
||
import { Button, Input, Label, TextArea } from "principes-getp"; | ||
|
||
import { Paragraph } from "@/components/__common__/typography/Paragraph"; | ||
import { Title } from "@/components/__common__/typography/Title"; | ||
|
||
import { ProjectRequestPageWrapper } from "@/pages/project/ProjectRequestPage.style"; | ||
|
||
import { ProjectRequestStep } from "../ProjectRequestStep/ProjectRequestStep"; | ||
import { ProjectRequestContentContainer } from "./ProjectRequestContentSection.style"; | ||
import { projectAction } from "@/store/slice/project.slice"; | ||
import { RootDispatch } from "@/store/store"; | ||
|
||
export const ProjectRequestContentSection = () => { | ||
const dispatch: RootDispatch = useDispatch(); | ||
|
||
return ( | ||
<ProjectRequestPageWrapper> | ||
<Title>프로젝트 의뢰</Title> | ||
|
||
<ProjectRequestStep width="100%" total={3} current={1} /> | ||
|
||
<ProjectRequestContentContainer> | ||
<Paragraph size="l">프로젝트 내용을 작성해주세요</Paragraph> | ||
</ProjectRequestContentContainer> | ||
|
||
<ProjectRequestContentContainer> | ||
<Label>프로젝트 제목</Label> | ||
<Input type="text" width="100%" height="54px" placeholder="프로젝트 제목을 입력해주세요"></Input> | ||
</ProjectRequestContentContainer> | ||
|
||
<ProjectRequestContentContainer> | ||
<Label>상세설명</Label> | ||
<TextArea | ||
variant="primary" | ||
width="100%" | ||
height="150px" | ||
placeholder="프로젝트 상세 설명을 입력해주세요. | ||
예시) 프로젝트 기간: 0000-00-00 ~ 0000-00-00 | ||
필요 기술: ~~" | ||
/> | ||
</ProjectRequestContentContainer> | ||
|
||
<ProjectRequestContentContainer> | ||
<Label>첨부파일</Label> | ||
<Button variant="primary" width="100%" height="54px"> | ||
+ 파일 첨부하기 | ||
</Button> | ||
</ProjectRequestContentContainer> | ||
|
||
<ProjectRequestContentContainer> | ||
<Label>프로젝트 보수금</Label> | ||
<Button variant="disabled" width="100%" height="54px"> | ||
2,000,000 만원 | ||
</Button> | ||
</ProjectRequestContentContainer> | ||
|
||
<ProjectRequestContentContainer> | ||
<Button variant="primary" width="100%" height="54px" onClick={() => dispatch(projectAction.nextStep())}> | ||
다음 | ||
</Button> | ||
</ProjectRequestContentContainer> | ||
</ProjectRequestPageWrapper> | ||
); | ||
}; |
7 changes: 7 additions & 0 deletions
7
src/components/project/ProjectRequestSection/ProjectRequestDateSection.style.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
import styled from "@emotion/styled"; | ||
|
||
export const ProjectRequestDateSectionContainer = styled.div` | ||
width: 100%; | ||
margin: 20px 0px; | ||
`; |
53 changes: 53 additions & 0 deletions
53
src/components/project/ProjectRequestSection/ProjectRequestDateSection.tsx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
import { useDispatch } from "react-redux"; | ||
|
||
import { Button, DatePicker, Label } from "principes-getp"; | ||
|
||
import { Paragraph } from "@/components/__common__/typography/Paragraph"; | ||
import { Title } from "@/components/__common__/typography/Title"; | ||
|
||
import { ProjectRequestPageWrapper } from "@/pages/project/ProjectRequestPage.style"; | ||
|
||
import { ProjectRequestStep } from "../ProjectRequestStep/ProjectRequestStep"; | ||
import { ProjectRequestDateSectionContainer } from "./ProjectRequestDateSection.style"; | ||
import { projectAction } from "@/store/slice/project.slice"; | ||
import { RootDispatch } from "@/store/store"; | ||
|
||
export const ProjectRequestDateSection = () => { | ||
const dispatch: RootDispatch = useDispatch(); | ||
|
||
return ( | ||
<ProjectRequestPageWrapper> | ||
<Title>프로젝트 의뢰</Title> | ||
|
||
<ProjectRequestStep width="100%" total={3} current={2} /> | ||
|
||
<Paragraph size="l">마감일자를 선택해주세요</Paragraph> | ||
|
||
<ProjectRequestDateSectionContainer> | ||
<Label>지원자 모집 시작일</Label> | ||
<DatePicker width="100%" height="54px" /> | ||
</ProjectRequestDateSectionContainer> | ||
|
||
<ProjectRequestDateSectionContainer> | ||
<Label>지원자 모집 마감일</Label> | ||
<DatePicker width="100%" height="54px" /> | ||
</ProjectRequestDateSectionContainer> | ||
|
||
<ProjectRequestDateSectionContainer> | ||
<Label>예상 작업 시작일</Label> | ||
<DatePicker width="100%" height="54px" /> | ||
</ProjectRequestDateSectionContainer> | ||
|
||
<ProjectRequestDateSectionContainer> | ||
<Label>예상 작업 마감일</Label> | ||
<DatePicker width="100%" height="54px" /> | ||
</ProjectRequestDateSectionContainer> | ||
|
||
<ProjectRequestDateSectionContainer> | ||
<Button variant="primary" width="100%" height="54px" onClick={() => dispatch(projectAction.nextStep())}> | ||
다음 | ||
</Button> | ||
</ProjectRequestDateSectionContainer> | ||
</ProjectRequestPageWrapper> | ||
); | ||
}; |
7 changes: 7 additions & 0 deletions
7
src/components/project/ProjectRequestSection/ProjectRequestTagSection.style.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
import styled from "@emotion/styled"; | ||
|
||
export const ProjectRequestTagSectionContainer = styled.div` | ||
width: 100%; | ||
margin: 20px 0px; | ||
`; |
45 changes: 45 additions & 0 deletions
45
src/components/project/ProjectRequestSection/ProjectRequestTagSection.tsx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
import { useDispatch } from "react-redux"; | ||
|
||
import { Button, Input, Label } from "principes-getp"; | ||
|
||
import { Paragraph } from "@/components/__common__/typography/Paragraph"; | ||
import { Title } from "@/components/__common__/typography/Title"; | ||
|
||
import { ProjectRequestPageWrapper } from "@/pages/project/ProjectRequestPage.style"; | ||
|
||
import { ProjectRequestStep } from "../ProjectRequestStep/ProjectRequestStep"; | ||
import { ProjectRequestTagSectionContainer } from "./ProjectRequestTagSection.style"; | ||
import { projectAction } from "@/store/slice/project.slice"; | ||
import { RootDispatch } from "@/store/store"; | ||
|
||
export const ProjectRequestTagSection = () => { | ||
const dispatch: RootDispatch = useDispatch(); | ||
|
||
return ( | ||
<ProjectRequestPageWrapper> | ||
<Title>프로젝트 의뢰</Title> | ||
|
||
<ProjectRequestStep width="100%" total={3} current={3} /> | ||
|
||
<Paragraph size="l">프로젝트 태그를 추가해주세요 (최대 8개)</Paragraph> | ||
<Paragraph size="s">유사한 프로젝트 경험자가 검색하는데 도움이 되어요!</Paragraph> | ||
|
||
<ProjectRequestTagSectionContainer> | ||
<Label>태그</Label> | ||
<Input type="text" width="100%" height="54px" placeholder="태그를 입력해주세요"></Input> | ||
</ProjectRequestTagSectionContainer> | ||
|
||
<ProjectRequestTagSectionContainer> | ||
<Button variant="outline" width="100%" height="54px"> | ||
+ 추가 | ||
</Button> | ||
</ProjectRequestTagSectionContainer> | ||
|
||
<ProjectRequestTagSectionContainer> | ||
<Button variant="primary" width="100%" height="54px" onClick={() => dispatch(projectAction.nextStep())}> | ||
등록 신청하기 | ||
</Button> | ||
</ProjectRequestTagSectionContainer> | ||
</ProjectRequestPageWrapper> | ||
); | ||
}; |
Oops, something went wrong.