Skip to content

Commit c1a967c

Browse files
authored
fit: RecruitMeeting 페이지 버튼 컴포넌트 추가 & Result 컴포넌트 코드 수정
1 parent bc760b4 commit c1a967c

File tree

6 files changed

+41
-46
lines changed

6 files changed

+41
-46
lines changed

src/components/UI/Recruit_Button.tsx

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,18 @@ import React from 'react'
33
interface ButtonProps {
44
text: string;
55
className?: string; // 추가적인 Tailwind 스타일 적용 가능
6+
onClick?: () => void; // 클릭 이벤트 핸들러 추가
7+
disabled?: boolean; // 비활성화 여부 추가
68
}
79

810
// 📌 button 컴포넌트
9-
export const Button: React.FC<ButtonProps> = ({ text, className }) => {
11+
export const Button: React.FC<ButtonProps> = ({ text, className, onClick, disabled }) => {
1012
return (
11-
<div className='w-full max-w-[395px] h-[50px] flex justify-center'>
13+
<div className='w-full max-w-[395px] mt-20 mb-20 flex justify-center '>
1214
<button type="submit"
13-
className={`bg-[#00B493] max-w-[395px] h-[22px] text-white font-bold px-4 text-[12px] transition-all hover:bg-[#00937A] active:scale-95 ${className}`}
15+
className={`bg-[#00B493] max-w-[395px] h-[30px] text-white font-pretendardBold px-4 text-[12px] transition-all hover:bg-[#00937A] active:scale-95 ${className}`}
16+
onClick={onClick}
17+
disabled={disabled}
1418
>
1519
{text}
1620
</button>

src/components/UI/Recruit_InfoBanner.tsx

Lines changed: 5 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,15 @@
11
import React from 'react'
22

33
interface Recruit_InfoBannerProps {
4-
message: string;
5-
date: string;
4+
message: string;
65
}
76

87
// 📌 Recruit 공지 컴포넌트
9-
export const Recruit_InfoBanner: React.FC<Recruit_InfoBannerProps> = ({ message, date }) => {
8+
export const Recruit_InfoBanner: React.FC<Recruit_InfoBannerProps> = ({ message }) => {
109
return (
11-
<div className="w-full max-w-[395px] p-2 mt-3 text-white text-center text-[10px] font-bold">
12-
<div className='max-w[355px] bg-[#00B493] p-1'>
13-
<p>{message}</p>
14-
<p>
15-
{date.includes('이메일') ? (
16-
date.split('이메일').map((part, index) => (
17-
index === 0 ? (
18-
<span key={index}>
19-
{part}
20-
<span className="text-red-600 ">이메일</span>
21-
</span>
22-
) : (
23-
<span key={index}>{part}</span>
24-
)
25-
))
26-
) : (
27-
date
28-
)}
29-
</p>
10+
<div className="w-full max-w-[390px] p-2 mt-3 text-white text-center text-[10px] font-pretendardBold">
11+
<div className='max-w-[375px] bg-[#00B493] p-1'>
12+
<p className='whitespace-pre-line'>{message}</p>
3013
</div>
3114
</div>
3215
)

src/pages/Recruit.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ const Recruit: React.FC = () => {
131131
<MobileLayout>
132132
<RecruitHeader title='컴퓨터 소프트웨어 공학과 전공 동아리 다솜 34기 모집 폼' />
133133
<RecruitUI />
134-
<div className='flex flex-col items-center gap-6'>
134+
<div className='flex flex-col items-center'>
135135
<form className='mt-3 bg-mainBlack w-full px-2 font-pretendardRegular' onSubmit={handleSubmit} >
136136
<InputField label='이름' name='name' value={formData.name} onChange={handleInputChange} onKeyDown={handleKeyPress} required />
137137
<InputField label='학번' name='studentNo' value={formData.studentNo} onChange={handleInputChange} required />

src/pages/RecruitMeeting.tsx

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ import MeetingDateSelector from '../components/layout/MeetingDateSelector'
44
import MeetingTimeSelector from '../components/layout/MeetingTimeSelector'
55
import { useNavigate } from 'react-router-dom'
66
import { RecruitHeader, RecruitUI } from '../components/UI/RecruitUI'
7+
import { Button } from '../components/UI/Recruit_Button'
8+
import { Recruit_InfoBanner } from '../components/UI/Recruit_InfoBanner'
79

810
/** 면접 날짜 선택 페이지 */
911
const RecruitMeeting: React.FC = () => {
@@ -37,7 +39,8 @@ const RecruitMeeting: React.FC = () => {
3739
<MobileLayout>
3840
<RecruitHeader title='컴퓨터 소프트웨어 공학과 전공 동아리 다솜 34기 모집 폼' />
3941
<RecruitUI />
40-
<div className='flex flex-col items-center w-full mb-40'>
42+
<div className='flex flex-col items-center w-full'>
43+
4144
<p className='font-pretendardBold text-white text-center bg-mainColor max-w-[90%] w-full mt-6'>
4245
1차 서류에 합격되신 점 다시 한번 축하드리며,
4346
<br />
@@ -49,12 +52,13 @@ const RecruitMeeting: React.FC = () => {
4952
<p className='font-pretendardBold text-white mt-14 mb-4'>시간</p>
5053
<MeetingTimeSelector onSelect={handleTimeSelect} />
5154
</div>
52-
<button
53-
className={`font-pretendardBold text-white text-center mt-20 p-1 w-[140px] h-[40px] ${activebtn ? 'bg-mainColor' : 'bg-subGrey3 opacity-30'}`}
55+
56+
<Button
57+
className={`text-center p-1 ${activebtn ? 'bg-mainColor' : 'bg-subGrey3 opacity-30'}`}
5458
onClick={handleSubmit}
55-
disabled={!activebtn}>
56-
면접일정 예약하기
57-
</button>
59+
disabled={!activebtn}
60+
text='면접일정 예약하기' />
61+
5862
</div>
5963
</MobileLayout>
6064
)

src/pages/RecruitResult.tsx

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,37 @@
1-
import React from 'react'
1+
import React, { useState } from 'react'
22
import MobileLayout from '../components/layout/MobileLayout'
33
import { useNavigate } from 'react-router-dom'
4-
import { Header } from '../components/UI/Header'
54
import { Button } from '../components/UI/Recruit_Button'
65
import { RecruitHeader } from '../components/UI/RecruitUI'
76
import { InputField } from '../components/UI/Recruit_InputField'
87

98
export const RecruitResult: React.FC = () => {
9+
const navigate = useNavigate()
10+
const [checkInput, setCheckInput] = useState('')
1011

11-
const navigate = useNavigate()
12+
const handleInputChange = (e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement>) => {
13+
setCheckInput(e.target.value)
14+
}
1215

1316
const handleSubmit = (e: React.FormEvent) => {
14-
e.preventDefault()
15-
navigate('/recruit-check')
17+
e.preventDefault()
18+
navigate('/recruit-check')
1619
}
20+
1721
return (
1822
<MobileLayout>
19-
<Header />
2023
<RecruitHeader title="컴퓨터 소프트웨어 공학과 전공 동아리 다솜 34기 합격자 조회" />
2124
<form className="mt-4 bg-mainBlack w-full px-2" onSubmit={handleSubmit}>
2225
<InputField
2326
label="학번 마지막 4자리 + 전화번호 마지막 4자리를 입력해주세요."
24-
subLabel='ex) 08470542'
25-
type='test'
26-
required
27+
subLabel="ex) 08470542"
28+
type="text"
29+
name="checkInput"
30+
value={checkInput}
31+
onChange={handleInputChange}
2732
/>
28-
<Button text="결과 확인하기"/>
33+
<Button text="결과 확인하기" />
2934
</form>
3035
</MobileLayout>
3136
)
3237
}
33-
34-

src/pages/RecruitSubmit.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,9 @@ export const RecruitSubmit: React.FC = () => {
1111
<RecruitHeader title="컴퓨터 소프트웨어 공학과 전공 동아리 다솜 34기 모집 폼" />
1212
<RecruitUI />
1313
<Recruit_InfoBanner
14-
message="다솜에 지원해주셔서 감사합니다."
15-
date="서류 합격자 명단은 3월 15일 이메일로 일괄 공지됩니다."
14+
message={`다솜에 지원해주셔서 감사합니다.
15+
서류 합격자 명단은 3월 15일 홈페이지 내에서 확인이 가능하며,
16+
제출하신 이메일로 추후 다시 한번 안내드리겠습니다.`}
1617
/>
1718
</MobileLayout>
1819
)

0 commit comments

Comments
 (0)