From 9020c86b524a4c61c2efa400eba0439ae1b4dc09 Mon Sep 17 00:00:00 2001 From: kangkibong Date: Mon, 4 Nov 2024 19:34:11 +0900 Subject: [PATCH] Develop branch merge to Master branch (#98) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 9주차 산출물 (#91) * Update README.md * Refactor/#47 6주차 코드리뷰 리팩토링 (#48) * refactor: separate style and prop-related constants * refactor: remove lambda function * refactor: restructure SignUp and RecruitmentHeader components * feat: separate Button and Text component of SignIn * feat: add SignUpText component * refactor: remove auth page's barrel file * Feat/#42, #43 지원자 목록 페이지 및 팝업 구현 (#51) * feat: 지원자 목록 페이지 구현 * feat: 지원자 목록 페이지 스토리북 생성 * refactor: ApplicantList 테이블 컴포넌트 분리 * feat: Applicants path 설정 * feat: 지원자 목록 페이지에 계약 관련 팝업 추가 * fix: 이미지 경로 수정 및 불필요한 태그 제거 * refactor: MyAccount 페이지 구조 변경 및 CompanyRecruitments로 파일명 변경 - 기존 MyAccount 페이지를 CompanyRecruitments로 이름 변경 - 새로운 MyAccount 페이지 구현을 위해 기존 페이지의 역할 변경 * refactor: visaRegistration 관련 파일 구조 변경 - visaRegistration 페이지를 src/pages/employee에서 src/pages로 이동 - 관련 기능을 src/features/employee/visaRegistration에서 src/features/visaRegistration으로 이동 * feat: Table 컴포넌트 구현 * feat: 변경된 고용주 마이페이지 구현 * refactor: 회사 관련 공통 기능을 features/companies로 이동 및 CompanyInfo 수정 * refactor: CompanyRecruitments 페이지 이름을 MyCompany로 변경 * feat: EmployerMyAccount path 설정 * refactor: 불필요한 코드 삭제 및 폴더명 일관성 있게 변경 * Feat/#50 Select 컴포넌트 구현 (#53) * feat: add Select component * feat: add useGlobalSelect and useSelect * refactor: move directory * refactor: EmployerMyAccount 페이지에서 mock 데이터 분리 및 코드 정리 * refactor: visaRegistration 및 applicants 페이지의 mock, style 파일 분리 * refactor: RecruitmentList 컴포넌트 리팩토링 및 RecruitmentsTable 분리 * refactor: CompanyInfo 반응형 디자인 수정 * refactor: 외국인 번호 및 비자 발급 일자 등록 페이지 스타일 수정 * refactor: Header 컴포넌트의 닉네임 버튼을 사용자 프로필 이미지로 변경 * Refactor/#54 Modal 컴포넌트 재설계 (#55) * chore: add loadable component package * feat: implement modal management system with context and dynamic loading * refactor: 코드 리뷰 반영 - formValid를 useMemo로 관리 - validateForeignerNumber 함수를 별도 파일로 분리 * Feat/#56 메인 페이지 API 연동 (#57) * chore: setting mockServiceWorker * feat: add useFetchRecruitments hooks and recruitmentsMockHandler * feat: add useFetchSlides hooks and slidesMockHandler * feat: add Spinner component * feat: add AsyncBoundary component * chore: add msw-storybook-addon * Feat/#58 OAuth 구글 로그인 구현 (#59) * feat: add useGoogleOAuth hook * feat: add Loading page * chore: add MemoryRouter to decorators * Feat/#60 가입자 정보 선택 API 연동 (#61) * feat: add useRegister hook * fix: change role prop value * style: Button 컴포넌트 Props 이름변경 theme->design * feat: 근로자마이페이지 아이콘 설정 * feat: 근로자 마이페이지 구현 * feat: 근로자마이페이지 라우터 설정 * style: Button props 이름 변경 * feat: msw 세팅 및 API path 작성 * feat: 구인글 등록 API 연결 및 msw 세팅 * fix: 구인글 업로드 mock 핸들러 수정 * feat: 근로자 마이페이지 mock 핸들러 추가 * feat: 근로자 마이페이지 API 연결 및 msw 설정 * feat: 이력서 페이지 구현 (#63) - react-hook-form 을 사용했습니다. - api 명세서에 맞게 이름,주소,번호,경력,자기소개,한국어실력을 필수값으로 받게 했습니다. Co-authored-by: kangkibong * fix: change button prop * feat: add GitHub Actions workflow for linting and type checking * Feat/#74 사인 등록 페이지 구현 (#75) * 7, 8주차 산출물 (#70) * Update README.md * Refactor/#47 6주차 코드리뷰 리팩토링 (#48) * refactor: separate style and prop-related constants * refactor: remove lambda function * refactor: restructure SignUp and RecruitmentHeader components * feat: separate Button and Text component of SignIn * feat: add SignUpText component * refactor: remove auth page's barrel file * Feat/#42, #43 지원자 목록 페이지 및 팝업 구현 (#51) * feat: 지원자 목록 페이지 구현 * feat: 지원자 목록 페이지 스토리북 생성 * refactor: ApplicantList 테이블 컴포넌트 분리 * feat: Applicants path 설정 * feat: 지원자 목록 페이지에 계약 관련 팝업 추가 * fix: 이미지 경로 수정 및 불필요한 태그 제거 * refactor: MyAccount 페이지 구조 변경 및 CompanyRecruitments로 파일명 변경 - 기존 MyAccount 페이지를 CompanyRecruitments로 이름 변경 - 새로운 MyAccount 페이지 구현을 위해 기존 페이지의 역할 변경 * refactor: visaRegistration 관련 파일 구조 변경 - visaRegistration 페이지를 src/pages/employee에서 src/pages로 이동 - 관련 기능을 src/features/employee/visaRegistration에서 src/features/visaRegistration으로 이동 * feat: Table 컴포넌트 구현 * feat: 변경된 고용주 마이페이지 구현 * refactor: 회사 관련 공통 기능을 features/companies로 이동 및 CompanyInfo 수정 * refactor: CompanyRecruitments 페이지 이름을 MyCompany로 변경 * feat: EmployerMyAccount path 설정 * refactor: 불필요한 코드 삭제 및 폴더명 일관성 있게 변경 * Feat/#50 Select 컴포넌트 구현 (#53) * feat: add Select component * feat: add useGlobalSelect and useSelect * refactor: move directory * refactor: EmployerMyAccount 페이지에서 mock 데이터 분리 및 코드 정리 * refactor: visaRegistration 및 applicants 페이지의 mock, style 파일 분리 * refactor: RecruitmentList 컴포넌트 리팩토링 및 RecruitmentsTable 분리 * refactor: CompanyInfo 반응형 디자인 수정 * refactor: 외국인 번호 및 비자 발급 일자 등록 페이지 스타일 수정 * refactor: Header 컴포넌트의 닉네임 버튼을 사용자 프로필 이미지로 변경 * Refactor/#54 Modal 컴포넌트 재설계 (#55) * chore: add loadable component package * feat: implement modal management system with context and dynamic loading * refactor: 코드 리뷰 반영 - formValid를 useMemo로 관리 - validateForeignerNumber 함수를 별도 파일로 분리 * Feat/#56 메인 페이지 API 연동 (#57) * chore: setting mockServiceWorker * feat: add useFetchRecruitments hooks and recruitmentsMockHandler * feat: add useFetchSlides hooks and slidesMockHandler * feat: add Spinner component * feat: add AsyncBoundary component * chore: add msw-storybook-addon * Feat/#58 OAuth 구글 로그인 구현 (#59) * feat: add useGoogleOAuth hook * feat: add Loading page * chore: add MemoryRouter to decorators * Feat/#60 가입자 정보 선택 API 연동 (#61) * feat: add useRegister hook * fix: change role prop value * style: Button 컴포넌트 Props 이름변경 theme->design * feat: 근로자마이페이지 아이콘 설정 * feat: 근로자 마이페이지 구현 * feat: 근로자마이페이지 라우터 설정 * style: Button props 이름 변경 * feat: msw 세팅 및 API path 작성 * feat: 구인글 등록 API 연결 및 msw 세팅 * fix: 구인글 업로드 mock 핸들러 수정 * feat: 근로자 마이페이지 mock 핸들러 추가 * feat: 근로자 마이페이지 API 연결 및 msw 설정 * feat: 이력서 페이지 구현 (#63) - react-hook-form 을 사용했습니다. - api 명세서에 맞게 이름,주소,번호,경력,자기소개,한국어실력을 필수값으로 받게 했습니다. Co-authored-by: kangkibong * fix: change button prop * feat: add GitHub Actions workflow for linting and type checking --------- Co-authored-by: yimsebin Co-authored-by: Kim Jian <81233665+KimJi-An@users.noreply.github.com> Co-authored-by: KimJi-An Co-authored-by: LEE YONGJIN <129606040+tteokbokki-master@users.noreply.github.com> * docs: update README.md * docs: update README.md * docs: update README.md * chore: react-signature-canvas 설치 * feat: 사인 등록 페이지 구현 - 사인을 이미지를 파일로 만든 후 서버로 전송합니다. - 요청 로직도 같이 구현했습니다. - 요청 완료 후 리다이렉트는 로그인 이후 구현 * feat: 사인 등록 페이지 api 연동(msw) --------- Co-authored-by: kangkibong Co-authored-by: yimsebin Co-authored-by: Kim Jian <81233665+KimJi-An@users.noreply.github.com> Co-authored-by: KimJi-An * Feat/#77 회사 등록 페이지 구현 (#78) * "refactor: default function 컴포넌트로 변경" * feat: 회사 등록 페이지 구현 * feat: 회사 등록 페이지 라우터 설정 * style: 회사 이미지 업로드기능 구현 * Feat/#76 지원서 페이지 API 연동(msw) (#79) * 7, 8주차 산출물 (#70) * Update README.md * Refactor/#47 6주차 코드리뷰 리팩토링 (#48) * refactor: separate style and prop-related constants * refactor: remove lambda function * refactor: restructure SignUp and RecruitmentHeader components * feat: separate Button and Text component of SignIn * feat: add SignUpText component * refactor: remove auth page's barrel file * Feat/#42, #43 지원자 목록 페이지 및 팝업 구현 (#51) * feat: 지원자 목록 페이지 구현 * feat: 지원자 목록 페이지 스토리북 생성 * refactor: ApplicantList 테이블 컴포넌트 분리 * feat: Applicants path 설정 * feat: 지원자 목록 페이지에 계약 관련 팝업 추가 * fix: 이미지 경로 수정 및 불필요한 태그 제거 * refactor: MyAccount 페이지 구조 변경 및 CompanyRecruitments로 파일명 변경 - 기존 MyAccount 페이지를 CompanyRecruitments로 이름 변경 - 새로운 MyAccount 페이지 구현을 위해 기존 페이지의 역할 변경 * refactor: visaRegistration 관련 파일 구조 변경 - visaRegistration 페이지를 src/pages/employee에서 src/pages로 이동 - 관련 기능을 src/features/employee/visaRegistration에서 src/features/visaRegistration으로 이동 * feat: Table 컴포넌트 구현 * feat: 변경된 고용주 마이페이지 구현 * refactor: 회사 관련 공통 기능을 features/companies로 이동 및 CompanyInfo 수정 * refactor: CompanyRecruitments 페이지 이름을 MyCompany로 변경 * feat: EmployerMyAccount path 설정 * refactor: 불필요한 코드 삭제 및 폴더명 일관성 있게 변경 * Feat/#50 Select 컴포넌트 구현 (#53) * feat: add Select component * feat: add useGlobalSelect and useSelect * refactor: move directory * refactor: EmployerMyAccount 페이지에서 mock 데이터 분리 및 코드 정리 * refactor: visaRegistration 및 applicants 페이지의 mock, style 파일 분리 * refactor: RecruitmentList 컴포넌트 리팩토링 및 RecruitmentsTable 분리 * refactor: CompanyInfo 반응형 디자인 수정 * refactor: 외국인 번호 및 비자 발급 일자 등록 페이지 스타일 수정 * refactor: Header 컴포넌트의 닉네임 버튼을 사용자 프로필 이미지로 변경 * Refactor/#54 Modal 컴포넌트 재설계 (#55) * chore: add loadable component package * feat: implement modal management system with context and dynamic loading * refactor: 코드 리뷰 반영 - formValid를 useMemo로 관리 - validateForeignerNumber 함수를 별도 파일로 분리 * Feat/#56 메인 페이지 API 연동 (#57) * chore: setting mockServiceWorker * feat: add useFetchRecruitments hooks and recruitmentsMockHandler * feat: add useFetchSlides hooks and slidesMockHandler * feat: add Spinner component * feat: add AsyncBoundary component * chore: add msw-storybook-addon * Feat/#58 OAuth 구글 로그인 구현 (#59) * feat: add useGoogleOAuth hook * feat: add Loading page * chore: add MemoryRouter to decorators * Feat/#60 가입자 정보 선택 API 연동 (#61) * feat: add useRegister hook * fix: change role prop value * style: Button 컴포넌트 Props 이름변경 theme->design * feat: 근로자마이페이지 아이콘 설정 * feat: 근로자 마이페이지 구현 * feat: 근로자마이페이지 라우터 설정 * style: Button props 이름 변경 * feat: msw 세팅 및 API path 작성 * feat: 구인글 등록 API 연결 및 msw 세팅 * fix: 구인글 업로드 mock 핸들러 수정 * feat: 근로자 마이페이지 mock 핸들러 추가 * feat: 근로자 마이페이지 API 연결 및 msw 설정 * feat: 이력서 페이지 구현 (#63) - react-hook-form 을 사용했습니다. - api 명세서에 맞게 이름,주소,번호,경력,자기소개,한국어실력을 필수값으로 받게 했습니다. Co-authored-by: kangkibong * fix: change button prop * feat: add GitHub Actions workflow for linting and type checking --------- Co-authored-by: yimsebin Co-authored-by: Kim Jian <81233665+KimJi-An@users.noreply.github.com> Co-authored-by: KimJi-An Co-authored-by: LEE YONGJIN <129606040+tteokbokki-master@users.noreply.github.com> * docs: update README.md * docs: update README.md * docs: update README.md * refactor: 지원서 페이지 버튼 수정 - 버튼 스타일을 수정했습니다. * feat: 지원서 페이지 api 연동(msw) - recruitmentId를 Path Parameter로 사용했습니다. - msw로 성공 요청만 받을 수 있게 했습니다. --------- Co-authored-by: kangkibong Co-authored-by: yimsebin Co-authored-by: Kim Jian <81233665+KimJi-An@users.noreply.github.com> Co-authored-by: KimJi-An * Feat/#69 API 연동 (#80) * feat: 고용주 마이페이지 API 연결 * feat: 내 회사 페이지 API 연결 * feat: 지원자 목록 페이지 API 연결 * feat: 계약하기 팝업창 API 연결 * feat: 외국인 번호 및 비자 발급 일자 등록 페이지 API 연결 * chore: 의존성 재설치 * chore: 의존성 업데이트 * chore: CI 일관성 확보를 위해 의존성 업데이트 --------- Co-authored-by: kangkibong * feat: 근로계약서 path 설정 * Feat/#81 구인 글 상세 화면 수정 및 API 연결 (#83) * 7, 8주차 산출물 (#70) * Update README.md * Refactor/#47 6주차 코드리뷰 리팩토링 (#48) * refactor: separate style and prop-related constants * refactor: remove lambda function * refactor: restructure SignUp and RecruitmentHeader components * feat: separate Button and Text component of SignIn * feat: add SignUpText component * refactor: remove auth page's barrel file * Feat/#42, #43 지원자 목록 페이지 및 팝업 구현 (#51) * feat: 지원자 목록 페이지 구현 * feat: 지원자 목록 페이지 스토리북 생성 * refactor: ApplicantList 테이블 컴포넌트 분리 * feat: Applicants path 설정 * feat: 지원자 목록 페이지에 계약 관련 팝업 추가 * fix: 이미지 경로 수정 및 불필요한 태그 제거 * refactor: MyAccount 페이지 구조 변경 및 CompanyRecruitments로 파일명 변경 - 기존 MyAccount 페이지를 CompanyRecruitments로 이름 변경 - 새로운 MyAccount 페이지 구현을 위해 기존 페이지의 역할 변경 * refactor: visaRegistration 관련 파일 구조 변경 - visaRegistration 페이지를 src/pages/employee에서 src/pages로 이동 - 관련 기능을 src/features/employee/visaRegistration에서 src/features/visaRegistration으로 이동 * feat: Table 컴포넌트 구현 * feat: 변경된 고용주 마이페이지 구현 * refactor: 회사 관련 공통 기능을 features/companies로 이동 및 CompanyInfo 수정 * refactor: CompanyRecruitments 페이지 이름을 MyCompany로 변경 * feat: EmployerMyAccount path 설정 * refactor: 불필요한 코드 삭제 및 폴더명 일관성 있게 변경 * Feat/#50 Select 컴포넌트 구현 (#53) * feat: add Select component * feat: add useGlobalSelect and useSelect * refactor: move directory * refactor: EmployerMyAccount 페이지에서 mock 데이터 분리 및 코드 정리 * refactor: visaRegistration 및 applicants 페이지의 mock, style 파일 분리 * refactor: RecruitmentList 컴포넌트 리팩토링 및 RecruitmentsTable 분리 * refactor: CompanyInfo 반응형 디자인 수정 * refactor: 외국인 번호 및 비자 발급 일자 등록 페이지 스타일 수정 * refactor: Header 컴포넌트의 닉네임 버튼을 사용자 프로필 이미지로 변경 * Refactor/#54 Modal 컴포넌트 재설계 (#55) * chore: add loadable component package * feat: implement modal management system with context and dynamic loading * refactor: 코드 리뷰 반영 - formValid를 useMemo로 관리 - validateForeignerNumber 함수를 별도 파일로 분리 * Feat/#56 메인 페이지 API 연동 (#57) * chore: setting mockServiceWorker * feat: add useFetchRecruitments hooks and recruitmentsMockHandler * feat: add useFetchSlides hooks and slidesMockHandler * feat: add Spinner component * feat: add AsyncBoundary component * chore: add msw-storybook-addon * Feat/#58 OAuth 구글 로그인 구현 (#59) * feat: add useGoogleOAuth hook * feat: add Loading page * chore: add MemoryRouter to decorators * Feat/#60 가입자 정보 선택 API 연동 (#61) * feat: add useRegister hook * fix: change role prop value * style: Button 컴포넌트 Props 이름변경 theme->design * feat: 근로자마이페이지 아이콘 설정 * feat: 근로자 마이페이지 구현 * feat: 근로자마이페이지 라우터 설정 * style: Button props 이름 변경 * feat: msw 세팅 및 API path 작성 * feat: 구인글 등록 API 연결 및 msw 세팅 * fix: 구인글 업로드 mock 핸들러 수정 * feat: 근로자 마이페이지 mock 핸들러 추가 * feat: 근로자 마이페이지 API 연결 및 msw 설정 * feat: 이력서 페이지 구현 (#63) - react-hook-form 을 사용했습니다. - api 명세서에 맞게 이름,주소,번호,경력,자기소개,한국어실력을 필수값으로 받게 했습니다. Co-authored-by: kangkibong * fix: change button prop * feat: add GitHub Actions workflow for linting and type checking --------- Co-authored-by: yimsebin Co-authored-by: Kim Jian <81233665+KimJi-An@users.noreply.github.com> Co-authored-by: KimJi-An Co-authored-by: LEE YONGJIN <129606040+tteokbokki-master@users.noreply.github.com> * docs: update README.md * docs: update README.md * docs: update README.md * refactor: 구인글 상세 정보 반환 페이지 수정 - 데이터 타입을 api 명세에 맞게 변경했습니다. - recruitmentsDetail 컴포넌트의 스타일을 변경했습니다. - 타입을 별도로 분리했습니다. * feat: 구인글 상세화면 api 연동(msw) - api 명세서에 맞게 요청 로직을 구현했습니다. - msw를 통해 반환 값을 받을 수 있게 했습니다. --------- Co-authored-by: kangkibong Co-authored-by: yimsebin Co-authored-by: Kim Jian <81233665+KimJi-An@users.noreply.github.com> Co-authored-by: KimJi-An * Refactor/#71 9주차 기능 개선 및 리팩토링 (#84) * refactor: 컴포넌트 이름과 일치하도록 파일 이름 변경 * refactor: 고용주 마이페이지에 사인등록 버튼 추가 및 디자인 변경 * feat: 고용주 마이페이지의 사인 등록 버튼 클릭 시 사인 등록 페이지로 이동 기능 추가 * feat: 회사 목록 로딩 중 Spinner 추가 및 위치 조정 * feat: 공고글 목록 로딩 중 Spinner 추가 * refactor: ContractModal의 버튼들을 ModalButtons로 분리 * feat: 계약 팝업창 확인 버튼 클릭 시 근로계약서 페이지로 이동 기능 추가 * Feat/#85 Header 컴포넌트 기능 추가 및 개선 (#87) * feat: 로그인 여부 및 사용자 타입에 따라 Header 구성 변경 - 로그인 여부에 따라 로그인/로그아웃 버튼 표시 - 고용주인 경우 '채용공고 등록' 버튼 추가 - 로컬스토리지에서 사용자 정보를 가져와 반영 * feat: Header 네비게이션 기능 추가 - 로고 클릭 시 홈 화면으로 이동 - 로그인 버튼 클릭 시 로그인 페이지로 이동 - 채용공고 등록 버튼 클릭 시 구인글 업로드 페이지로 이동 - 프로필 이미지 클릭 시 마이페이지로 이동 * feat: 근로자 마이페이지 path 연결 완료 * feat: 구인글 업로드 path 연결 완료 * feat: 회사 등록 API 연결 * feat: i18n 번역 데이터 - 구인글 업로드, 근로자 마이페이지, 회사 등록 페이지 * refactor: 구인글 업로드 및 근로자 마이페이지 폴더구조 정리 * feat: 고용주 근로계약서 작성 API 연결 및 구인글 작성 API 폴더구조 정리 * feat: 근로자 근로계약서 불러오기 API 연결 * feat: 근로자 근로계약서 저장하기 API 연결 --------- Co-authored-by: yimsebin Co-authored-by: Kim Jian <81233665+KimJi-An@users.noreply.github.com> Co-authored-by: KimJi-An Co-authored-by: LEE YONGJIN <129606040+tteokbokki-master@users.noreply.github.com> * Weekly branch merge to Develop branch (#97) * Refactor/#47 6주차 코드리뷰 리팩토링 (#48) * refactor: separate style and prop-related constants * refactor: remove lambda function * refactor: restructure SignUp and RecruitmentHeader components * feat: separate Button and Text component of SignIn * feat: add SignUpText component * refactor: remove auth page's barrel file * Feat/#42, #43 지원자 목록 페이지 및 팝업 구현 (#51) * feat: 지원자 목록 페이지 구현 * feat: 지원자 목록 페이지 스토리북 생성 * refactor: ApplicantList 테이블 컴포넌트 분리 * feat: Applicants path 설정 * feat: 지원자 목록 페이지에 계약 관련 팝업 추가 * fix: 이미지 경로 수정 및 불필요한 태그 제거 * refactor: MyAccount 페이지 구조 변경 및 CompanyRecruitments로 파일명 변경 - 기존 MyAccount 페이지를 CompanyRecruitments로 이름 변경 - 새로운 MyAccount 페이지 구현을 위해 기존 페이지의 역할 변경 * refactor: visaRegistration 관련 파일 구조 변경 - visaRegistration 페이지를 src/pages/employee에서 src/pages로 이동 - 관련 기능을 src/features/employee/visaRegistration에서 src/features/visaRegistration으로 이동 * feat: Table 컴포넌트 구현 * feat: 변경된 고용주 마이페이지 구현 * refactor: 회사 관련 공통 기능을 features/companies로 이동 및 CompanyInfo 수정 * refactor: CompanyRecruitments 페이지 이름을 MyCompany로 변경 * feat: EmployerMyAccount path 설정 * refactor: 불필요한 코드 삭제 및 폴더명 일관성 있게 변경 * Feat/#50 Select 컴포넌트 구현 (#53) * feat: add Select component * feat: add useGlobalSelect and useSelect * refactor: move directory * refactor: EmployerMyAccount 페이지에서 mock 데이터 분리 및 코드 정리 * refactor: visaRegistration 및 applicants 페이지의 mock, style 파일 분리 * refactor: RecruitmentList 컴포넌트 리팩토링 및 RecruitmentsTable 분리 * refactor: CompanyInfo 반응형 디자인 수정 * refactor: 외국인 번호 및 비자 발급 일자 등록 페이지 스타일 수정 * refactor: Header 컴포넌트의 닉네임 버튼을 사용자 프로필 이미지로 변경 * Refactor/#54 Modal 컴포넌트 재설계 (#55) * chore: add loadable component package * feat: implement modal management system with context and dynamic loading * refactor: 코드 리뷰 반영 - formValid를 useMemo로 관리 - validateForeignerNumber 함수를 별도 파일로 분리 * Feat/#56 메인 페이지 API 연동 (#57) * chore: setting mockServiceWorker * feat: add useFetchRecruitments hooks and recruitmentsMockHandler * feat: add useFetchSlides hooks and slidesMockHandler * feat: add Spinner component * feat: add AsyncBoundary component * chore: add msw-storybook-addon * Feat/#58 OAuth 구글 로그인 구현 (#59) * feat: add useGoogleOAuth hook * feat: add Loading page * chore: add MemoryRouter to decorators * Feat/#60 가입자 정보 선택 API 연동 (#61) * feat: add useRegister hook * fix: change role prop value * style: Button 컴포넌트 Props 이름변경 theme->design * feat: 근로자마이페이지 아이콘 설정 * feat: 근로자 마이페이지 구현 * feat: 근로자마이페이지 라우터 설정 * style: Button props 이름 변경 * feat: msw 세팅 및 API path 작성 * feat: 구인글 등록 API 연결 및 msw 세팅 * fix: 구인글 업로드 mock 핸들러 수정 * feat: 근로자 마이페이지 mock 핸들러 추가 * feat: 근로자 마이페이지 API 연결 및 msw 설정 * feat: 이력서 페이지 구현 (#63) - react-hook-form 을 사용했습니다. - api 명세서에 맞게 이름,주소,번호,경력,자기소개,한국어실력을 필수값으로 받게 했습니다. Co-authored-by: kangkibong * fix: change button prop * feat: add GitHub Actions workflow for linting and type checking * Feat/#74 사인 등록 페이지 구현 (#75) * 7, 8주차 산출물 (#70) * Update README.md * Refactor/#47 6주차 코드리뷰 리팩토링 (#48) * refactor: separate style and prop-related constants * refactor: remove lambda function * refactor: restructure SignUp and RecruitmentHeader components * feat: separate Button and Text component of SignIn * feat: add SignUpText component * refactor: remove auth page's barrel file * Feat/#42, #43 지원자 목록 페이지 및 팝업 구현 (#51) * feat: 지원자 목록 페이지 구현 * feat: 지원자 목록 페이지 스토리북 생성 * refactor: ApplicantList 테이블 컴포넌트 분리 * feat: Applicants path 설정 * feat: 지원자 목록 페이지에 계약 관련 팝업 추가 * fix: 이미지 경로 수정 및 불필요한 태그 제거 * refactor: MyAccount 페이지 구조 변경 및 CompanyRecruitments로 파일명 변경 - 기존 MyAccount 페이지를 CompanyRecruitments로 이름 변경 - 새로운 MyAccount 페이지 구현을 위해 기존 페이지의 역할 변경 * refactor: visaRegistration 관련 파일 구조 변경 - visaRegistration 페이지를 src/pages/employee에서 src/pages로 이동 - 관련 기능을 src/features/employee/visaRegistration에서 src/features/visaRegistration으로 이동 * feat: Table 컴포넌트 구현 * feat: 변경된 고용주 마이페이지 구현 * refactor: 회사 관련 공통 기능을 features/companies로 이동 및 CompanyInfo 수정 * refactor: CompanyRecruitments 페이지 이름을 MyCompany로 변경 * feat: EmployerMyAccount path 설정 * refactor: 불필요한 코드 삭제 및 폴더명 일관성 있게 변경 * Feat/#50 Select 컴포넌트 구현 (#53) * feat: add Select component * feat: add useGlobalSelect and useSelect * refactor: move directory * refactor: EmployerMyAccount 페이지에서 mock 데이터 분리 및 코드 정리 * refactor: visaRegistration 및 applicants 페이지의 mock, style 파일 분리 * refactor: RecruitmentList 컴포넌트 리팩토링 및 RecruitmentsTable 분리 * refactor: CompanyInfo 반응형 디자인 수정 * refactor: 외국인 번호 및 비자 발급 일자 등록 페이지 스타일 수정 * refactor: Header 컴포넌트의 닉네임 버튼을 사용자 프로필 이미지로 변경 * Refactor/#54 Modal 컴포넌트 재설계 (#55) * chore: add loadable component package * feat: implement modal management system with context and dynamic loading * refactor: 코드 리뷰 반영 - formValid를 useMemo로 관리 - validateForeignerNumber 함수를 별도 파일로 분리 * Feat/#56 메인 페이지 API 연동 (#57) * chore: setting mockServiceWorker * feat: add useFetchRecruitments hooks and recruitmentsMockHandler * feat: add useFetchSlides hooks and slidesMockHandler * feat: add Spinner component * feat: add AsyncBoundary component * chore: add msw-storybook-addon * Feat/#58 OAuth 구글 로그인 구현 (#59) * feat: add useGoogleOAuth hook * feat: add Loading page * chore: add MemoryRouter to decorators * Feat/#60 가입자 정보 선택 API 연동 (#61) * feat: add useRegister hook * fix: change role prop value * style: Button 컴포넌트 Props 이름변경 theme->design * feat: 근로자마이페이지 아이콘 설정 * feat: 근로자 마이페이지 구현 * feat: 근로자마이페이지 라우터 설정 * style: Button props 이름 변경 * feat: msw 세팅 및 API path 작성 * feat: 구인글 등록 API 연결 및 msw 세팅 * fix: 구인글 업로드 mock 핸들러 수정 * feat: 근로자 마이페이지 mock 핸들러 추가 * feat: 근로자 마이페이지 API 연결 및 msw 설정 * feat: 이력서 페이지 구현 (#63) - react-hook-form 을 사용했습니다. - api 명세서에 맞게 이름,주소,번호,경력,자기소개,한국어실력을 필수값으로 받게 했습니다. Co-authored-by: kangkibong * fix: change button prop * feat: add GitHub Actions workflow for linting and type checking --------- Co-authored-by: yimsebin Co-authored-by: Kim Jian <81233665+KimJi-An@users.noreply.github.com> Co-authored-by: KimJi-An Co-authored-by: LEE YONGJIN <129606040+tteokbokki-master@users.noreply.github.com> * docs: update README.md * docs: update README.md * docs: update README.md * chore: react-signature-canvas 설치 * feat: 사인 등록 페이지 구현 - 사인을 이미지를 파일로 만든 후 서버로 전송합니다. - 요청 로직도 같이 구현했습니다. - 요청 완료 후 리다이렉트는 로그인 이후 구현 * feat: 사인 등록 페이지 api 연동(msw) --------- Co-authored-by: kangkibong Co-authored-by: yimsebin Co-authored-by: Kim Jian <81233665+KimJi-An@users.noreply.github.com> Co-authored-by: KimJi-An * Feat/#77 회사 등록 페이지 구현 (#78) * "refactor: default function 컴포넌트로 변경" * feat: 회사 등록 페이지 구현 * feat: 회사 등록 페이지 라우터 설정 * style: 회사 이미지 업로드기능 구현 * Feat/#76 지원서 페이지 API 연동(msw) (#79) * 7, 8주차 산출물 (#70) * Update README.md * Refactor/#47 6주차 코드리뷰 리팩토링 (#48) * refactor: separate style and prop-related constants * refactor: remove lambda function * refactor: restructure SignUp and RecruitmentHeader components * feat: separate Button and Text component of SignIn * feat: add SignUpText component * refactor: remove auth page's barrel file * Feat/#42, #43 지원자 목록 페이지 및 팝업 구현 (#51) * feat: 지원자 목록 페이지 구현 * feat: 지원자 목록 페이지 스토리북 생성 * refactor: ApplicantList 테이블 컴포넌트 분리 * feat: Applicants path 설정 * feat: 지원자 목록 페이지에 계약 관련 팝업 추가 * fix: 이미지 경로 수정 및 불필요한 태그 제거 * refactor: MyAccount 페이지 구조 변경 및 CompanyRecruitments로 파일명 변경 - 기존 MyAccount 페이지를 CompanyRecruitments로 이름 변경 - 새로운 MyAccount 페이지 구현을 위해 기존 페이지의 역할 변경 * refactor: visaRegistration 관련 파일 구조 변경 - visaRegistration 페이지를 src/pages/employee에서 src/pages로 이동 - 관련 기능을 src/features/employee/visaRegistration에서 src/features/visaRegistration으로 이동 * feat: Table 컴포넌트 구현 * feat: 변경된 고용주 마이페이지 구현 * refactor: 회사 관련 공통 기능을 features/companies로 이동 및 CompanyInfo 수정 * refactor: CompanyRecruitments 페이지 이름을 MyCompany로 변경 * feat: EmployerMyAccount path 설정 * refactor: 불필요한 코드 삭제 및 폴더명 일관성 있게 변경 * Feat/#50 Select 컴포넌트 구현 (#53) * feat: add Select component * feat: add useGlobalSelect and useSelect * refactor: move directory * refactor: EmployerMyAccount 페이지에서 mock 데이터 분리 및 코드 정리 * refactor: visaRegistration 및 applicants 페이지의 mock, style 파일 분리 * refactor: RecruitmentList 컴포넌트 리팩토링 및 RecruitmentsTable 분리 * refactor: CompanyInfo 반응형 디자인 수정 * refactor: 외국인 번호 및 비자 발급 일자 등록 페이지 스타일 수정 * refactor: Header 컴포넌트의 닉네임 버튼을 사용자 프로필 이미지로 변경 * Refactor/#54 Modal 컴포넌트 재설계 (#55) * chore: add loadable component package * feat: implement modal management system with context and dynamic loading * refactor: 코드 리뷰 반영 - formValid를 useMemo로 관리 - validateForeignerNumber 함수를 별도 파일로 분리 * Feat/#56 메인 페이지 API 연동 (#57) * chore: setting mockServiceWorker * feat: add useFetchRecruitments hooks and recruitmentsMockHandler * feat: add useFetchSlides hooks and slidesMockHandler * feat: add Spinner component * feat: add AsyncBoundary component * chore: add msw-storybook-addon * Feat/#58 OAuth 구글 로그인 구현 (#59) * feat: add useGoogleOAuth hook * feat: add Loading page * chore: add MemoryRouter to decorators * Feat/#60 가입자 정보 선택 API 연동 (#61) * feat: add useRegister hook * fix: change role prop value * style: Button 컴포넌트 Props 이름변경 theme->design * feat: 근로자마이페이지 아이콘 설정 * feat: 근로자 마이페이지 구현 * feat: 근로자마이페이지 라우터 설정 * style: Button props 이름 변경 * feat: msw 세팅 및 API path 작성 * feat: 구인글 등록 API 연결 및 msw 세팅 * fix: 구인글 업로드 mock 핸들러 수정 * feat: 근로자 마이페이지 mock 핸들러 추가 * feat: 근로자 마이페이지 API 연결 및 msw 설정 * feat: 이력서 페이지 구현 (#63) - react-hook-form 을 사용했습니다. - api 명세서에 맞게 이름,주소,번호,경력,자기소개,한국어실력을 필수값으로 받게 했습니다. Co-authored-by: kangkibong * fix: change button prop * feat: add GitHub Actions workflow for linting and type checking --------- Co-authored-by: yimsebin Co-authored-by: Kim Jian <81233665+KimJi-An@users.noreply.github.com> Co-authored-by: KimJi-An Co-authored-by: LEE YONGJIN <129606040+tteokbokki-master@users.noreply.github.com> * docs: update README.md * docs: update README.md * docs: update README.md * refactor: 지원서 페이지 버튼 수정 - 버튼 스타일을 수정했습니다. * feat: 지원서 페이지 api 연동(msw) - recruitmentId를 Path Parameter로 사용했습니다. - msw로 성공 요청만 받을 수 있게 했습니다. --------- Co-authored-by: kangkibong Co-authored-by: yimsebin Co-authored-by: Kim Jian <81233665+KimJi-An@users.noreply.github.com> Co-authored-by: KimJi-An * Feat/#69 API 연동 (#80) * feat: 고용주 마이페이지 API 연결 * feat: 내 회사 페이지 API 연결 * feat: 지원자 목록 페이지 API 연결 * feat: 계약하기 팝업창 API 연결 * feat: 외국인 번호 및 비자 발급 일자 등록 페이지 API 연결 * chore: 의존성 재설치 * chore: 의존성 업데이트 * chore: CI 일관성 확보를 위해 의존성 업데이트 --------- Co-authored-by: kangkibong * feat: 근로계약서 path 설정 * Feat/#81 구인 글 상세 화면 수정 및 API 연결 (#83) * 7, 8주차 산출물 (#70) * Update README.md * Refactor/#47 6주차 코드리뷰 리팩토링 (#48) * refactor: separate style and prop-related constants * refactor: remove lambda function * refactor: restructure SignUp and RecruitmentHeader components * feat: separate Button and Text component of SignIn * feat: add SignUpText component * refactor: remove auth page's barrel file * Feat/#42, #43 지원자 목록 페이지 및 팝업 구현 (#51) * feat: 지원자 목록 페이지 구현 * feat: 지원자 목록 페이지 스토리북 생성 * refactor: ApplicantList 테이블 컴포넌트 분리 * feat: Applicants path 설정 * feat: 지원자 목록 페이지에 계약 관련 팝업 추가 * fix: 이미지 경로 수정 및 불필요한 태그 제거 * refactor: MyAccount 페이지 구조 변경 및 CompanyRecruitments로 파일명 변경 - 기존 MyAccount 페이지를 CompanyRecruitments로 이름 변경 - 새로운 MyAccount 페이지 구현을 위해 기존 페이지의 역할 변경 * refactor: visaRegistration 관련 파일 구조 변경 - visaRegistration 페이지를 src/pages/employee에서 src/pages로 이동 - 관련 기능을 src/features/employee/visaRegistration에서 src/features/visaRegistration으로 이동 * feat: Table 컴포넌트 구현 * feat: 변경된 고용주 마이페이지 구현 * refactor: 회사 관련 공통 기능을 features/companies로 이동 및 CompanyInfo 수정 * refactor: CompanyRecruitments 페이지 이름을 MyCompany로 변경 * feat: EmployerMyAccount path 설정 * refactor: 불필요한 코드 삭제 및 폴더명 일관성 있게 변경 * Feat/#50 Select 컴포넌트 구현 (#53) * feat: add Select component * feat: add useGlobalSelect and useSelect * refactor: move directory * refactor: EmployerMyAccount 페이지에서 mock 데이터 분리 및 코드 정리 * refactor: visaRegistration 및 applicants 페이지의 mock, style 파일 분리 * refactor: RecruitmentList 컴포넌트 리팩토링 및 RecruitmentsTable 분리 * refactor: CompanyInfo 반응형 디자인 수정 * refactor: 외국인 번호 및 비자 발급 일자 등록 페이지 스타일 수정 * refactor: Header 컴포넌트의 닉네임 버튼을 사용자 프로필 이미지로 변경 * Refactor/#54 Modal 컴포넌트 재설계 (#55) * chore: add loadable component package * feat: implement modal management system with context and dynamic loading * refactor: 코드 리뷰 반영 - formValid를 useMemo로 관리 - validateForeignerNumber 함수를 별도 파일로 분리 * Feat/#56 메인 페이지 API 연동 (#57) * chore: setting mockServiceWorker * feat: add useFetchRecruitments hooks and recruitmentsMockHandler * feat: add useFetchSlides hooks and slidesMockHandler * feat: add Spinner component * feat: add AsyncBoundary component * chore: add msw-storybook-addon * Feat/#58 OAuth 구글 로그인 구현 (#59) * feat: add useGoogleOAuth hook * feat: add Loading page * chore: add MemoryRouter to decorators * Feat/#60 가입자 정보 선택 API 연동 (#61) * feat: add useRegister hook * fix: change role prop value * style: Button 컴포넌트 Props 이름변경 theme->design * feat: 근로자마이페이지 아이콘 설정 * feat: 근로자 마이페이지 구현 * feat: 근로자마이페이지 라우터 설정 * style: Button props 이름 변경 * feat: msw 세팅 및 API path 작성 * feat: 구인글 등록 API 연결 및 msw 세팅 * fix: 구인글 업로드 mock 핸들러 수정 * feat: 근로자 마이페이지 mock 핸들러 추가 * feat: 근로자 마이페이지 API 연결 및 msw 설정 * feat: 이력서 페이지 구현 (#63) - react-hook-form 을 사용했습니다. - api 명세서에 맞게 이름,주소,번호,경력,자기소개,한국어실력을 필수값으로 받게 했습니다. Co-authored-by: kangkibong * fix: change button prop * feat: add GitHub Actions workflow for linting and type checking --------- Co-authored-by: yimsebin Co-authored-by: Kim Jian <81233665+KimJi-An@users.noreply.github.com> Co-authored-by: KimJi-An Co-authored-by: LEE YONGJIN <129606040+tteokbokki-master@users.noreply.github.com> * docs: update README.md * docs: update README.md * docs: update README.md * refactor: 구인글 상세 정보 반환 페이지 수정 - 데이터 타입을 api 명세에 맞게 변경했습니다. - recruitmentsDetail 컴포넌트의 스타일을 변경했습니다. - 타입을 별도로 분리했습니다. * feat: 구인글 상세화면 api 연동(msw) - api 명세서에 맞게 요청 로직을 구현했습니다. - msw를 통해 반환 값을 받을 수 있게 했습니다. --------- Co-authored-by: kangkibong Co-authored-by: yimsebin Co-authored-by: Kim Jian <81233665+KimJi-An@users.noreply.github.com> Co-authored-by: KimJi-An * Refactor/#71 9주차 기능 개선 및 리팩토링 (#84) * refactor: 컴포넌트 이름과 일치하도록 파일 이름 변경 * refactor: 고용주 마이페이지에 사인등록 버튼 추가 및 디자인 변경 * feat: 고용주 마이페이지의 사인 등록 버튼 클릭 시 사인 등록 페이지로 이동 기능 추가 * feat: 회사 목록 로딩 중 Spinner 추가 및 위치 조정 * feat: 공고글 목록 로딩 중 Spinner 추가 * refactor: ContractModal의 버튼들을 ModalButtons로 분리 * feat: 계약 팝업창 확인 버튼 클릭 시 근로계약서 페이지로 이동 기능 추가 * Feat/#85 Header 컴포넌트 기능 추가 및 개선 (#87) * feat: 로그인 여부 및 사용자 타입에 따라 Header 구성 변경 - 로그인 여부에 따라 로그인/로그아웃 버튼 표시 - 고용주인 경우 '채용공고 등록' 버튼 추가 - 로컬스토리지에서 사용자 정보를 가져와 반영 * feat: Header 네비게이션 기능 추가 - 로고 클릭 시 홈 화면으로 이동 - 로그인 버튼 클릭 시 로그인 페이지로 이동 - 채용공고 등록 버튼 클릭 시 구인글 업로드 페이지로 이동 - 프로필 이미지 클릭 시 마이페이지로 이동 * feat: 근로자 마이페이지 path 연결 완료 * feat: 구인글 업로드 path 연결 완료 * feat: 회사 등록 API 연결 * feat: i18n 번역 데이터 - 구인글 업로드, 근로자 마이페이지, 회사 등록 페이지 * refactor: 구인글 업로드 및 근로자 마이페이지 폴더구조 정리 * feat: 고용주 근로계약서 작성 API 연결 및 구인글 작성 API 폴더구조 정리 * feat: 근로자 근로계약서 불러오기 API 연결 * feat: 근로자 근로계약서 저장하기 API 연결 * fix: 이전 merge된 코드에서 발생한 오류 및 잘못된 부분 수정 * chore: npm 패키지 업데이트 --------- Co-authored-by: Kim Jian <81233665+KimJi-An@users.noreply.github.com> Co-authored-by: KimJi-An Co-authored-by: YIMSEBIN Co-authored-by: LEE YONGJIN <129606040+tteokbokki-master@users.noreply.github.com> --------- Co-authored-by: yimsebin Co-authored-by: Kim Jian <81233665+KimJi-An@users.noreply.github.com> Co-authored-by: KimJi-An Co-authored-by: LEE YONGJIN <129606040+tteokbokki-master@users.noreply.github.com> --- README.md | 2 +- package-lock.json | 2 +- src/assets/images/profile-image.svg | 4 - .../ApplicantsTable/index.styles.ts | 37 -------- .../ApplicantList/ApplicantsTable/index.tsx | 58 ----------- .../ContractModal/ModalText/index.styles.ts | 13 --- .../ContractModal/ModalText/index.tsx | 44 --------- .../ApplicantList/ContractModal/index.mock.ts | 5 - .../ContractModal/index.styles.ts | 15 --- .../ApplicantList/ContractModal/index.tsx | 39 -------- .../applicants/ApplicantList/index.tsx | 23 ----- .../companies/CompanyInfo/index.styles.ts | 46 --------- src/features/companies/CompanyInfo/index.tsx | 32 ------- .../CompaniesTable/index.styles.ts | 26 ----- .../CompanyList/CompaniesTable/index.tsx | 45 --------- src/features/companies/CompanyList/index.tsx | 23 ----- src/features/layout/Header/index.stories.tsx | 3 +- src/features/layout/index.tsx | 8 +- .../RecruitmentInfo/index.styles.ts | 93 ------------------ .../recruitments/RecruitmentInfo/index.tsx | 50 ---------- .../RecruitmentsTable/index.styles.ts | 47 --------- .../RecruitmentsTable/index.tsx | 46 --------- .../recruitments/RecruitmentList/index.tsx | 23 ----- .../registerVisa/VisaRegistrationForm.tsx | 10 +- src/features/visaRegistration/index.styles.ts | 41 -------- src/features/visaRegistration/index.tsx | 95 ------------------- .../validateForeignerNumber.ts | 4 - src/pages/applicants/index.mock.ts | 28 ------ src/pages/applicants/index.stories.tsx | 14 --- src/pages/applicants/index.tsx | 31 ------ .../myPage/EmployeeMyPage.stories.tsx | 14 --- src/pages/employee/myPage/EmployeeMyPage.tsx | 55 ----------- src/pages/employee/myPage/data/index.mock.ts | 36 ------- src/pages/myAccount/employer/index.mock.ts | 20 ---- src/pages/myAccount/employer/index.styles.ts | 30 ------ src/pages/myAccount/employer/index.tsx | 22 ----- src/pages/myCompany/index.mock.ts | 42 -------- src/pages/myCompany/index.stories.tsx | 14 --- src/pages/myCompany/index.styles.ts | 55 ----------- src/pages/myCompany/index.tsx | 39 -------- .../employer/EmployerMyPage.stories.tsx | 2 +- .../recruit/stories/RecruitCard.stories.tsx | 2 +- src/pages/visaRegistration/index.styles.ts | 37 -------- src/pages/visaRegistration/index.tsx | 27 ------ 44 files changed, 7 insertions(+), 1295 deletions(-) delete mode 100644 src/assets/images/profile-image.svg delete mode 100644 src/features/applicants/ApplicantList/ApplicantsTable/index.styles.ts delete mode 100644 src/features/applicants/ApplicantList/ApplicantsTable/index.tsx delete mode 100644 src/features/applicants/ApplicantList/ContractModal/ModalText/index.styles.ts delete mode 100644 src/features/applicants/ApplicantList/ContractModal/ModalText/index.tsx delete mode 100644 src/features/applicants/ApplicantList/ContractModal/index.mock.ts delete mode 100644 src/features/applicants/ApplicantList/ContractModal/index.styles.ts delete mode 100644 src/features/applicants/ApplicantList/ContractModal/index.tsx delete mode 100644 src/features/applicants/ApplicantList/index.tsx delete mode 100644 src/features/companies/CompanyInfo/index.styles.ts delete mode 100644 src/features/companies/CompanyInfo/index.tsx delete mode 100644 src/features/companies/CompanyList/CompaniesTable/index.styles.ts delete mode 100644 src/features/companies/CompanyList/CompaniesTable/index.tsx delete mode 100644 src/features/companies/CompanyList/index.tsx delete mode 100644 src/features/recruitments/RecruitmentInfo/index.styles.ts delete mode 100644 src/features/recruitments/RecruitmentInfo/index.tsx delete mode 100644 src/features/recruitments/RecruitmentList/RecruitmentsTable/index.styles.ts delete mode 100644 src/features/recruitments/RecruitmentList/RecruitmentsTable/index.tsx delete mode 100644 src/features/recruitments/RecruitmentList/index.tsx delete mode 100644 src/features/visaRegistration/index.styles.ts delete mode 100644 src/features/visaRegistration/index.tsx delete mode 100644 src/features/visaRegistration/validateForeignerNumber.ts delete mode 100644 src/pages/applicants/index.mock.ts delete mode 100644 src/pages/applicants/index.stories.tsx delete mode 100644 src/pages/applicants/index.tsx delete mode 100644 src/pages/employee/myPage/EmployeeMyPage.stories.tsx delete mode 100644 src/pages/employee/myPage/EmployeeMyPage.tsx delete mode 100644 src/pages/employee/myPage/data/index.mock.ts delete mode 100644 src/pages/myAccount/employer/index.mock.ts delete mode 100644 src/pages/myAccount/employer/index.styles.ts delete mode 100644 src/pages/myAccount/employer/index.tsx delete mode 100644 src/pages/myCompany/index.mock.ts delete mode 100644 src/pages/myCompany/index.stories.tsx delete mode 100644 src/pages/myCompany/index.styles.ts delete mode 100644 src/pages/myCompany/index.tsx delete mode 100644 src/pages/visaRegistration/index.styles.ts delete mode 100644 src/pages/visaRegistration/index.tsx diff --git a/README.md b/README.md index 0088d0c..03f7d56 100644 --- a/README.md +++ b/README.md @@ -23,4 +23,4 @@ const Section = styled.div` align-items: center; margin-bottom: 52px; `; -``` + diff --git a/package-lock.json b/package-lock.json index 08dad60..35d034e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9865,4 +9865,4 @@ } } } -} +} \ No newline at end of file diff --git a/src/assets/images/profile-image.svg b/src/assets/images/profile-image.svg deleted file mode 100644 index 3e57953..0000000 --- a/src/assets/images/profile-image.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/src/features/applicants/ApplicantList/ApplicantsTable/index.styles.ts b/src/features/applicants/ApplicantList/ApplicantsTable/index.styles.ts deleted file mode 100644 index 41faa55..0000000 --- a/src/features/applicants/ApplicantList/ApplicantsTable/index.styles.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { responsiveStyle } from '@/utils/responsive'; -import { css } from '@emotion/react'; - -export const buttonsCellStyle = css` - ${responsiveStyle({ - default: { - width: '600px', - }, - tablet: { - width: '280px', - }, - mobile: { - width: '200px', - }, - })} -`; - -export const buttonGroupStyle = css` - ${responsiveStyle({ - tablet: { - flexDirection: 'column', - alignItems: 'stretch', - gap: '10px', - }, - })} -`; - -export const buttonStyle = css` - ${responsiveStyle({ - default: { - whiteSpace: 'nowrap', - }, - mobile: { - fontSize: '15px', - }, - })} -`; diff --git a/src/features/applicants/ApplicantList/ApplicantsTable/index.tsx b/src/features/applicants/ApplicantList/ApplicantsTable/index.tsx deleted file mode 100644 index 945bedc..0000000 --- a/src/features/applicants/ApplicantList/ApplicantsTable/index.tsx +++ /dev/null @@ -1,58 +0,0 @@ -import { Button, Flex, List, Table, Td, Th } from '@/components/common'; -import { useState } from 'react'; -import ContractModal from '../ContractModal'; -import { ApplicantData } from '@/types'; -import { buttonGroupStyle, buttonsCellStyle, buttonStyle } from './index.styles'; - -type Props = { - applicantList: ApplicantData[]; -}; - -export default function ApplicantsTable({ applicantList }: Props) { - const [isModalOpen, setIsModalOpen] = useState(false); - - const handleOpenModal = () => { - setIsModalOpen(true); - }; - - const handleCloseModal = () => { - setIsModalOpen(false); - }; - - return ( - <> - - - - - - - - - - - ( - - - - - - - )} - /> - -
이름국적한국어 실력
{applicant.name}{applicant.applicantNation}{applicant.korean} - - - - - -
- - - ); -} diff --git a/src/features/applicants/ApplicantList/ContractModal/ModalText/index.styles.ts b/src/features/applicants/ApplicantList/ContractModal/ModalText/index.styles.ts deleted file mode 100644 index 5966ad7..0000000 --- a/src/features/applicants/ApplicantList/ContractModal/ModalText/index.styles.ts +++ /dev/null @@ -1,13 +0,0 @@ -export const titleStyle = { - fontWeight: 'bold', - marginBottom: '20px', -}; - -export const paragraphStyle = { - marginBottom: '20px', -}; - -export const headingStyle = { - ...titleStyle, - marginTop: '20px', -}; diff --git a/src/features/applicants/ApplicantList/ContractModal/ModalText/index.tsx b/src/features/applicants/ApplicantList/ContractModal/ModalText/index.tsx deleted file mode 100644 index 6b8dcce..0000000 --- a/src/features/applicants/ApplicantList/ContractModal/ModalText/index.tsx +++ /dev/null @@ -1,44 +0,0 @@ -import { palettes } from '@/assets/styles/global/palettes'; -import { ForeignerData } from '@/types'; -import { Typo } from '@/components/common'; -import { headingStyle, paragraphStyle, titleStyle } from './index.styles'; - -type Props = Pick; - -export default function ModalText({ foreignerIdNumber, visaGenerateDate }: Props) { - return ( - <> - - ✅ 고용주님께 드리는 주의사항 - - - 불법 체류자를 고용할 시 최대 200만원의 범칙금이 부과될 수 있습니다. - -
- - 지원자 정보 - - - 외국인 등록 번호 : {foreignerIdNumber} -
- 비자 발급 일자 : {visaGenerateDate} -
-
이 지원자의 정보를 활용하여  - - 하이코리아 - - 에서 지원자에 대한 -
- 불법 체류 여부를 검증할 수 있습니다. -
-
- 안전한 고용을 위해 확인 후 진행하는 것을 권장합니다. -
- - ); -} diff --git a/src/features/applicants/ApplicantList/ContractModal/index.mock.ts b/src/features/applicants/ApplicantList/ContractModal/index.mock.ts deleted file mode 100644 index 8093bf3..0000000 --- a/src/features/applicants/ApplicantList/ContractModal/index.mock.ts +++ /dev/null @@ -1,5 +0,0 @@ -export const foreigner = { - foreignerIdNumber: '123456-1234567', - visaGenerateDate: '2000-00-00', - visaExpiryDate: '2000-00-00', -}; diff --git a/src/features/applicants/ApplicantList/ContractModal/index.styles.ts b/src/features/applicants/ApplicantList/ContractModal/index.styles.ts deleted file mode 100644 index 42599dd..0000000 --- a/src/features/applicants/ApplicantList/ContractModal/index.styles.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { palettes } from '@/assets/styles/global/palettes'; -import { css } from '@emotion/react'; - -export const modalStyle = { - padding: '15px', -}; - -export const customButtonStyle = css` - background-color: ${palettes.blue}; - color: ${palettes.white}; -`; - -export const buttonTextStyle = { - color: `${palettes.white}`, -}; diff --git a/src/features/applicants/ApplicantList/ContractModal/index.tsx b/src/features/applicants/ApplicantList/ContractModal/index.tsx deleted file mode 100644 index 0afbe7b..0000000 --- a/src/features/applicants/ApplicantList/ContractModal/index.tsx +++ /dev/null @@ -1,39 +0,0 @@ -import { Button, Flex, Icon, Modal, Typo } from '@/components/common'; -import ModalText from './ModalText'; -import { foreigner } from './index.mock'; -import { buttonTextStyle, customButtonStyle, modalStyle } from './index.styles'; - -interface ContractModalProps { - isOpen: boolean; - onClose: () => void; -} - -export default function ContractModal({ isOpen, onClose }: ContractModalProps) { - return ( - <> - {isOpen && ( - - } - buttonChildren={ - - - - - } - /* onClose 부분 추후 수정 예정 */ - onClose={onClose} - style={modalStyle} - /> - )} - - ); -} diff --git a/src/features/applicants/ApplicantList/index.tsx b/src/features/applicants/ApplicantList/index.tsx deleted file mode 100644 index a355b49..0000000 --- a/src/features/applicants/ApplicantList/index.tsx +++ /dev/null @@ -1,23 +0,0 @@ -import { Flex, Typo } from '@/components/common'; -import ApplicantsTable from './ApplicantsTable'; -import { ApplicantData } from '@/types'; - -type Props = { - applicantList: ApplicantData[]; -}; - -export default function ApplicantList({ applicantList }: Props) { - return ( - - - - 지원자 목록 - - - 총 {applicantList.length}건 - - - - - ); -} diff --git a/src/features/companies/CompanyInfo/index.styles.ts b/src/features/companies/CompanyInfo/index.styles.ts deleted file mode 100644 index f6f9fc0..0000000 --- a/src/features/companies/CompanyInfo/index.styles.ts +++ /dev/null @@ -1,46 +0,0 @@ -import { responsiveStyle } from '@/utils/responsive'; -import { css } from '@emotion/react'; - -export const infoWrapperStyle = css` - ${responsiveStyle({ - default: { - maxWidth: '60%', - flexDirection: 'column', - justifyContent: 'space-between', - gap: '15px', - }, - tablet: { - alignItems: 'flex-start', - margin: '10px 0 20px 0', - width: '100%', - padding: '0 40px', - }, - mobile: { - padding: '0', - }, - })} -`; - -export const companyNameStyle = { - fontWeight: 'bold', -}; - -export const infoStyle = css` - ${responsiveStyle({ - default: { - alignItems: 'center', - gap: '30px', - }, - tablet: { - flexDirection: 'row', - justifyContent: 'center', - width: '100%', - gap: '10px', - }, - mobile: { - flexDirection: 'column', - alignItems: 'center', - gap: '10px', - }, - })} -`; diff --git a/src/features/companies/CompanyInfo/index.tsx b/src/features/companies/CompanyInfo/index.tsx deleted file mode 100644 index ad90e69..0000000 --- a/src/features/companies/CompanyInfo/index.tsx +++ /dev/null @@ -1,32 +0,0 @@ -import { Flex, Typo } from '@/components/common'; -import { CompanyData } from '@/types'; -import IndustryIcon from '@assets/icons/companyInfo/industry.svg?react'; -import BrandIcon from '@assets/icons/companyInfo/brand.svg?react'; -import RevenueIcon from '@assets/icons/companyInfo/revenue.svg?react'; -import { companyNameStyle, infoStyle, infoWrapperStyle } from './index.styles'; - -type Props = Pick; - -export default function CompanyInfo({ name, industryOccupation, brand, revenuePerYear }: Props) { - return ( - - - {name} - - - - - {industryOccupation} - - - - {brand} - - - - {revenuePerYear} 원 - - - - ); -} diff --git a/src/features/companies/CompanyList/CompaniesTable/index.styles.ts b/src/features/companies/CompanyList/CompaniesTable/index.styles.ts deleted file mode 100644 index 49cddde..0000000 --- a/src/features/companies/CompanyList/CompaniesTable/index.styles.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { responsiveStyle } from '@/utils/responsive'; -import { css } from '@emotion/react'; - -export const cellStyle = css` - ${responsiveStyle({ - tablet: { - flexDirection: 'column', - }, - })} -`; - -export const imageSize = { - width: '277px', - height: '110px', -}; - -export const imageStyle = css` - height: 100%; - - ${responsiveStyle({ - tablet: { - margin: '0 auto', - width: '50%', - }, - })} -`; diff --git a/src/features/companies/CompanyList/CompaniesTable/index.tsx b/src/features/companies/CompanyList/CompaniesTable/index.tsx deleted file mode 100644 index 4e2433a..0000000 --- a/src/features/companies/CompanyList/CompaniesTable/index.tsx +++ /dev/null @@ -1,45 +0,0 @@ -import { Button, Flex, Icon, List, Image, Table, Th, Td } from '@/components/common'; -import { CompanyData } from '@/types'; -import CompanyInfo from '@/features/companies/CompanyInfo'; -import { cellStyle, imageSize, imageStyle } from './index.styles'; - -type Props = { - companyList: CompanyData[]; -}; - -export default function CompaniesTable({ companyList }: Props) { - return ( - - - - - - - - ( - - - - )} - /> - -
회사 정보
- - - - - - - -
- ); -} diff --git a/src/features/companies/CompanyList/index.tsx b/src/features/companies/CompanyList/index.tsx deleted file mode 100644 index 3975af0..0000000 --- a/src/features/companies/CompanyList/index.tsx +++ /dev/null @@ -1,23 +0,0 @@ -import { Flex, Typo } from '@/components/common'; -import CompaniesTable from './CompaniesTable'; -import { CompanyData } from '@/types'; - -type Props = { - companyList: CompanyData[]; -}; - -export default function CompanyList({ companyList }: Props) { - return ( - - - - 내 회사 - - - 총 {companyList.length}곳 - - - - - ); -} diff --git a/src/features/layout/Header/index.stories.tsx b/src/features/layout/Header/index.stories.tsx index 8a140e9..82fd609 100644 --- a/src/features/layout/Header/index.stories.tsx +++ b/src/features/layout/Header/index.stories.tsx @@ -1,6 +1,5 @@ import { Meta, StoryObj } from '@storybook/react'; import Header from '.'; -import profileImage from '@assets/images/profile-image.svg'; const meta: Meta = { title: 'features/layout/Header', @@ -13,5 +12,5 @@ export default meta; type Story = StoryObj; export const Default: Story = { - render: () =>
, + render: () =>
, }; diff --git a/src/features/layout/index.tsx b/src/features/layout/index.tsx index 99550f4..3a5b6f5 100644 --- a/src/features/layout/index.tsx +++ b/src/features/layout/index.tsx @@ -1,17 +1,11 @@ import { ReactNode } from 'react'; import Footer from './Footer'; import Header from './Header'; -import profileImage from '@assets/images/profile-image.svg'; - -const initialData = { - type: 'employer', - profileImage: profileImage, -}; export default function Layout({ children }: { children: ReactNode }) { return ( <> -
+
{children}