Skip to content

Conversation

@i-meant-to-be
Copy link
Contributor

🚩 연관 이슈

없음

📝 작업 내용

main 브랜치로 배포

🏞️ 스크린샷 (선택)

없음

🗣️ 리뷰 요구사항 (선택)

없음

jaeml06 and others added 30 commits December 11, 2024 17:29
[DOCS] ISSUE 템플릿과 자동 할당 구현
[DOCS] PR 자동할당 yml 작성
[DOCS] Discord comment 알림 yml 작성
[CHORE] 프로젝트 초기 세팅
i-meant-to-be and others added 8 commits January 21, 2025 11:32
* refactor: Applied several changes

- Changed interval to 1000 ms (1 sec)
- Added function that changes background to remove duplication of same codes
- Removed isRunning not necessary

* feat: Made TimerPage be able to catch parameters

* fix: Recovered deleted ErrorBoundary related files

* fix: Set icon size on 'size' argument instead of 'className'

* refactor: Separated loading component to page

* refactor: Applied several changes

- Moved TimerLoadingPage to /src/TimerPage from /src/TimerPage/component
- Set css file to print CR/LF correctly
- Changed 'useQuery' to 'useGetParliamentaryTableData' hook

* refactor: Deleted unneccesary codes
- TableCompositionStep 상수 값을 한글(타임박스입력)에서 영어(TimeBox)로 바꾸며 발생한 문제 수정
- Type 상수 값을 한글(의회식 토론)에서 영어(PARLIAMENTARY)로 바꾸며 발생한 문제 수정
* feat: useMutation 사용하여 restAPI post요청 구현

* refactor: useLoginUser 훅으로 분리

* chore: setting Up a Deployment Automation Pipeline

* chore: cd 파일 pr branch 명 변경

* fix: 불필요한 코드 지우기

* build: 패키지 매니저 변경

* build: pr types 추가

* fix: handleLogin 에 '/table' 경로로 라우팅 추가하여 test코드 통과

* fix: 올바른 test코드 위한 수정

* fix: mockServiceWorker 에서 불필요한 코드 삭제

* fix: mockServiceWorekr 필요없는 코드 삭제

* fix: 오류 해결을 위해 build 다시 생성

* fix: eslintignore 와 stylelintignore 설정을 통해 불필요한 검사 제외

* chore: gitignore 에 /dist 추가하여 빌드파일 제외

* chore: stylelintignore eol 추가

* chore: .eslintignore 삭제 및 eslint.config.js 파일 안 ignore 추가

* chore: dist 디렉토리 삭제

* chore: CD 파일에 pr types 에 'synchronize', 'reopened' 제거

* feat: dev 배포를 위한 deploy 코드 작성

* feat: prod 배포를 위한 deploy 코드 작성

* chore: merge 후 생성된 불 필요한 코드 삭제

* chore: dev 배포 명료성을 위해 access key 및 secret key 네이밍 변경

* chore: Dev 배포 관련 yml파일에서 bucket 네이밍 변경
* feat: 로그인 시, memberId를 반환하도록 변경

* feat: memberId를 session 스토리지에 저장하도록 util 함수 작성

* fix: currentStep을 영문으로 변경

* feat: 정적으로 선언되 memberId를 스토리지에서 가져오도록 변경

* refactor: route.tsx 위치를 routes 폴더로 변경

* feat: ProtectedRoute 구현

* feat:  ProtectedRoute 적용

* refactor: routes위치 변경에 따른 import 수정

* feat: 토론하기 클릭 시, TimerPage 연결

* refactor: 라우터 변경에 따른 수정사항 반영

---------

Co-authored-by: Shawn Kang <77564014+i-meant-to-be@users.noreply.github.com>
* feat: Changed API base url to deployed server

* feat: Implemented AdditionalTimerComponent

* fix: Recovered horizontal padding of useModal wrapper

* feat: Deleted top margin of AdditionalTimerSummaryItem

* fix: Fixed linting errors

* fix: Removed hard-coded URL on source codes

* fix: Make app get server URL from .env file

* chore: Deleted .env files

* chore: Updated .gitignore file to ignore .env files
* chore: Separated deploy environments and variables

* chore: Applined vite-plugin-compressions2 to compress builds

* chore: Changed job name

* fix: Added quotes on target path of Cloudfront cache invalidation

* chore: Changed web page title

* chore: Removed compression-related packages and codes
… 가져오도록 수정 (#86)

* fix: PostUserResponseType 타입 변경

* fix: 정적 navigate 제거

* fix: 불필요한 console.log제거

* fix: tableId를 정상적으로 불러오도록 수정
@i-meant-to-be i-meant-to-be added the chore 파일 내부가 아닌 파일 자체에 대한 변경 (디렉토리 이동, 파일 이름 변경, 파일 삭제 등) label Jan 24, 2025
@i-meant-to-be i-meant-to-be self-assigned this Jan 24, 2025
Copy link
Contributor

@jaeml06 jaeml06 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

확인했습니다.

@i-meant-to-be i-meant-to-be merged commit 9305095 into main Jan 24, 2025
1 check failed
@i-meant-to-be i-meant-to-be added deploy develop에서 main으로의 배포 and removed chore 파일 내부가 아닌 파일 자체에 대한 변경 (디렉토리 이동, 파일 이름 변경, 파일 삭제 등) labels Jan 24, 2025
@i-meant-to-be i-meant-to-be changed the title [CHORE] main 브랜치로 배포 [DEPLOY] main 브랜치로 배포 Jan 24, 2025
jaeml06 added a commit that referenced this pull request Jan 30, 2025
* Update issue templates

* docs: 파일명 수정

* docs: PR 템플릿 생성 (#2)

* docs: 자동 issue 설정 할당

* docs: 불필요한 주석 제거

* docs: 이슈 프로젝트 권한 추가

* docs: 자동할당 로직 변경

* feat: 권한 문제로 자동 Project할당 제거

* docs: PR 자동할당 yml 작성

* docs: 불필요한 Project 정보 제거

* docs: Discord comment 알림 yml 작성

* chore: 프로젝트 초기 세팅

* chore: prettier 설정 추가

* feat: 3개의 영역으로 구분된 header(StickyTriSectionHeader) 구현

* feat: 하단에 고정되어 있는 footer wrapper 구현

* feat: main 레이아웃 구현

* feat: 중첩 컴포넌트로 기본 레이아웃 구현

* design: layout의 ContentContanier 가운데 정렬 추가

* design: layout의 ContentContanier padding 추가

* feat: PropsAndConsTitle 구현

* feat: TimerCreationButton 구현

* feat: 테이블 타입 작성

* feat: 초를 분, 초로 포맷팅하는 함수 구현

* feat: DebatePanel 구현

* feat: 테이블 구성 페이지 초기 UI rngus

* feat: Pretendard 웹폰트  추가

* chore:  storybook 설정 추가

* test: DebatePanel 스토리 북 작성

* test: PropsAndConsTitle 스토리북 테스트 작성

* test: TimerCreationButton 스토리북 테스트 작성

* fix: 파일명에 불필요한 공백 제거

* [FEAT] 페이지 라우팅 적용 (#22)

* chore: install react-router-dom

* feat: App.tsx와 main.tsx 에서 라우팅 설정

* refactor: createBrowerRouter 방식 적용
- router.tsx 파일 생성하여 라우터 적용
- main.tsx 에서     <RouterProvider router={router} /> 적용

* chore: 불필요한 App.tsx 컴포넌트 삭제

* chore: eol prettier 적용

* [FEAT] 타이머 박스 생성 모달 구현 (#17)

* feat: 포털 렌더링 관리를 위한 GlobalPortal 컴포넌트 추가

* feat: 모달 생성을 위한 modal 커스텀 훅 구현

* feat: GlobalPortal 적용

* feat: 제출 이벤트, 버튼 추가

* feat: uesModal 구조 변경

* feat: Stance, DebateType에 export 추가

* test: useModal 테스트 코드 작성

* feat: 타이머 박스 생성 모달 구현

* feat: 타임 테이블 구성 페이지 피그마 UI에 맞게 구성

* refactor: 불필요한 테스트 파일 삭제

* test: 타임 테이블 구성 페이지 스토리북 작성

* test: 타임 테이블 구성 페이지 테스트 코드 작성

* refactor: params변경에 따른 수정

* test: GlbalPortal 추가

* chore: chromatic 추가

* fix: 파일명에 불필요한 공백 제거

* chore: 크로매틱 배포 토큰 변경

* [FEAT] 로그인 페이지 구현 (#24)

* feat: 로그인 페이지 전체 레이아웃

* feat: 로그인 버튼 구현

* feat: 닉네임 별 페이지 목록 페이지 라우팅 설정

* refactor: scale 효과 추가 및 font 굵기 조절

* refactor: tailwind css 가독성 향상 및 개선

* refactor: LinkButton 재사용성 향상
- url과 title을 props로 넘김

* chore: eslint 자동 정렬 설정

* chore: LoginPage eslint 자동 정렬 적용

* refactor: input placeholder 가독성 향상을 위해 글꼴 색깔 변경

* chore: lint와 test를 넣은 CI yml 파일 작성 (#27)

* [FEAT] 테이블 목록화면 구현 (#26)

* feat: TableListPage 와이어 프레임 구현

* refactor: grid 가운데 정렬 및 gap 추가

* feat: Table 컴포넌트 구현

* feat: AddTable 컴포넌트 구현
- 클릭 시 새로운 토론 생성

* feat: TableProps 추가

* 페이지 테이블 모달 구현

* refactor: 모달 와이어프레임 구현

* feat: 토론 시간 이름 및 토론 유형 UI 구현

* feat: 토론 유형 선택 토글 구현

* refactor: 토론 유형 토글 선택 기능 구현

* refactor: 토론 유형 토글 컴포넌트로 분리

* style: UI 색상 변경
- amber-500

* feat: CreateTableButton 컴포넌트 구현
- 테이블 만들기 버튼 클릭 시 '/' 로 이동

* refactor: Table 컴포넌트 라우팅 적용

* chore: dummy data 제거

* chore: dummy data 주석처리

* chore: dummy data 추가

* refactor: TableProps 타입 분리

* refactor: 닫기 버튼 가독성을 위해  위치 변경 및 크기 변경

* refactor: ModalProps 타입 분리

* chore: Table 컴포넌트에 시간 단위 '분' 추가

* refactor: Modal props 컴포넌트 안에 배치

* refactor: useModal 훅에 esc 닫는 기능 추가

* refactor: useModal 적용하여 기존 모달 리팩토링

* refactor: 모달 닫기 버튼 사이즈 변경

* refactor: TimerCreationContent Padding 증가

* refactor: Modal 닫기 버튼 위치 조정 및 사이즈 변경

* refactor: TableProps 분리 제거

* refactor: Modal 컴포넌트를 ModalWrapper 감싸기

* refactor: responsive Table UI 로 리팩토링

* refactor: responsive Modal UI 리팩토링

* refactor: Table 타입 분리 및 Type네이밍 변경

* [TEST] 로그인 페이지 Storybook 테스트코드 구현 (#31)

* feat: TableListPage 와이어 프레임 구현

* refactor: grid 가운데 정렬 및 gap 추가

* feat: Table 컴포넌트 구현

* feat: AddTable 컴포넌트 구현
- 클릭 시 새로운 토론 생성

* feat: TableProps 추가

* 페이지 테이블 모달 구현

* refactor: 모달 와이어프레임 구현

* feat: 토론 시간 이름 및 토론 유형 UI 구현

* feat: 토론 유형 선택 토글 구현

* refactor: 토론 유형 토글 선택 기능 구현

* refactor: 토론 유형 토글 컴포넌트로 분리

* style: UI 색상 변경
- amber-500

* feat: CreateTableButton 컴포넌트 구현
- 테이블 만들기 버튼 클릭 시 '/' 로 이동

* refactor: Table 컴포넌트 라우팅 적용

* chore: dummy data 제거

* chore: dummy data 주석처리

* chore: dummy data 추가

* refactor: TableProps 타입 분리

* refactor: 닫기 버튼 가독성을 위해  위치 변경 및 크기 변경

* refactor: ModalProps 타입 분리

* chore: Table 컴포넌트에 시간 단위 '분' 추가

* refactor: Modal props 컴포넌트 안에 배치

* refactor: useModal 훅에 esc 닫는 기능 추가

* refactor: useModal 적용하여 기존 모달 리팩토링

* refactor: 모달 닫기 버튼 사이즈 변경

* refactor: TimerCreationContent Padding 증가

* refactor: Modal 닫기 버튼 위치 조정 및 사이즈 변경

* refactor: TableProps 분리 제거

* refactor: Modal 컴포넌트를 ModalWrapper 감싸기

* refactor: responsive Table UI 로 리팩토링

* refactor: responsive Modal UI 리팩토링

* feat: LoginPage Storybook 구현

* test: LinkButton 스토리북 구현

* [FIX] 타임 테이블 구성 페이지 피드백 사항 반영 (#29)

* fix: 텍스트를 더 자세하게 수정

* feat: 최상단 컴포넌트에 GlobalPortal추가

* fix: 하단 버튼에 main의 content가 가려지던 문제 수정

* refactor: formatSecondsToMinutes 반환 값 변경

* feat: 선택 진영에 따라 모달 제목 텍스트 색상 변경

* feat: input을 select로 변경

* feat: stace에 따른 색상 변경 함수 구현

* feat: debateType가 중립일 경우 stance을 값을 빈문자열로 표시

* feat: input Numer의 leading zero삭제

* feat: 초기값을 이전 설정한 값으로 설정되게 변경

* feat: stace가 중립일 speakerNumber 수정 불가능하게 변경

* feat: 이전 데이터가 중립일 경우 debateType이 이전 데이터를 반영하지 않도록 변경

* [TEST] 테이블 목록 컴포넌트 Storybook 테스트코드 구현 (#35)

* test: Table 컴포넌트 Storybook 구현

* test: TableListPage 페이지 Storybook 구현

* test: DropdownForDebateType 컴포넌트 Storybook 구현

* fix: test 코드 통과를 위해 코드 h2 tag 수정

* [FEAT] 테이블 조회 화면 구현 (#34)

* refactor: PropsAndConsTitle의 재사용에 따른 폴더 위치 변경

* feat: 테이블 선택 페이지 기본 레이아웃 구현

* fix: footerWrapper을 flex정렬 방향 변경

* refactor: FixedFooterWrapper position 속정 변경에 따른 컴포넌트 명 수정

* feat: TableOverview 라우터 추가

* test: TableOverview 스토리북 작성

* test: PropsAndConsTitle의 위치 변경

* feat: 불필요한 주석 제거

* feat: 버튼 text 수정

* test: MemoryRouter추가

* fix: 사용되지 않은 getStanceColor 수정

* [TEST] 로그인 및 테이블 조회 컴포넌트 테스트코드 구현 (#37)

* [CHORE] API 처리를 위해 패키지 추가 (#39)

* chore: Added API-related packages to the project

* chore: Added and modified codes for API

- 가상 API 사용을 위한 msw 관련 파일 추가
- TanStack Query 및 msw 대응하여 main.tsx 수정

* chore: Let msw only enabled on 'dev-mock' mode

* chore: Added one blank line at end of package.json

* chore: Added EOL at end of environment variable files

* [FEAT] 테이블 수정 및 삭제 구현 (#44)

* chore: 수정 및 삭제 아이콘을 위해 react-icons 추가

* feat: Table 컴포넌트에 Icons 추가

* feat: implement handleDelete method

* feat: implement EditModalButton to edit Tables

* refactor: stopPropagation method with MouseEvent 추가
- 버튼 클릭 이벤트가 상위로 전파되는 것을 막기 위해서 추가함

* feat: Edit 버튼 눌렀을 때, CreateTableModal 나오게 구현

* chore: unused closeModal function 삭제

* feat: Table 삭제를 위해 DeleteModalButton 구현

* feat: EditTableModal 구현

* feat: EditTableButton 구현
- 이후 수정 RestAPI 로직 추가 필요

* refactor: Edit 관련 컴포넌트에 name 매개변수 추가

* refactor: DebateTable 타입에 extends하여 delete 타입 추가

* refactor: 토론 유형 수정 불가

* refactor: 토론유형 hover: curser-not-allowed 추가

* refactor: handleDelete 함수형 업데이트로 수정

* refactor: EditTableButton 컴포넌트에 closeModal 매개변수 추가

* fix: TableListPage 테스트코드 수정

* [FEAT] 타임박스에 수정 및 삭제 UI 추가 (#42)

* chore: 수정, 삭제 아이콘 이용을 위한 react-icons 추가

* style: 컴포넌트 간의 간경을 더 좁게 수정

* feat: 수정, 삭제 버튼을 합친 EditDeleteButtons 컴포넌트 구현

* style: 분기에 따른 컴포넌트의 높이를 동일하게 수정

* feat: 수정, 삭제 handler 함수 작성

* refactor: 가독성을 위해 중첩된 삼항연산자 분리

* feat: 삭제 버튼 클릭 시, 삭제 확인 모달 구현

* feat: EditDeleteButtons에 aria-label 추가

* test: EditDeleteButtons 스토리북 코드 작성

* feat: TableSetup 테스트에 수정, 삭제 기능 테스트 추가

* [FEAT] API 요청 관련 기능 구현 (#45)

* feat: Added API mocking handler

* feat: Implemented API request logics

- 추가로, BE API 명세서의 반환 예시에 맞추어 일부 변수 이름을 수정

* refactor: Applied some minor changes

- URL 생성 함수가 슬래시(/)를 여러 개 포함하는 문제 수정
- 모든 API 함수를 apis.ts에 통합 (추후 메소드 많아지면 분리)

* feat: Let msw handler catch arguments

그 외 변경사항으로, API 함수들에서 경로 매개변수(path parameters)가 생략되어 있었던 문제를 해결

* refactor: 주석 추가

* fix: DebateTable 인터페이스 변경에 따른 일부 오류 수정

* feat: Added string identifier for 'useQuery' function

---------



* [FEAT] 타임박스의 수정을 드래그앤드롭으로 변경하는 기능 구현 (#47)

* feat: 이벤트 발생 비용 감소를 위한 useThrottle 작성

* faet: 타임박스 드래그앤 드롭을 위한 useDragAndDrop 구현

* feat: 타임박스에 드래그앤드롭 영역 지정

* feat: TableSetup에 드래그앤 드롭 선언

* refactor: 불필요한 주석 삭제

* fix: 병합과정에서 발생한 오류 수정

* [CHORE] storybook에 전역적인 decorators 설정 추가 (#50)

* chore: 라우터, GlobalPortal설정을 전역 설정에 decorators로 추가

* chore: storybook에 msw 설정 추가

* [FIX] Mock Handler 파일에서 타입 에러 해결  (#54)

* feat: Table 타입인 TableInfo 정의

* refactor: result 객체에 속핸 info의 타입을 명시하기 위해 request에 TableInfo 타입 명시

* chore: 이미 정의되있던 PostDebateTableResponseType 타입 사용

* [CHORE] VS Code 작업 영역에 대한 설정 파일 추가 #62

* [FEAT] 타이머 화면 구현 (#58)

* feat: Implemented TimerPage

* feat: Applied sound effect

And applied minor design changed

* refactor: Let TimerComponent change TimerPage's background

* fix: NEUTRAL 항목에 불필요한 아이콘 뜨는 오류 수정

* feat: Added keyboard event listener on Timer

* fix: 토론 순서 조작 시 발생하는 인덱스 초과 오버플로우 해결

* feat: 피드백에 따른 디자인 변경 사항 반영

* feat: Added loading and error screen on TimerPage

* feat: Applied feedbacks from PR

* fix: 타이머가 현재 debateInfo의 index를 불러오지 못하는 오류 수정

* refactor: 콘솔 로깅 비활성화

* fix: Storybook 출력되지 않는 문제 수정

- use-sound 패키지 제거하고 HTML 태그로 소리 출력
- 별도 컴포넌트를 거치지 않고 직접 gif 파일을 불러와 출력

* refactor: Removed unnecessary codes and comments

* refactor: Hoisted all data and functions to the root page

* fix: Cleared focus on button when space bar pressed

* [FEAT] `ErrorBoundary` 도입 (#65)

* feat: ErrorBoundary 도입

* feat: Wrapped router with ErrorBoundaryWrapper

* feat: Enabled 'throwOnError' option on QueryClient

* feat: Added refresh button on ErrorPage

* refactor: Applied feedbacks from PR review

- Declared string constants for ErrorBoundary
- Set icon size on 'size' parameter instead of TailwindCSS 'className'

* [FEAT] API 연결과 테이블 생성과 수정을 위해 funnel 패턴을 이용하여 멀티 스텝 폼 구현 (#57)

* fix: 응답 타입을 문서에 맞게 수정

* feat: Agenda 타입 추가

* feat: 테이블을 추가하는 api 훅 추가

* feat: 테이블을 삭제하는 api 훅 추가

* feat: 사용자를 추가하는 api 훅 추가

* feat: 의회식 토론을 수정하는 api 훅 추가

* feat: 토론 리스트를 가져오는 api 훅 추가

* feat: 의호식 토론 정보를 가져오는 api 훅 추가

* style: 컴포넌트간의 간격 추가

* feat: multi-step form 구현을 위한 useFunnel 작성

* feat: multi-step form동안에 새로고침시에도 상태 유지를 위한 useBrowserStorage 구현

* feat: DropdownForDebateType의 로직 변경

* feat: 멀티 스텝을 이용한 방식으로 수정으로 인한 생성 모달, TableSetupPage를 변경

* feat: 테이블 생성과 수정을 위한 멀티 스텝 폼, TableComposition 구현

* feat: 테이블 form 정보 커스텀 훅 구현

* feat: 로그인 페이지에 상태와 api훅 추가

* fix: 타임박스 ui 버그 수정

* feat: 멀티 스텝 폼을 위해 TableSetupPage의 commponents 파일 이동

* feat: 테이블 수정을 모달에서 멀티스텝 폼 변경으로 인한 수정

* refactor: 더미 데이터 제거

* feat: composition 라우터 추가

* fix: 응답값에 맞게 msw 수정

* feat: 테이블 조회에 api 훅 추가

* refactor: 모달에서 멀티스텝폼 변경으로 인한 컴포넌트 명 변경

* fix: agenda와 type의 혼동으로 type 문제 수정

* fix: TableComposition 구현으로 인한 불필요한 파일 삭제

* fix: Type 타입을 영어로 수정

* fix: import 경로 수정

* feat: 테스트 mock을 위한 vitest 설정

* test: TableComposition 구현으로 인한 수정사항 반영

* feat: 버튼에 aria-label 추가

* chore: storybook msw 사용가능하게 설정 추가

* fix: stace 오타 변경

* test: storybook 경로 변경

* test: TableCompositon 스토리북 코드 작성

* fix: TableSetup삭제로 인한 라우터 변경

* chore: cleanup 함수 추가

* feat: 인터페이스 명 수정

* refactor: 한글에서 영어로 상수 변경

* refactor: NEUTRAL Stance 타입 변경

* refactor: typeMapping을 constants로 분리

* refactor: DebatePanel의 DebateTypeToString 수정

* refactor: type 값을 영어 상수로 변경

* [CHORE] 배포 파이프라인 자동화 구축 (#60)

* feat: useMutation 사용하여 restAPI post요청 구현

* refactor: useLoginUser 훅으로 분리

* chore: setting Up a Deployment Automation Pipeline

* chore: cd 파일 pr branch 명 변경

* fix: 불필요한 코드 지우기

* build: 패키지 매니저 변경

* build: pr types 추가

* fix: handleLogin 에 '/table' 경로로 라우팅 추가하여 test코드 통과

* fix: 올바른 test코드 위한 수정

* fix: mockServiceWorker 에서 불필요한 코드 삭제

* fix: mockServiceWorekr 필요없는 코드 삭제

* fix: 오류 해결을 위해 build 다시 생성

* fix: eslintignore 와 stylelintignore 설정을 통해 불필요한 검사 제외

* chore: gitignore 에 /dist 추가하여 빌드파일 제외

* chore: stylelintignore eol 추가

* chore: .eslintignore 삭제 및 eslint.config.js 파일 안 ignore 추가

* chore: dist 디렉토리 삭제

* chore: CD 파일에 pr types 에 'synchronize', 'reopened' 제거

* fix: 병합과정에 충돌 오류 수정

---------



* hotfix: 에러바운더리 코드가 삭제된 것에 대한 반영 (#69)

* [REFACTOR] 타이머 기능 개선 외 (#66)

* refactor: Applied several changes

- Changed interval to 1000 ms (1 sec)
- Added function that changes background to remove duplication of same codes
- Removed isRunning not necessary

* feat: Made TimerPage be able to catch parameters

* fix: Recovered deleted ErrorBoundary related files

* fix: Set icon size on 'size' argument instead of 'className'

* refactor: Separated loading component to page

* refactor: Applied several changes

- Moved TimerLoadingPage to /src/TimerPage from /src/TimerPage/component
- Set css file to print CR/LF correctly
- Changed 'useQuery' to 'useGetParliamentaryTableData' hook

* refactor: Deleted unneccesary codes

* [HOTFIX] GitHub Actions 빌드 실패 문제 해결 (#73)

- TableCompositionStep 상수 값을 한글(타임박스입력)에서 영어(TimeBox)로 바꾸며 발생한 문제 수정
- Type 상수 값을 한글(의회식 토론)에서 영어(PARLIAMENTARY)로 바꾸며 발생한 문제 수정

* [FEAT] AWS S3 및 FrontCloud dev, prod 각각 분리 배포 및 github action 구축 (#76)

* feat: useMutation 사용하여 restAPI post요청 구현

* refactor: useLoginUser 훅으로 분리

* chore: setting Up a Deployment Automation Pipeline

* chore: cd 파일 pr branch 명 변경

* fix: 불필요한 코드 지우기

* build: 패키지 매니저 변경

* build: pr types 추가

* fix: handleLogin 에 '/table' 경로로 라우팅 추가하여 test코드 통과

* fix: 올바른 test코드 위한 수정

* fix: mockServiceWorker 에서 불필요한 코드 삭제

* fix: mockServiceWorekr 필요없는 코드 삭제

* fix: 오류 해결을 위해 build 다시 생성

* fix: eslintignore 와 stylelintignore 설정을 통해 불필요한 검사 제외

* chore: gitignore 에 /dist 추가하여 빌드파일 제외

* chore: stylelintignore eol 추가

* chore: .eslintignore 삭제 및 eslint.config.js 파일 안 ignore 추가

* chore: dist 디렉토리 삭제

* chore: CD 파일에 pr types 에 'synchronize', 'reopened' 제거

* feat: dev 배포를 위한 deploy 코드 작성

* feat: prod 배포를 위한 deploy 코드 작성

* chore: merge 후 생성된 불 필요한 코드 삭제

* chore: dev 배포 명료성을 위해 access key 및 secret key 네이밍 변경

* chore: Dev 배포 관련 yml파일에서 bucket 네이밍 변경

* [FEAT] 닉네임 기반 로그인 구현 (#71)

* feat: 로그인 시, memberId를 반환하도록 변경

* feat: memberId를 session 스토리지에 저장하도록 util 함수 작성

* fix: currentStep을 영문으로 변경

* feat: 정적으로 선언되 memberId를 스토리지에서 가져오도록 변경

* refactor: route.tsx 위치를 routes 폴더로 변경

* feat: ProtectedRoute 구현

* feat:  ProtectedRoute 적용

* refactor: routes위치 변경에 따른 import 수정

* feat: 토론하기 클릭 시, TimerPage 연결

* refactor: 라우터 변경에 따른 수정사항 반영

---------



* [FEAT] 추가 작전 시간 타이머 구현 외 (#77)

* feat: Changed API base url to deployed server

* feat: Implemented AdditionalTimerComponent

* fix: Recovered horizontal padding of useModal wrapper

* feat: Deleted top margin of AdditionalTimerSummaryItem

* fix: Fixed linting errors

* fix: Removed hard-coded URL on source codes

* fix: Make app get server URL from .env file

* chore: Deleted .env files

* chore: Updated .gitignore file to ignore .env files

* [CHORE] 배포 최적화 및 배포 환경 구분 (#82)

* chore: Separated deploy environments and variables

* chore: Applined vite-plugin-compressions2 to compress builds

* chore: Changed job name

* fix: Added quotes on target path of Cloudfront cache invalidation

* chore: Changed web page title

* chore: Removed compression-related packages and codes

* [HOTFIX] 배포된 앱이 서버와 통신하지 못하는 문제 수정 (#84)

* [FIX] PostUserResponseType타입 수정, TableOverview에서 tableId를 url에서 정상적으로 가져오도록 수정 (#86)

* fix: PostUserResponseType 타입 변경

* fix: 정적 navigate 제거

* fix: 불필요한 console.log제거

* fix: tableId를 정상적으로 불러오도록 수정

---------

Co-authored-by: Shawn Kang <77564014+i-meant-to-be@users.noreply.github.com>
Co-authored-by: EunWoo <eunwoo1341@gmail.com>
jaeml06 added a commit that referenced this pull request Feb 4, 2025
* Update issue templates

* docs: 파일명 수정

* docs: PR 템플릿 생성 (#2)

* docs: 자동 issue 설정 할당

* docs: 불필요한 주석 제거

* docs: 이슈 프로젝트 권한 추가

* docs: 자동할당 로직 변경

* feat: 권한 문제로 자동 Project할당 제거

* docs: PR 자동할당 yml 작성

* docs: 불필요한 Project 정보 제거

* docs: Discord comment 알림 yml 작성

* chore: 프로젝트 초기 세팅

* chore: prettier 설정 추가

* feat: 3개의 영역으로 구분된 header(StickyTriSectionHeader) 구현

* feat: 하단에 고정되어 있는 footer wrapper 구현

* feat: main 레이아웃 구현

* feat: 중첩 컴포넌트로 기본 레이아웃 구현

* design: layout의 ContentContanier 가운데 정렬 추가

* design: layout의 ContentContanier padding 추가

* feat: PropsAndConsTitle 구현

* feat: TimerCreationButton 구현

* feat: 테이블 타입 작성

* feat: 초를 분, 초로 포맷팅하는 함수 구현

* feat: DebatePanel 구현

* feat: 테이블 구성 페이지 초기 UI rngus

* feat: Pretendard 웹폰트  추가

* chore:  storybook 설정 추가

* test: DebatePanel 스토리 북 작성

* test: PropsAndConsTitle 스토리북 테스트 작성

* test: TimerCreationButton 스토리북 테스트 작성

* fix: 파일명에 불필요한 공백 제거

* [FEAT] 페이지 라우팅 적용 (#22)

* chore: install react-router-dom

* feat: App.tsx와 main.tsx 에서 라우팅 설정

* refactor: createBrowerRouter 방식 적용
- router.tsx 파일 생성하여 라우터 적용
- main.tsx 에서     <RouterProvider router={router} /> 적용

* chore: 불필요한 App.tsx 컴포넌트 삭제

* chore: eol prettier 적용

* [FEAT] 타이머 박스 생성 모달 구현 (#17)

* feat: 포털 렌더링 관리를 위한 GlobalPortal 컴포넌트 추가

* feat: 모달 생성을 위한 modal 커스텀 훅 구현

* feat: GlobalPortal 적용

* feat: 제출 이벤트, 버튼 추가

* feat: uesModal 구조 변경

* feat: Stance, DebateType에 export 추가

* test: useModal 테스트 코드 작성

* feat: 타이머 박스 생성 모달 구현

* feat: 타임 테이블 구성 페이지 피그마 UI에 맞게 구성

* refactor: 불필요한 테스트 파일 삭제

* test: 타임 테이블 구성 페이지 스토리북 작성

* test: 타임 테이블 구성 페이지 테스트 코드 작성

* refactor: params변경에 따른 수정

* test: GlbalPortal 추가

* chore: chromatic 추가

* fix: 파일명에 불필요한 공백 제거

* chore: 크로매틱 배포 토큰 변경

* [FEAT] 로그인 페이지 구현 (#24)

* feat: 로그인 페이지 전체 레이아웃

* feat: 로그인 버튼 구현

* feat: 닉네임 별 페이지 목록 페이지 라우팅 설정

* refactor: scale 효과 추가 및 font 굵기 조절

* refactor: tailwind css 가독성 향상 및 개선

* refactor: LinkButton 재사용성 향상
- url과 title을 props로 넘김

* chore: eslint 자동 정렬 설정

* chore: LoginPage eslint 자동 정렬 적용

* refactor: input placeholder 가독성 향상을 위해 글꼴 색깔 변경

* chore: lint와 test를 넣은 CI yml 파일 작성 (#27)

* [FEAT] 테이블 목록화면 구현 (#26)

* feat: TableListPage 와이어 프레임 구현

* refactor: grid 가운데 정렬 및 gap 추가

* feat: Table 컴포넌트 구현

* feat: AddTable 컴포넌트 구현
- 클릭 시 새로운 토론 생성

* feat: TableProps 추가

* 페이지 테이블 모달 구현

* refactor: 모달 와이어프레임 구현

* feat: 토론 시간 이름 및 토론 유형 UI 구현

* feat: 토론 유형 선택 토글 구현

* refactor: 토론 유형 토글 선택 기능 구현

* refactor: 토론 유형 토글 컴포넌트로 분리

* style: UI 색상 변경
- amber-500

* feat: CreateTableButton 컴포넌트 구현
- 테이블 만들기 버튼 클릭 시 '/' 로 이동

* refactor: Table 컴포넌트 라우팅 적용

* chore: dummy data 제거

* chore: dummy data 주석처리

* chore: dummy data 추가

* refactor: TableProps 타입 분리

* refactor: 닫기 버튼 가독성을 위해  위치 변경 및 크기 변경

* refactor: ModalProps 타입 분리

* chore: Table 컴포넌트에 시간 단위 '분' 추가

* refactor: Modal props 컴포넌트 안에 배치

* refactor: useModal 훅에 esc 닫는 기능 추가

* refactor: useModal 적용하여 기존 모달 리팩토링

* refactor: 모달 닫기 버튼 사이즈 변경

* refactor: TimerCreationContent Padding 증가

* refactor: Modal 닫기 버튼 위치 조정 및 사이즈 변경

* refactor: TableProps 분리 제거

* refactor: Modal 컴포넌트를 ModalWrapper 감싸기

* refactor: responsive Table UI 로 리팩토링

* refactor: responsive Modal UI 리팩토링

* refactor: Table 타입 분리 및 Type네이밍 변경

* [TEST] 로그인 페이지 Storybook 테스트코드 구현 (#31)

* feat: TableListPage 와이어 프레임 구현

* refactor: grid 가운데 정렬 및 gap 추가

* feat: Table 컴포넌트 구현

* feat: AddTable 컴포넌트 구현
- 클릭 시 새로운 토론 생성

* feat: TableProps 추가

* 페이지 테이블 모달 구현

* refactor: 모달 와이어프레임 구현

* feat: 토론 시간 이름 및 토론 유형 UI 구현

* feat: 토론 유형 선택 토글 구현

* refactor: 토론 유형 토글 선택 기능 구현

* refactor: 토론 유형 토글 컴포넌트로 분리

* style: UI 색상 변경
- amber-500

* feat: CreateTableButton 컴포넌트 구현
- 테이블 만들기 버튼 클릭 시 '/' 로 이동

* refactor: Table 컴포넌트 라우팅 적용

* chore: dummy data 제거

* chore: dummy data 주석처리

* chore: dummy data 추가

* refactor: TableProps 타입 분리

* refactor: 닫기 버튼 가독성을 위해  위치 변경 및 크기 변경

* refactor: ModalProps 타입 분리

* chore: Table 컴포넌트에 시간 단위 '분' 추가

* refactor: Modal props 컴포넌트 안에 배치

* refactor: useModal 훅에 esc 닫는 기능 추가

* refactor: useModal 적용하여 기존 모달 리팩토링

* refactor: 모달 닫기 버튼 사이즈 변경

* refactor: TimerCreationContent Padding 증가

* refactor: Modal 닫기 버튼 위치 조정 및 사이즈 변경

* refactor: TableProps 분리 제거

* refactor: Modal 컴포넌트를 ModalWrapper 감싸기

* refactor: responsive Table UI 로 리팩토링

* refactor: responsive Modal UI 리팩토링

* feat: LoginPage Storybook 구현

* test: LinkButton 스토리북 구현

* [FIX] 타임 테이블 구성 페이지 피드백 사항 반영 (#29)

* fix: 텍스트를 더 자세하게 수정

* feat: 최상단 컴포넌트에 GlobalPortal추가

* fix: 하단 버튼에 main의 content가 가려지던 문제 수정

* refactor: formatSecondsToMinutes 반환 값 변경

* feat: 선택 진영에 따라 모달 제목 텍스트 색상 변경

* feat: input을 select로 변경

* feat: stace에 따른 색상 변경 함수 구현

* feat: debateType가 중립일 경우 stance을 값을 빈문자열로 표시

* feat: input Numer의 leading zero삭제

* feat: 초기값을 이전 설정한 값으로 설정되게 변경

* feat: stace가 중립일 speakerNumber 수정 불가능하게 변경

* feat: 이전 데이터가 중립일 경우 debateType이 이전 데이터를 반영하지 않도록 변경

* [TEST] 테이블 목록 컴포넌트 Storybook 테스트코드 구현 (#35)

* test: Table 컴포넌트 Storybook 구현

* test: TableListPage 페이지 Storybook 구현

* test: DropdownForDebateType 컴포넌트 Storybook 구현

* fix: test 코드 통과를 위해 코드 h2 tag 수정

* [FEAT] 테이블 조회 화면 구현 (#34)

* refactor: PropsAndConsTitle의 재사용에 따른 폴더 위치 변경

* feat: 테이블 선택 페이지 기본 레이아웃 구현

* fix: footerWrapper을 flex정렬 방향 변경

* refactor: FixedFooterWrapper position 속정 변경에 따른 컴포넌트 명 수정

* feat: TableOverview 라우터 추가

* test: TableOverview 스토리북 작성

* test: PropsAndConsTitle의 위치 변경

* feat: 불필요한 주석 제거

* feat: 버튼 text 수정

* test: MemoryRouter추가

* fix: 사용되지 않은 getStanceColor 수정

* [TEST] 로그인 및 테이블 조회 컴포넌트 테스트코드 구현 (#37)

* [CHORE] API 처리를 위해 패키지 추가 (#39)

* chore: Added API-related packages to the project

* chore: Added and modified codes for API

- 가상 API 사용을 위한 msw 관련 파일 추가
- TanStack Query 및 msw 대응하여 main.tsx 수정

* chore: Let msw only enabled on 'dev-mock' mode

* chore: Added one blank line at end of package.json

* chore: Added EOL at end of environment variable files

* [FEAT] 테이블 수정 및 삭제 구현 (#44)

* chore: 수정 및 삭제 아이콘을 위해 react-icons 추가

* feat: Table 컴포넌트에 Icons 추가

* feat: implement handleDelete method

* feat: implement EditModalButton to edit Tables

* refactor: stopPropagation method with MouseEvent 추가
- 버튼 클릭 이벤트가 상위로 전파되는 것을 막기 위해서 추가함

* feat: Edit 버튼 눌렀을 때, CreateTableModal 나오게 구현

* chore: unused closeModal function 삭제

* feat: Table 삭제를 위해 DeleteModalButton 구현

* feat: EditTableModal 구현

* feat: EditTableButton 구현
- 이후 수정 RestAPI 로직 추가 필요

* refactor: Edit 관련 컴포넌트에 name 매개변수 추가

* refactor: DebateTable 타입에 extends하여 delete 타입 추가

* refactor: 토론 유형 수정 불가

* refactor: 토론유형 hover: curser-not-allowed 추가

* refactor: handleDelete 함수형 업데이트로 수정

* refactor: EditTableButton 컴포넌트에 closeModal 매개변수 추가

* fix: TableListPage 테스트코드 수정

* [FEAT] 타임박스에 수정 및 삭제 UI 추가 (#42)

* chore: 수정, 삭제 아이콘 이용을 위한 react-icons 추가

* style: 컴포넌트 간의 간경을 더 좁게 수정

* feat: 수정, 삭제 버튼을 합친 EditDeleteButtons 컴포넌트 구현

* style: 분기에 따른 컴포넌트의 높이를 동일하게 수정

* feat: 수정, 삭제 handler 함수 작성

* refactor: 가독성을 위해 중첩된 삼항연산자 분리

* feat: 삭제 버튼 클릭 시, 삭제 확인 모달 구현

* feat: EditDeleteButtons에 aria-label 추가

* test: EditDeleteButtons 스토리북 코드 작성

* feat: TableSetup 테스트에 수정, 삭제 기능 테스트 추가

* [FEAT] API 요청 관련 기능 구현 (#45)

* feat: Added API mocking handler

* feat: Implemented API request logics

- 추가로, BE API 명세서의 반환 예시에 맞추어 일부 변수 이름을 수정

* refactor: Applied some minor changes

- URL 생성 함수가 슬래시(/)를 여러 개 포함하는 문제 수정
- 모든 API 함수를 apis.ts에 통합 (추후 메소드 많아지면 분리)

* feat: Let msw handler catch arguments

그 외 변경사항으로, API 함수들에서 경로 매개변수(path parameters)가 생략되어 있었던 문제를 해결

* refactor: 주석 추가

* fix: DebateTable 인터페이스 변경에 따른 일부 오류 수정

* feat: Added string identifier for 'useQuery' function

---------



* [FEAT] 타임박스의 수정을 드래그앤드롭으로 변경하는 기능 구현 (#47)

* feat: 이벤트 발생 비용 감소를 위한 useThrottle 작성

* faet: 타임박스 드래그앤 드롭을 위한 useDragAndDrop 구현

* feat: 타임박스에 드래그앤드롭 영역 지정

* feat: TableSetup에 드래그앤 드롭 선언

* refactor: 불필요한 주석 삭제

* fix: 병합과정에서 발생한 오류 수정

* [CHORE] storybook에 전역적인 decorators 설정 추가 (#50)

* chore: 라우터, GlobalPortal설정을 전역 설정에 decorators로 추가

* chore: storybook에 msw 설정 추가

* [FIX] Mock Handler 파일에서 타입 에러 해결  (#54)

* feat: Table 타입인 TableInfo 정의

* refactor: result 객체에 속핸 info의 타입을 명시하기 위해 request에 TableInfo 타입 명시

* chore: 이미 정의되있던 PostDebateTableResponseType 타입 사용

* [CHORE] VS Code 작업 영역에 대한 설정 파일 추가 #62

* [FEAT] 타이머 화면 구현 (#58)

* feat: Implemented TimerPage

* feat: Applied sound effect

And applied minor design changed

* refactor: Let TimerComponent change TimerPage's background

* fix: NEUTRAL 항목에 불필요한 아이콘 뜨는 오류 수정

* feat: Added keyboard event listener on Timer

* fix: 토론 순서 조작 시 발생하는 인덱스 초과 오버플로우 해결

* feat: 피드백에 따른 디자인 변경 사항 반영

* feat: Added loading and error screen on TimerPage

* feat: Applied feedbacks from PR

* fix: 타이머가 현재 debateInfo의 index를 불러오지 못하는 오류 수정

* refactor: 콘솔 로깅 비활성화

* fix: Storybook 출력되지 않는 문제 수정

- use-sound 패키지 제거하고 HTML 태그로 소리 출력
- 별도 컴포넌트를 거치지 않고 직접 gif 파일을 불러와 출력

* refactor: Removed unnecessary codes and comments

* refactor: Hoisted all data and functions to the root page

* fix: Cleared focus on button when space bar pressed

* [FEAT] `ErrorBoundary` 도입 (#65)

* feat: ErrorBoundary 도입

* feat: Wrapped router with ErrorBoundaryWrapper

* feat: Enabled 'throwOnError' option on QueryClient

* feat: Added refresh button on ErrorPage

* refactor: Applied feedbacks from PR review

- Declared string constants for ErrorBoundary
- Set icon size on 'size' parameter instead of TailwindCSS 'className'

* [FEAT] API 연결과 테이블 생성과 수정을 위해 funnel 패턴을 이용하여 멀티 스텝 폼 구현 (#57)

* fix: 응답 타입을 문서에 맞게 수정

* feat: Agenda 타입 추가

* feat: 테이블을 추가하는 api 훅 추가

* feat: 테이블을 삭제하는 api 훅 추가

* feat: 사용자를 추가하는 api 훅 추가

* feat: 의회식 토론을 수정하는 api 훅 추가

* feat: 토론 리스트를 가져오는 api 훅 추가

* feat: 의호식 토론 정보를 가져오는 api 훅 추가

* style: 컴포넌트간의 간격 추가

* feat: multi-step form 구현을 위한 useFunnel 작성

* feat: multi-step form동안에 새로고침시에도 상태 유지를 위한 useBrowserStorage 구현

* feat: DropdownForDebateType의 로직 변경

* feat: 멀티 스텝을 이용한 방식으로 수정으로 인한 생성 모달, TableSetupPage를 변경

* feat: 테이블 생성과 수정을 위한 멀티 스텝 폼, TableComposition 구현

* feat: 테이블 form 정보 커스텀 훅 구현

* feat: 로그인 페이지에 상태와 api훅 추가

* fix: 타임박스 ui 버그 수정

* feat: 멀티 스텝 폼을 위해 TableSetupPage의 commponents 파일 이동

* feat: 테이블 수정을 모달에서 멀티스텝 폼 변경으로 인한 수정

* refactor: 더미 데이터 제거

* feat: composition 라우터 추가

* fix: 응답값에 맞게 msw 수정

* feat: 테이블 조회에 api 훅 추가

* refactor: 모달에서 멀티스텝폼 변경으로 인한 컴포넌트 명 변경

* fix: agenda와 type의 혼동으로 type 문제 수정

* fix: TableComposition 구현으로 인한 불필요한 파일 삭제

* fix: Type 타입을 영어로 수정

* fix: import 경로 수정

* feat: 테스트 mock을 위한 vitest 설정

* test: TableComposition 구현으로 인한 수정사항 반영

* feat: 버튼에 aria-label 추가

* chore: storybook msw 사용가능하게 설정 추가

* fix: stace 오타 변경

* test: storybook 경로 변경

* test: TableCompositon 스토리북 코드 작성

* fix: TableSetup삭제로 인한 라우터 변경

* chore: cleanup 함수 추가

* feat: 인터페이스 명 수정

* refactor: 한글에서 영어로 상수 변경

* refactor: NEUTRAL Stance 타입 변경

* refactor: typeMapping을 constants로 분리

* refactor: DebatePanel의 DebateTypeToString 수정

* refactor: type 값을 영어 상수로 변경

* [CHORE] 배포 파이프라인 자동화 구축 (#60)

* feat: useMutation 사용하여 restAPI post요청 구현

* refactor: useLoginUser 훅으로 분리

* chore: setting Up a Deployment Automation Pipeline

* chore: cd 파일 pr branch 명 변경

* fix: 불필요한 코드 지우기

* build: 패키지 매니저 변경

* build: pr types 추가

* fix: handleLogin 에 '/table' 경로로 라우팅 추가하여 test코드 통과

* fix: 올바른 test코드 위한 수정

* fix: mockServiceWorker 에서 불필요한 코드 삭제

* fix: mockServiceWorekr 필요없는 코드 삭제

* fix: 오류 해결을 위해 build 다시 생성

* fix: eslintignore 와 stylelintignore 설정을 통해 불필요한 검사 제외

* chore: gitignore 에 /dist 추가하여 빌드파일 제외

* chore: stylelintignore eol 추가

* chore: .eslintignore 삭제 및 eslint.config.js 파일 안 ignore 추가

* chore: dist 디렉토리 삭제

* chore: CD 파일에 pr types 에 'synchronize', 'reopened' 제거

* fix: 병합과정에 충돌 오류 수정

---------



* hotfix: 에러바운더리 코드가 삭제된 것에 대한 반영 (#69)

* [REFACTOR] 타이머 기능 개선 외 (#66)

* refactor: Applied several changes

- Changed interval to 1000 ms (1 sec)
- Added function that changes background to remove duplication of same codes
- Removed isRunning not necessary

* feat: Made TimerPage be able to catch parameters

* fix: Recovered deleted ErrorBoundary related files

* fix: Set icon size on 'size' argument instead of 'className'

* refactor: Separated loading component to page

* refactor: Applied several changes

- Moved TimerLoadingPage to /src/TimerPage from /src/TimerPage/component
- Set css file to print CR/LF correctly
- Changed 'useQuery' to 'useGetParliamentaryTableData' hook

* refactor: Deleted unneccesary codes

* [HOTFIX] GitHub Actions 빌드 실패 문제 해결 (#73)

- TableCompositionStep 상수 값을 한글(타임박스입력)에서 영어(TimeBox)로 바꾸며 발생한 문제 수정
- Type 상수 값을 한글(의회식 토론)에서 영어(PARLIAMENTARY)로 바꾸며 발생한 문제 수정

* [FEAT] AWS S3 및 FrontCloud dev, prod 각각 분리 배포 및 github action 구축 (#76)

* feat: useMutation 사용하여 restAPI post요청 구현

* refactor: useLoginUser 훅으로 분리

* chore: setting Up a Deployment Automation Pipeline

* chore: cd 파일 pr branch 명 변경

* fix: 불필요한 코드 지우기

* build: 패키지 매니저 변경

* build: pr types 추가

* fix: handleLogin 에 '/table' 경로로 라우팅 추가하여 test코드 통과

* fix: 올바른 test코드 위한 수정

* fix: mockServiceWorker 에서 불필요한 코드 삭제

* fix: mockServiceWorekr 필요없는 코드 삭제

* fix: 오류 해결을 위해 build 다시 생성

* fix: eslintignore 와 stylelintignore 설정을 통해 불필요한 검사 제외

* chore: gitignore 에 /dist 추가하여 빌드파일 제외

* chore: stylelintignore eol 추가

* chore: .eslintignore 삭제 및 eslint.config.js 파일 안 ignore 추가

* chore: dist 디렉토리 삭제

* chore: CD 파일에 pr types 에 'synchronize', 'reopened' 제거

* feat: dev 배포를 위한 deploy 코드 작성

* feat: prod 배포를 위한 deploy 코드 작성

* chore: merge 후 생성된 불 필요한 코드 삭제

* chore: dev 배포 명료성을 위해 access key 및 secret key 네이밍 변경

* chore: Dev 배포 관련 yml파일에서 bucket 네이밍 변경

* [FEAT] 닉네임 기반 로그인 구현 (#71)

* feat: 로그인 시, memberId를 반환하도록 변경

* feat: memberId를 session 스토리지에 저장하도록 util 함수 작성

* fix: currentStep을 영문으로 변경

* feat: 정적으로 선언되 memberId를 스토리지에서 가져오도록 변경

* refactor: route.tsx 위치를 routes 폴더로 변경

* feat: ProtectedRoute 구현

* feat:  ProtectedRoute 적용

* refactor: routes위치 변경에 따른 import 수정

* feat: 토론하기 클릭 시, TimerPage 연결

* refactor: 라우터 변경에 따른 수정사항 반영

---------



* [FEAT] 추가 작전 시간 타이머 구현 외 (#77)

* feat: Changed API base url to deployed server

* feat: Implemented AdditionalTimerComponent

* fix: Recovered horizontal padding of useModal wrapper

* feat: Deleted top margin of AdditionalTimerSummaryItem

* fix: Fixed linting errors

* fix: Removed hard-coded URL on source codes

* fix: Make app get server URL from .env file

* chore: Deleted .env files

* chore: Updated .gitignore file to ignore .env files

* [CHORE] 배포 최적화 및 배포 환경 구분 (#82)

* chore: Separated deploy environments and variables

* chore: Applined vite-plugin-compressions2 to compress builds

* chore: Changed job name

* fix: Added quotes on target path of Cloudfront cache invalidation

* chore: Changed web page title

* chore: Removed compression-related packages and codes

* [HOTFIX] 배포된 앱이 서버와 통신하지 못하는 문제 수정 (#84)

* [FIX] PostUserResponseType타입 수정, TableOverview에서 tableId를 url에서 정상적으로 가져오도록 수정 (#86)

* fix: PostUserResponseType 타입 변경

* fix: 정적 navigate 제거

* fix: 불필요한 console.log제거

* fix: tableId를 정상적으로 불러오도록 수정

---------

Co-authored-by: Shawn Kang <77564014+i-meant-to-be@users.noreply.github.com>
Co-authored-by: EunWoo <eunwoo1341@gmail.com>
jaeml06 added a commit that referenced this pull request Feb 4, 2025
* Update issue templates

* docs: 파일명 수정

* docs: PR 템플릿 생성 (#2)

* docs: 자동 issue 설정 할당

* docs: 불필요한 주석 제거

* docs: 이슈 프로젝트 권한 추가

* docs: 자동할당 로직 변경

* feat: 권한 문제로 자동 Project할당 제거

* docs: PR 자동할당 yml 작성

* docs: 불필요한 Project 정보 제거

* docs: Discord comment 알림 yml 작성

* chore: 프로젝트 초기 세팅

* chore: prettier 설정 추가

* feat: 3개의 영역으로 구분된 header(StickyTriSectionHeader) 구현

* feat: 하단에 고정되어 있는 footer wrapper 구현

* feat: main 레이아웃 구현

* feat: 중첩 컴포넌트로 기본 레이아웃 구현

* design: layout의 ContentContanier 가운데 정렬 추가

* design: layout의 ContentContanier padding 추가

* feat: PropsAndConsTitle 구현

* feat: TimerCreationButton 구현

* feat: 테이블 타입 작성

* feat: 초를 분, 초로 포맷팅하는 함수 구현

* feat: DebatePanel 구현

* feat: 테이블 구성 페이지 초기 UI rngus

* feat: Pretendard 웹폰트  추가

* chore:  storybook 설정 추가

* test: DebatePanel 스토리 북 작성

* test: PropsAndConsTitle 스토리북 테스트 작성

* test: TimerCreationButton 스토리북 테스트 작성

* fix: 파일명에 불필요한 공백 제거

* [FEAT] 페이지 라우팅 적용 (#22)

* chore: install react-router-dom

* feat: App.tsx와 main.tsx 에서 라우팅 설정

* refactor: createBrowerRouter 방식 적용
- router.tsx 파일 생성하여 라우터 적용
- main.tsx 에서     <RouterProvider router={router} /> 적용

* chore: 불필요한 App.tsx 컴포넌트 삭제

* chore: eol prettier 적용

* [FEAT] 타이머 박스 생성 모달 구현 (#17)

* feat: 포털 렌더링 관리를 위한 GlobalPortal 컴포넌트 추가

* feat: 모달 생성을 위한 modal 커스텀 훅 구현

* feat: GlobalPortal 적용

* feat: 제출 이벤트, 버튼 추가

* feat: uesModal 구조 변경

* feat: Stance, DebateType에 export 추가

* test: useModal 테스트 코드 작성

* feat: 타이머 박스 생성 모달 구현

* feat: 타임 테이블 구성 페이지 피그마 UI에 맞게 구성

* refactor: 불필요한 테스트 파일 삭제

* test: 타임 테이블 구성 페이지 스토리북 작성

* test: 타임 테이블 구성 페이지 테스트 코드 작성

* refactor: params변경에 따른 수정

* test: GlbalPortal 추가

* chore: chromatic 추가

* fix: 파일명에 불필요한 공백 제거

* chore: 크로매틱 배포 토큰 변경

* [FEAT] 로그인 페이지 구현 (#24)

* feat: 로그인 페이지 전체 레이아웃

* feat: 로그인 버튼 구현

* feat: 닉네임 별 페이지 목록 페이지 라우팅 설정

* refactor: scale 효과 추가 및 font 굵기 조절

* refactor: tailwind css 가독성 향상 및 개선

* refactor: LinkButton 재사용성 향상
- url과 title을 props로 넘김

* chore: eslint 자동 정렬 설정

* chore: LoginPage eslint 자동 정렬 적용

* refactor: input placeholder 가독성 향상을 위해 글꼴 색깔 변경

* chore: lint와 test를 넣은 CI yml 파일 작성 (#27)

* [FEAT] 테이블 목록화면 구현 (#26)

* feat: TableListPage 와이어 프레임 구현

* refactor: grid 가운데 정렬 및 gap 추가

* feat: Table 컴포넌트 구현

* feat: AddTable 컴포넌트 구현
- 클릭 시 새로운 토론 생성

* feat: TableProps 추가

* 페이지 테이블 모달 구현

* refactor: 모달 와이어프레임 구현

* feat: 토론 시간 이름 및 토론 유형 UI 구현

* feat: 토론 유형 선택 토글 구현

* refactor: 토론 유형 토글 선택 기능 구현

* refactor: 토론 유형 토글 컴포넌트로 분리

* style: UI 색상 변경
- amber-500

* feat: CreateTableButton 컴포넌트 구현
- 테이블 만들기 버튼 클릭 시 '/' 로 이동

* refactor: Table 컴포넌트 라우팅 적용

* chore: dummy data 제거

* chore: dummy data 주석처리

* chore: dummy data 추가

* refactor: TableProps 타입 분리

* refactor: 닫기 버튼 가독성을 위해  위치 변경 및 크기 변경

* refactor: ModalProps 타입 분리

* chore: Table 컴포넌트에 시간 단위 '분' 추가

* refactor: Modal props 컴포넌트 안에 배치

* refactor: useModal 훅에 esc 닫는 기능 추가

* refactor: useModal 적용하여 기존 모달 리팩토링

* refactor: 모달 닫기 버튼 사이즈 변경

* refactor: TimerCreationContent Padding 증가

* refactor: Modal 닫기 버튼 위치 조정 및 사이즈 변경

* refactor: TableProps 분리 제거

* refactor: Modal 컴포넌트를 ModalWrapper 감싸기

* refactor: responsive Table UI 로 리팩토링

* refactor: responsive Modal UI 리팩토링

* refactor: Table 타입 분리 및 Type네이밍 변경

* [TEST] 로그인 페이지 Storybook 테스트코드 구현 (#31)

* feat: TableListPage 와이어 프레임 구현

* refactor: grid 가운데 정렬 및 gap 추가

* feat: Table 컴포넌트 구현

* feat: AddTable 컴포넌트 구현
- 클릭 시 새로운 토론 생성

* feat: TableProps 추가

* 페이지 테이블 모달 구현

* refactor: 모달 와이어프레임 구현

* feat: 토론 시간 이름 및 토론 유형 UI 구현

* feat: 토론 유형 선택 토글 구현

* refactor: 토론 유형 토글 선택 기능 구현

* refactor: 토론 유형 토글 컴포넌트로 분리

* style: UI 색상 변경
- amber-500

* feat: CreateTableButton 컴포넌트 구현
- 테이블 만들기 버튼 클릭 시 '/' 로 이동

* refactor: Table 컴포넌트 라우팅 적용

* chore: dummy data 제거

* chore: dummy data 주석처리

* chore: dummy data 추가

* refactor: TableProps 타입 분리

* refactor: 닫기 버튼 가독성을 위해  위치 변경 및 크기 변경

* refactor: ModalProps 타입 분리

* chore: Table 컴포넌트에 시간 단위 '분' 추가

* refactor: Modal props 컴포넌트 안에 배치

* refactor: useModal 훅에 esc 닫는 기능 추가

* refactor: useModal 적용하여 기존 모달 리팩토링

* refactor: 모달 닫기 버튼 사이즈 변경

* refactor: TimerCreationContent Padding 증가

* refactor: Modal 닫기 버튼 위치 조정 및 사이즈 변경

* refactor: TableProps 분리 제거

* refactor: Modal 컴포넌트를 ModalWrapper 감싸기

* refactor: responsive Table UI 로 리팩토링

* refactor: responsive Modal UI 리팩토링

* feat: LoginPage Storybook 구현

* test: LinkButton 스토리북 구현

* [FIX] 타임 테이블 구성 페이지 피드백 사항 반영 (#29)

* fix: 텍스트를 더 자세하게 수정

* feat: 최상단 컴포넌트에 GlobalPortal추가

* fix: 하단 버튼에 main의 content가 가려지던 문제 수정

* refactor: formatSecondsToMinutes 반환 값 변경

* feat: 선택 진영에 따라 모달 제목 텍스트 색상 변경

* feat: input을 select로 변경

* feat: stace에 따른 색상 변경 함수 구현

* feat: debateType가 중립일 경우 stance을 값을 빈문자열로 표시

* feat: input Numer의 leading zero삭제

* feat: 초기값을 이전 설정한 값으로 설정되게 변경

* feat: stace가 중립일 speakerNumber 수정 불가능하게 변경

* feat: 이전 데이터가 중립일 경우 debateType이 이전 데이터를 반영하지 않도록 변경

* [TEST] 테이블 목록 컴포넌트 Storybook 테스트코드 구현 (#35)

* test: Table 컴포넌트 Storybook 구현

* test: TableListPage 페이지 Storybook 구현

* test: DropdownForDebateType 컴포넌트 Storybook 구현

* fix: test 코드 통과를 위해 코드 h2 tag 수정

* [FEAT] 테이블 조회 화면 구현 (#34)

* refactor: PropsAndConsTitle의 재사용에 따른 폴더 위치 변경

* feat: 테이블 선택 페이지 기본 레이아웃 구현

* fix: footerWrapper을 flex정렬 방향 변경

* refactor: FixedFooterWrapper position 속정 변경에 따른 컴포넌트 명 수정

* feat: TableOverview 라우터 추가

* test: TableOverview 스토리북 작성

* test: PropsAndConsTitle의 위치 변경

* feat: 불필요한 주석 제거

* feat: 버튼 text 수정

* test: MemoryRouter추가

* fix: 사용되지 않은 getStanceColor 수정

* [TEST] 로그인 및 테이블 조회 컴포넌트 테스트코드 구현 (#37)

* [CHORE] API 처리를 위해 패키지 추가 (#39)

* chore: Added API-related packages to the project

* chore: Added and modified codes for API

- 가상 API 사용을 위한 msw 관련 파일 추가
- TanStack Query 및 msw 대응하여 main.tsx 수정

* chore: Let msw only enabled on 'dev-mock' mode

* chore: Added one blank line at end of package.json

* chore: Added EOL at end of environment variable files

* [FEAT] 테이블 수정 및 삭제 구현 (#44)

* chore: 수정 및 삭제 아이콘을 위해 react-icons 추가

* feat: Table 컴포넌트에 Icons 추가

* feat: implement handleDelete method

* feat: implement EditModalButton to edit Tables

* refactor: stopPropagation method with MouseEvent 추가
- 버튼 클릭 이벤트가 상위로 전파되는 것을 막기 위해서 추가함

* feat: Edit 버튼 눌렀을 때, CreateTableModal 나오게 구현

* chore: unused closeModal function 삭제

* feat: Table 삭제를 위해 DeleteModalButton 구현

* feat: EditTableModal 구현

* feat: EditTableButton 구현
- 이후 수정 RestAPI 로직 추가 필요

* refactor: Edit 관련 컴포넌트에 name 매개변수 추가

* refactor: DebateTable 타입에 extends하여 delete 타입 추가

* refactor: 토론 유형 수정 불가

* refactor: 토론유형 hover: curser-not-allowed 추가

* refactor: handleDelete 함수형 업데이트로 수정

* refactor: EditTableButton 컴포넌트에 closeModal 매개변수 추가

* fix: TableListPage 테스트코드 수정

* [FEAT] 타임박스에 수정 및 삭제 UI 추가 (#42)

* chore: 수정, 삭제 아이콘 이용을 위한 react-icons 추가

* style: 컴포넌트 간의 간경을 더 좁게 수정

* feat: 수정, 삭제 버튼을 합친 EditDeleteButtons 컴포넌트 구현

* style: 분기에 따른 컴포넌트의 높이를 동일하게 수정

* feat: 수정, 삭제 handler 함수 작성

* refactor: 가독성을 위해 중첩된 삼항연산자 분리

* feat: 삭제 버튼 클릭 시, 삭제 확인 모달 구현

* feat: EditDeleteButtons에 aria-label 추가

* test: EditDeleteButtons 스토리북 코드 작성

* feat: TableSetup 테스트에 수정, 삭제 기능 테스트 추가

* [FEAT] API 요청 관련 기능 구현 (#45)

* feat: Added API mocking handler

* feat: Implemented API request logics

- 추가로, BE API 명세서의 반환 예시에 맞추어 일부 변수 이름을 수정

* refactor: Applied some minor changes

- URL 생성 함수가 슬래시(/)를 여러 개 포함하는 문제 수정
- 모든 API 함수를 apis.ts에 통합 (추후 메소드 많아지면 분리)

* feat: Let msw handler catch arguments

그 외 변경사항으로, API 함수들에서 경로 매개변수(path parameters)가 생략되어 있었던 문제를 해결

* refactor: 주석 추가

* fix: DebateTable 인터페이스 변경에 따른 일부 오류 수정

* feat: Added string identifier for 'useQuery' function

---------



* [FEAT] 타임박스의 수정을 드래그앤드롭으로 변경하는 기능 구현 (#47)

* feat: 이벤트 발생 비용 감소를 위한 useThrottle 작성

* faet: 타임박스 드래그앤 드롭을 위한 useDragAndDrop 구현

* feat: 타임박스에 드래그앤드롭 영역 지정

* feat: TableSetup에 드래그앤 드롭 선언

* refactor: 불필요한 주석 삭제

* fix: 병합과정에서 발생한 오류 수정

* [CHORE] storybook에 전역적인 decorators 설정 추가 (#50)

* chore: 라우터, GlobalPortal설정을 전역 설정에 decorators로 추가

* chore: storybook에 msw 설정 추가

* [FIX] Mock Handler 파일에서 타입 에러 해결  (#54)

* feat: Table 타입인 TableInfo 정의

* refactor: result 객체에 속핸 info의 타입을 명시하기 위해 request에 TableInfo 타입 명시

* chore: 이미 정의되있던 PostDebateTableResponseType 타입 사용

* [CHORE] VS Code 작업 영역에 대한 설정 파일 추가 #62

* [FEAT] 타이머 화면 구현 (#58)

* feat: Implemented TimerPage

* feat: Applied sound effect

And applied minor design changed

* refactor: Let TimerComponent change TimerPage's background

* fix: NEUTRAL 항목에 불필요한 아이콘 뜨는 오류 수정

* feat: Added keyboard event listener on Timer

* fix: 토론 순서 조작 시 발생하는 인덱스 초과 오버플로우 해결

* feat: 피드백에 따른 디자인 변경 사항 반영

* feat: Added loading and error screen on TimerPage

* feat: Applied feedbacks from PR

* fix: 타이머가 현재 debateInfo의 index를 불러오지 못하는 오류 수정

* refactor: 콘솔 로깅 비활성화

* fix: Storybook 출력되지 않는 문제 수정

- use-sound 패키지 제거하고 HTML 태그로 소리 출력
- 별도 컴포넌트를 거치지 않고 직접 gif 파일을 불러와 출력

* refactor: Removed unnecessary codes and comments

* refactor: Hoisted all data and functions to the root page

* fix: Cleared focus on button when space bar pressed

* [FEAT] `ErrorBoundary` 도입 (#65)

* feat: ErrorBoundary 도입

* feat: Wrapped router with ErrorBoundaryWrapper

* feat: Enabled 'throwOnError' option on QueryClient

* feat: Added refresh button on ErrorPage

* refactor: Applied feedbacks from PR review

- Declared string constants for ErrorBoundary
- Set icon size on 'size' parameter instead of TailwindCSS 'className'

* [FEAT] API 연결과 테이블 생성과 수정을 위해 funnel 패턴을 이용하여 멀티 스텝 폼 구현 (#57)

* fix: 응답 타입을 문서에 맞게 수정

* feat: Agenda 타입 추가

* feat: 테이블을 추가하는 api 훅 추가

* feat: 테이블을 삭제하는 api 훅 추가

* feat: 사용자를 추가하는 api 훅 추가

* feat: 의회식 토론을 수정하는 api 훅 추가

* feat: 토론 리스트를 가져오는 api 훅 추가

* feat: 의호식 토론 정보를 가져오는 api 훅 추가

* style: 컴포넌트간의 간격 추가

* feat: multi-step form 구현을 위한 useFunnel 작성

* feat: multi-step form동안에 새로고침시에도 상태 유지를 위한 useBrowserStorage 구현

* feat: DropdownForDebateType의 로직 변경

* feat: 멀티 스텝을 이용한 방식으로 수정으로 인한 생성 모달, TableSetupPage를 변경

* feat: 테이블 생성과 수정을 위한 멀티 스텝 폼, TableComposition 구현

* feat: 테이블 form 정보 커스텀 훅 구현

* feat: 로그인 페이지에 상태와 api훅 추가

* fix: 타임박스 ui 버그 수정

* feat: 멀티 스텝 폼을 위해 TableSetupPage의 commponents 파일 이동

* feat: 테이블 수정을 모달에서 멀티스텝 폼 변경으로 인한 수정

* refactor: 더미 데이터 제거

* feat: composition 라우터 추가

* fix: 응답값에 맞게 msw 수정

* feat: 테이블 조회에 api 훅 추가

* refactor: 모달에서 멀티스텝폼 변경으로 인한 컴포넌트 명 변경

* fix: agenda와 type의 혼동으로 type 문제 수정

* fix: TableComposition 구현으로 인한 불필요한 파일 삭제

* fix: Type 타입을 영어로 수정

* fix: import 경로 수정

* feat: 테스트 mock을 위한 vitest 설정

* test: TableComposition 구현으로 인한 수정사항 반영

* feat: 버튼에 aria-label 추가

* chore: storybook msw 사용가능하게 설정 추가

* fix: stace 오타 변경

* test: storybook 경로 변경

* test: TableCompositon 스토리북 코드 작성

* fix: TableSetup삭제로 인한 라우터 변경

* chore: cleanup 함수 추가

* feat: 인터페이스 명 수정

* refactor: 한글에서 영어로 상수 변경

* refactor: NEUTRAL Stance 타입 변경

* refactor: typeMapping을 constants로 분리

* refactor: DebatePanel의 DebateTypeToString 수정

* refactor: type 값을 영어 상수로 변경

* [CHORE] 배포 파이프라인 자동화 구축 (#60)

* feat: useMutation 사용하여 restAPI post요청 구현

* refactor: useLoginUser 훅으로 분리

* chore: setting Up a Deployment Automation Pipeline

* chore: cd 파일 pr branch 명 변경

* fix: 불필요한 코드 지우기

* build: 패키지 매니저 변경

* build: pr types 추가

* fix: handleLogin 에 '/table' 경로로 라우팅 추가하여 test코드 통과

* fix: 올바른 test코드 위한 수정

* fix: mockServiceWorker 에서 불필요한 코드 삭제

* fix: mockServiceWorekr 필요없는 코드 삭제

* fix: 오류 해결을 위해 build 다시 생성

* fix: eslintignore 와 stylelintignore 설정을 통해 불필요한 검사 제외

* chore: gitignore 에 /dist 추가하여 빌드파일 제외

* chore: stylelintignore eol 추가

* chore: .eslintignore 삭제 및 eslint.config.js 파일 안 ignore 추가

* chore: dist 디렉토리 삭제

* chore: CD 파일에 pr types 에 'synchronize', 'reopened' 제거

* fix: 병합과정에 충돌 오류 수정

---------



* hotfix: 에러바운더리 코드가 삭제된 것에 대한 반영 (#69)

* [REFACTOR] 타이머 기능 개선 외 (#66)

* refactor: Applied several changes

- Changed interval to 1000 ms (1 sec)
- Added function that changes background to remove duplication of same codes
- Removed isRunning not necessary

* feat: Made TimerPage be able to catch parameters

* fix: Recovered deleted ErrorBoundary related files

* fix: Set icon size on 'size' argument instead of 'className'

* refactor: Separated loading component to page

* refactor: Applied several changes

- Moved TimerLoadingPage to /src/TimerPage from /src/TimerPage/component
- Set css file to print CR/LF correctly
- Changed 'useQuery' to 'useGetParliamentaryTableData' hook

* refactor: Deleted unneccesary codes

* [HOTFIX] GitHub Actions 빌드 실패 문제 해결 (#73)

- TableCompositionStep 상수 값을 한글(타임박스입력)에서 영어(TimeBox)로 바꾸며 발생한 문제 수정
- Type 상수 값을 한글(의회식 토론)에서 영어(PARLIAMENTARY)로 바꾸며 발생한 문제 수정

* [FEAT] AWS S3 및 FrontCloud dev, prod 각각 분리 배포 및 github action 구축 (#76)

* feat: useMutation 사용하여 restAPI post요청 구현

* refactor: useLoginUser 훅으로 분리

* chore: setting Up a Deployment Automation Pipeline

* chore: cd 파일 pr branch 명 변경

* fix: 불필요한 코드 지우기

* build: 패키지 매니저 변경

* build: pr types 추가

* fix: handleLogin 에 '/table' 경로로 라우팅 추가하여 test코드 통과

* fix: 올바른 test코드 위한 수정

* fix: mockServiceWorker 에서 불필요한 코드 삭제

* fix: mockServiceWorekr 필요없는 코드 삭제

* fix: 오류 해결을 위해 build 다시 생성

* fix: eslintignore 와 stylelintignore 설정을 통해 불필요한 검사 제외

* chore: gitignore 에 /dist 추가하여 빌드파일 제외

* chore: stylelintignore eol 추가

* chore: .eslintignore 삭제 및 eslint.config.js 파일 안 ignore 추가

* chore: dist 디렉토리 삭제

* chore: CD 파일에 pr types 에 'synchronize', 'reopened' 제거

* feat: dev 배포를 위한 deploy 코드 작성

* feat: prod 배포를 위한 deploy 코드 작성

* chore: merge 후 생성된 불 필요한 코드 삭제

* chore: dev 배포 명료성을 위해 access key 및 secret key 네이밍 변경

* chore: Dev 배포 관련 yml파일에서 bucket 네이밍 변경

* [FEAT] 닉네임 기반 로그인 구현 (#71)

* feat: 로그인 시, memberId를 반환하도록 변경

* feat: memberId를 session 스토리지에 저장하도록 util 함수 작성

* fix: currentStep을 영문으로 변경

* feat: 정적으로 선언되 memberId를 스토리지에서 가져오도록 변경

* refactor: route.tsx 위치를 routes 폴더로 변경

* feat: ProtectedRoute 구현

* feat:  ProtectedRoute 적용

* refactor: routes위치 변경에 따른 import 수정

* feat: 토론하기 클릭 시, TimerPage 연결

* refactor: 라우터 변경에 따른 수정사항 반영

---------



* [FEAT] 추가 작전 시간 타이머 구현 외 (#77)

* feat: Changed API base url to deployed server

* feat: Implemented AdditionalTimerComponent

* fix: Recovered horizontal padding of useModal wrapper

* feat: Deleted top margin of AdditionalTimerSummaryItem

* fix: Fixed linting errors

* fix: Removed hard-coded URL on source codes

* fix: Make app get server URL from .env file

* chore: Deleted .env files

* chore: Updated .gitignore file to ignore .env files

* [CHORE] 배포 최적화 및 배포 환경 구분 (#82)

* chore: Separated deploy environments and variables

* chore: Applined vite-plugin-compressions2 to compress builds

* chore: Changed job name

* fix: Added quotes on target path of Cloudfront cache invalidation

* chore: Changed web page title

* chore: Removed compression-related packages and codes

* [HOTFIX] 배포된 앱이 서버와 통신하지 못하는 문제 수정 (#84)

* [FIX] PostUserResponseType타입 수정, TableOverview에서 tableId를 url에서 정상적으로 가져오도록 수정 (#86)

* fix: PostUserResponseType 타입 변경

* fix: 정적 navigate 제거

* fix: 불필요한 console.log제거

* fix: tableId를 정상적으로 불러오도록 수정

---------

Co-authored-by: Shawn Kang <77564014+i-meant-to-be@users.noreply.github.com>
Co-authored-by: EunWoo <eunwoo1341@gmail.com>
jaeml06 added a commit that referenced this pull request Feb 4, 2025
* Update issue templates

* docs: 파일명 수정

* chore: 프로젝트 초기 세팅

* feat: 하단에 고정되어 있는 footer wrapper 구현

* feat: 중첩 컴포넌트로 기본 레이아웃 구현

* feat: PropsAndConsTitle 구현

* feat: TimerCreationButton 구현

* feat: DebatePanel 구현

* feat: 테이블 구성 페이지 초기 UI rngus

* chore:  storybook 설정 추가

* test: DebatePanel 스토리 북 작성

* test: PropsAndConsTitle 스토리북 테스트 작성

* test: TimerCreationButton 스토리북 테스트 작성

* fix: 파일명에 불필요한 공백 제거

* [FEAT] 페이지 라우팅 적용 (#22)

* chore: install react-router-dom

* feat: App.tsx와 main.tsx 에서 라우팅 설정

* refactor: createBrowerRouter 방식 적용
- router.tsx 파일 생성하여 라우터 적용
- main.tsx 에서     <RouterProvider router={router} /> 적용

* chore: 불필요한 App.tsx 컴포넌트 삭제

* chore: eol prettier 적용

* [FEAT] 타이머 박스 생성 모달 구현 (#17)

* feat: 포털 렌더링 관리를 위한 GlobalPortal 컴포넌트 추가

* feat: 모달 생성을 위한 modal 커스텀 훅 구현

* feat: GlobalPortal 적용

* feat: 제출 이벤트, 버튼 추가

* feat: uesModal 구조 변경

* feat: Stance, DebateType에 export 추가

* test: useModal 테스트 코드 작성

* feat: 타이머 박스 생성 모달 구현

* feat: 타임 테이블 구성 페이지 피그마 UI에 맞게 구성

* refactor: 불필요한 테스트 파일 삭제

* test: 타임 테이블 구성 페이지 스토리북 작성

* test: 타임 테이블 구성 페이지 테스트 코드 작성

* refactor: params변경에 따른 수정

* test: GlbalPortal 추가

* chore: chromatic 추가

* fix: 파일명에 불필요한 공백 제거

* chore: 크로매틱 배포 토큰 변경

* [FEAT] 로그인 페이지 구현 (#24)

* feat: 로그인 페이지 전체 레이아웃

* feat: 로그인 버튼 구현

* feat: 닉네임 별 페이지 목록 페이지 라우팅 설정

* refactor: scale 효과 추가 및 font 굵기 조절

* refactor: tailwind css 가독성 향상 및 개선

* refactor: LinkButton 재사용성 향상
- url과 title을 props로 넘김

* chore: eslint 자동 정렬 설정

* chore: LoginPage eslint 자동 정렬 적용

* refactor: input placeholder 가독성 향상을 위해 글꼴 색깔 변경

* [FEAT] 테이블 목록화면 구현 (#26)

* feat: TableListPage 와이어 프레임 구현

* refactor: grid 가운데 정렬 및 gap 추가

* feat: Table 컴포넌트 구현

* feat: AddTable 컴포넌트 구현
- 클릭 시 새로운 토론 생성

* feat: TableProps 추가

* 페이지 테이블 모달 구현

* refactor: 모달 와이어프레임 구현

* feat: 토론 시간 이름 및 토론 유형 UI 구현

* feat: 토론 유형 선택 토글 구현

* refactor: 토론 유형 토글 선택 기능 구현

* refactor: 토론 유형 토글 컴포넌트로 분리

* style: UI 색상 변경
- amber-500

* feat: CreateTableButton 컴포넌트 구현
- 테이블 만들기 버튼 클릭 시 '/' 로 이동

* refactor: Table 컴포넌트 라우팅 적용

* chore: dummy data 제거

* chore: dummy data 주석처리

* chore: dummy data 추가

* refactor: TableProps 타입 분리

* refactor: 닫기 버튼 가독성을 위해  위치 변경 및 크기 변경

* refactor: ModalProps 타입 분리

* chore: Table 컴포넌트에 시간 단위 '분' 추가

* refactor: Modal props 컴포넌트 안에 배치

* refactor: useModal 훅에 esc 닫는 기능 추가

* refactor: useModal 적용하여 기존 모달 리팩토링

* refactor: 모달 닫기 버튼 사이즈 변경

* refactor: TimerCreationContent Padding 증가

* refactor: Modal 닫기 버튼 위치 조정 및 사이즈 변경

* refactor: TableProps 분리 제거

* refactor: Modal 컴포넌트를 ModalWrapper 감싸기

* refactor: responsive Table UI 로 리팩토링

* refactor: responsive Modal UI 리팩토링

* refactor: Table 타입 분리 및 Type네이밍 변경

* [FIX] 타임 테이블 구성 페이지 피드백 사항 반영 (#29)

* fix: 텍스트를 더 자세하게 수정

* feat: 최상단 컴포넌트에 GlobalPortal추가

* fix: 하단 버튼에 main의 content가 가려지던 문제 수정

* refactor: formatSecondsToMinutes 반환 값 변경

* feat: 선택 진영에 따라 모달 제목 텍스트 색상 변경

* feat: input을 select로 변경

* feat: stace에 따른 색상 변경 함수 구현

* feat: debateType가 중립일 경우 stance을 값을 빈문자열로 표시

* feat: input Numer의 leading zero삭제

* feat: 초기값을 이전 설정한 값으로 설정되게 변경

* feat: stace가 중립일 speakerNumber 수정 불가능하게 변경

* feat: 이전 데이터가 중립일 경우 debateType이 이전 데이터를 반영하지 않도록 변경

* [TEST] 테이블 목록 컴포넌트 Storybook 테스트코드 구현 (#35)

* test: Table 컴포넌트 Storybook 구현

* test: TableListPage 페이지 Storybook 구현

* test: DropdownForDebateType 컴포넌트 Storybook 구현

* fix: test 코드 통과를 위해 코드 h2 tag 수정

* [FEAT] 테이블 조회 화면 구현 (#34)

* refactor: PropsAndConsTitle의 재사용에 따른 폴더 위치 변경

* feat: 테이블 선택 페이지 기본 레이아웃 구현

* fix: footerWrapper을 flex정렬 방향 변경

* refactor: FixedFooterWrapper position 속정 변경에 따른 컴포넌트 명 수정

* feat: TableOverview 라우터 추가

* test: TableOverview 스토리북 작성

* test: PropsAndConsTitle의 위치 변경

* feat: 불필요한 주석 제거

* feat: 버튼 text 수정

* test: MemoryRouter추가

* fix: 사용되지 않은 getStanceColor 수정

* [CHORE] API 처리를 위해 패키지 추가 (#39)

* chore: Added API-related packages to the project

* chore: Added and modified codes for API

- 가상 API 사용을 위한 msw 관련 파일 추가
- TanStack Query 및 msw 대응하여 main.tsx 수정

* chore: Let msw only enabled on 'dev-mock' mode

* chore: Added one blank line at end of package.json

* chore: Added EOL at end of environment variable files

* [FEAT] 테이블 수정 및 삭제 구현 (#44)

* chore: 수정 및 삭제 아이콘을 위해 react-icons 추가

* feat: Table 컴포넌트에 Icons 추가

* feat: implement handleDelete method

* feat: implement EditModalButton to edit Tables

* refactor: stopPropagation method with MouseEvent 추가
- 버튼 클릭 이벤트가 상위로 전파되는 것을 막기 위해서 추가함

* feat: Edit 버튼 눌렀을 때, CreateTableModal 나오게 구현

* chore: unused closeModal function 삭제

* feat: Table 삭제를 위해 DeleteModalButton 구현

* feat: EditTableModal 구현

* feat: EditTableButton 구현
- 이후 수정 RestAPI 로직 추가 필요

* refactor: Edit 관련 컴포넌트에 name 매개변수 추가

* refactor: DebateTable 타입에 extends하여 delete 타입 추가

* refactor: 토론 유형 수정 불가

* refactor: 토론유형 hover: curser-not-allowed 추가

* refactor: handleDelete 함수형 업데이트로 수정

* refactor: EditTableButton 컴포넌트에 closeModal 매개변수 추가

* fix: TableListPage 테스트코드 수정

* [FEAT] 타임박스에 수정 및 삭제 UI 추가 (#42)

* chore: 수정, 삭제 아이콘 이용을 위한 react-icons 추가

* style: 컴포넌트 간의 간경을 더 좁게 수정

* feat: 수정, 삭제 버튼을 합친 EditDeleteButtons 컴포넌트 구현

* style: 분기에 따른 컴포넌트의 높이를 동일하게 수정

* feat: 수정, 삭제 handler 함수 작성

* refactor: 가독성을 위해 중첩된 삼항연산자 분리

* feat: 삭제 버튼 클릭 시, 삭제 확인 모달 구현

* feat: EditDeleteButtons에 aria-label 추가

* test: EditDeleteButtons 스토리북 코드 작성

* feat: TableSetup 테스트에 수정, 삭제 기능 테스트 추가

* [FEAT] API 요청 관련 기능 구현 (#45)

* feat: Added API mocking handler

* feat: Implemented API request logics

- 추가로, BE API 명세서의 반환 예시에 맞추어 일부 변수 이름을 수정

* refactor: Applied some minor changes

- URL 생성 함수가 슬래시(/)를 여러 개 포함하는 문제 수정
- 모든 API 함수를 apis.ts에 통합 (추후 메소드 많아지면 분리)

* feat: Let msw handler catch arguments

그 외 변경사항으로, API 함수들에서 경로 매개변수(path parameters)가 생략되어 있었던 문제를 해결

* refactor: 주석 추가

* fix: DebateTable 인터페이스 변경에 따른 일부 오류 수정

* feat: Added string identifier for 'useQuery' function

---------

Co-authored-by: jaeml06 <jaeml0630@gmail.com>

* [FEAT] 타임박스의 수정을 드래그앤드롭으로 변경하는 기능 구현 (#47)

* feat: 이벤트 발생 비용 감소를 위한 useThrottle 작성

* faet: 타임박스 드래그앤 드롭을 위한 useDragAndDrop 구현

* feat: 타임박스에 드래그앤드롭 영역 지정

* feat: TableSetup에 드래그앤 드롭 선언

* refactor: 불필요한 주석 삭제

* fix: 병합과정에서 발생한 오류 수정

* [CHORE] storybook에 전역적인 decorators 설정 추가 (#50)

* chore: 라우터, GlobalPortal설정을 전역 설정에 decorators로 추가

* chore: storybook에 msw 설정 추가

* [FIX] Mock Handler 파일에서 타입 에러 해결  (#54)

* feat: Table 타입인 TableInfo 정의

* refactor: result 객체에 속핸 info의 타입을 명시하기 위해 request에 TableInfo 타입 명시

* chore: 이미 정의되있던 PostDebateTableResponseType 타입 사용

* [FEAT] 타이머 화면 구현 (#58)

* feat: Implemented TimerPage

* feat: Applied sound effect

And applied minor design changed

* refactor: Let TimerComponent change TimerPage's background

* fix: NEUTRAL 항목에 불필요한 아이콘 뜨는 오류 수정

* feat: Added keyboard event listener on Timer

* fix: 토론 순서 조작 시 발생하는 인덱스 초과 오버플로우 해결

* feat: 피드백에 따른 디자인 변경 사항 반영

* feat: Added loading and error screen on TimerPage

* feat: Applied feedbacks from PR

* fix: 타이머가 현재 debateInfo의 index를 불러오지 못하는 오류 수정

* refactor: 콘솔 로깅 비활성화

* fix: Storybook 출력되지 않는 문제 수정

- use-sound 패키지 제거하고 HTML 태그로 소리 출력
- 별도 컴포넌트를 거치지 않고 직접 gif 파일을 불러와 출력

* refactor: Removed unnecessary codes and comments

* refactor: Hoisted all data and functions to the root page

* fix: Cleared focus on button when space bar pressed

* [FEAT] `ErrorBoundary` 도입 (#65)

* feat: ErrorBoundary 도입

* feat: Wrapped router with ErrorBoundaryWrapper

* feat: Enabled 'throwOnError' option on QueryClient

* feat: Added refresh button on ErrorPage

* refactor: Applied feedbacks from PR review

- Declared string constants for ErrorBoundary
- Set icon size on 'size' parameter instead of TailwindCSS 'className'

* [FEAT] API 연결과 테이블 생성과 수정을 위해 funnel 패턴을 이용하여 멀티 스텝 폼 구현 (#57)

* fix: 응답 타입을 문서에 맞게 수정

* feat: Agenda 타입 추가

* feat: 테이블을 추가하는 api 훅 추가

* feat: 테이블을 삭제하는 api 훅 추가

* feat: 사용자를 추가하는 api 훅 추가

* feat: 의회식 토론을 수정하는 api 훅 추가

* feat: 토론 리스트를 가져오는 api 훅 추가

* feat: 의호식 토론 정보를 가져오는 api 훅 추가

* style: 컴포넌트간의 간격 추가

* feat: multi-step form 구현을 위한 useFunnel 작성

* feat: multi-step form동안에 새로고침시에도 상태 유지를 위한 useBrowserStorage 구현

* feat: DropdownForDebateType의 로직 변경

* feat: 멀티 스텝을 이용한 방식으로 수정으로 인한 생성 모달, TableSetupPage를 변경

* feat: 테이블 생성과 수정을 위한 멀티 스텝 폼, TableComposition 구현

* feat: 테이블 form 정보 커스텀 훅 구현

* feat: 로그인 페이지에 상태와 api훅 추가

* fix: 타임박스 ui 버그 수정

* feat: 멀티 스텝 폼을 위해 TableSetupPage의 commponents 파일 이동

* feat: 테이블 수정을 모달에서 멀티스텝 폼 변경으로 인한 수정

* refactor: 더미 데이터 제거

* feat: composition 라우터 추가

* fix: 응답값에 맞게 msw 수정

* feat: 테이블 조회에 api 훅 추가

* refactor: 모달에서 멀티스텝폼 변경으로 인한 컴포넌트 명 변경

* fix: agenda와 type의 혼동으로 type 문제 수정

* fix: TableComposition 구현으로 인한 불필요한 파일 삭제

* fix: Type 타입을 영어로 수정

* fix: import 경로 수정

* feat: 테스트 mock을 위한 vitest 설정

* test: TableComposition 구현으로 인한 수정사항 반영

* feat: 버튼에 aria-label 추가

* chore: storybook msw 사용가능하게 설정 추가

* fix: stace 오타 변경

* test: storybook 경로 변경

* test: TableCompositon 스토리북 코드 작성

* fix: TableSetup삭제로 인한 라우터 변경

* chore: cleanup 함수 추가

* feat: 인터페이스 명 수정

* refactor: 한글에서 영어로 상수 변경

* refactor: NEUTRAL Stance 타입 변경

* refactor: typeMapping을 constants로 분리

* refactor: DebatePanel의 DebateTypeToString 수정

* refactor: type 값을 영어 상수로 변경

* [CHORE] 배포 파이프라인 자동화 구축 (#60)

* feat: useMutation 사용하여 restAPI post요청 구현

* refactor: useLoginUser 훅으로 분리

* chore: setting Up a Deployment Automation Pipeline

* chore: cd 파일 pr branch 명 변경

* fix: 불필요한 코드 지우기

* build: 패키지 매니저 변경

* build: pr types 추가

* fix: handleLogin 에 '/table' 경로로 라우팅 추가하여 test코드 통과

* fix: 올바른 test코드 위한 수정

* fix: mockServiceWorker 에서 불필요한 코드 삭제

* fix: mockServiceWorekr 필요없는 코드 삭제

* fix: 오류 해결을 위해 build 다시 생성

* fix: eslintignore 와 stylelintignore 설정을 통해 불필요한 검사 제외

* chore: gitignore 에 /dist 추가하여 빌드파일 제외

* chore: stylelintignore eol 추가

* chore: .eslintignore 삭제 및 eslint.config.js 파일 안 ignore 추가

* chore: dist 디렉토리 삭제

* chore: CD 파일에 pr types 에 'synchronize', 'reopened' 제거

* fix: 병합과정에 충돌 오류 수정

---------

Co-authored-by: jaeml06 <jaeml0630@gmail.com>

* hotfix: 에러바운더리 코드가 삭제된 것에 대한 반영 (#69)

* [REFACTOR] 타이머 기능 개선 외 (#66)

* refactor: Applied several changes

- Changed interval to 1000 ms (1 sec)
- Added function that changes background to remove duplication of same codes
- Removed isRunning not necessary

* feat: Made TimerPage be able to catch parameters

* fix: Recovered deleted ErrorBoundary related files

* fix: Set icon size on 'size' argument instead of 'className'

* refactor: Separated loading component to page

* refactor: Applied several changes

- Moved TimerLoadingPage to /src/TimerPage from /src/TimerPage/component
- Set css file to print CR/LF correctly
- Changed 'useQuery' to 'useGetParliamentaryTableData' hook

* refactor: Deleted unneccesary codes

* [FEAT] 닉네임 기반 로그인 구현 (#71)

* feat: 로그인 시, memberId를 반환하도록 변경

* feat: memberId를 session 스토리지에 저장하도록 util 함수 작성

* fix: currentStep을 영문으로 변경

* feat: 정적으로 선언되 memberId를 스토리지에서 가져오도록 변경

* refactor: route.tsx 위치를 routes 폴더로 변경

* feat: ProtectedRoute 구현

* feat:  ProtectedRoute 적용

* refactor: routes위치 변경에 따른 import 수정

* feat: 토론하기 클릭 시, TimerPage 연결

* refactor: 라우터 변경에 따른 수정사항 반영

---------

Co-authored-by: Shawn Kang <77564014+i-meant-to-be@users.noreply.github.com>

* [FEAT] 추가 작전 시간 타이머 구현 외 (#77)

* feat: Changed API base url to deployed server

* feat: Implemented AdditionalTimerComponent

* fix: Recovered horizontal padding of useModal wrapper

* feat: Deleted top margin of AdditionalTimerSummaryItem

* fix: Fixed linting errors

* fix: Removed hard-coded URL on source codes

* fix: Make app get server URL from .env file

* chore: Deleted .env files

* chore: Updated .gitignore file to ignore .env files

* [CHORE] 배포 최적화 및 배포 환경 구분 (#82)

* chore: Separated deploy environments and variables

* chore: Applined vite-plugin-compressions2 to compress builds

* chore: Changed job name

* fix: Added quotes on target path of Cloudfront cache invalidation

* chore: Changed web page title

* chore: Removed compression-related packages and codes

* [FIX] QA에서 식별한 버그 해결 - 숀 (#92)

* feat: Fixed header's elements at the correct position

* fix: Fixed bugs identified at QA

* fix: Let TimerPage print error text when app failed to load data

* fix: Fixed test codes affected by last commits

* refactor: StickyTriSectionHeader변경에 따른 UI 수정

* feat: TableOverview 홈화면 버튼 추가

---------

Co-authored-by: jaeml06 <jaeml0630@gmail.com>

* [FIX] QA에서 식별한 버그 해결 - 치코 (#93)

* feat: 토론주제를 정상적으로 서버에 전달하도록 변경

* fix: 테이블 수정에서 상수로 되어있던 데이터 초기화 수정

* fix: 쿼리파라미터를 유지하도록 수정

* chore: preview 포트 3000으로 수정

* feat: 테이블을 없을시, 제출 버튼 블록처리 추가

* test: 테이블 추가하기 diabled상황 추가에 따른 테스트 수정

* [FIX] QA에서 식별한 버그 해결 - 엘 (#94)

* fix: TableList 화면에서 토론 유형이 영어(PARLIAMENTARY)로 표시되는 문제 해결

* fix: TableList 화면에서 토론 시간이 초가 아니라 분으로 표시되는 문제 해결

* fit: TableList 화면에서 테이블을 삭제한 후 화면이 다시 렌더링되지 않는 문제 해결

* fix: CI Test 를 통과하기 위해 test code 수정

* refactor: typeMapping 메소드 이용하여 토론 유형 매칭

* [FIX, CHORE] mock에서 드래그앤 드롭 UI가 깨지는 문제 수정, Storybook 자동 배포 yml 작성 (#81)

* fix: msw 모킹값 변경

* fix: 키값을 더 고유한 값으로 변경

* chore: storybook 자동 배포 yml 작성

---------

Co-authored-by: Shawn Kang <77564014+i-meant-to-be@users.noreply.github.com>

* [CHORE] main 브랜치로 배포 (#87) (#97)

* Update issue templates

* docs: 파일명 수정

* docs: PR 템플릿 생성 (#2)

* docs: 자동 issue 설정 할당

* docs: 불필요한 주석 제거

* docs: 이슈 프로젝트 권한 추가

* docs: 자동할당 로직 변경

* feat: 권한 문제로 자동 Project할당 제거

* docs: PR 자동할당 yml 작성

* docs: 불필요한 Project 정보 제거

* docs: Discord comment 알림 yml 작성

* chore: 프로젝트 초기 세팅

* chore: prettier 설정 추가

* feat: 3개의 영역으로 구분된 header(StickyTriSectionHeader) 구현

* feat: 하단에 고정되어 있는 footer wrapper 구현

* feat: main 레이아웃 구현

* feat: 중첩 컴포넌트로 기본 레이아웃 구현

* design: layout의 ContentContanier 가운데 정렬 추가

* design: layout의 ContentContanier padding 추가

* feat: PropsAndConsTitle 구현

* feat: TimerCreationButton 구현

* feat: 테이블 타입 작성

* feat: 초를 분, 초로 포맷팅하는 함수 구현

* feat: DebatePanel 구현

* feat: 테이블 구성 페이지 초기 UI rngus

* feat: Pretendard 웹폰트  추가

* chore:  storybook 설정 추가

* test: DebatePanel 스토리 북 작성

* test: PropsAndConsTitle 스토리북 테스트 작성

* test: TimerCreationButton 스토리북 테스트 작성

* fix: 파일명에 불필요한 공백 제거

* [FEAT] 페이지 라우팅 적용 (#22)

* chore: install react-router-dom

* feat: App.tsx와 main.tsx 에서 라우팅 설정

* refactor: createBrowerRouter 방식 적용
- router.tsx 파일 생성하여 라우터 적용
- main.tsx 에서     <RouterProvider router={router} /> 적용

* chore: 불필요한 App.tsx 컴포넌트 삭제

* chore: eol prettier 적용

* [FEAT] 타이머 박스 생성 모달 구현 (#17)

* feat: 포털 렌더링 관리를 위한 GlobalPortal 컴포넌트 추가

* feat: 모달 생성을 위한 modal 커스텀 훅 구현

* feat: GlobalPortal 적용

* feat: 제출 이벤트, 버튼 추가

* feat: uesModal 구조 변경

* feat: Stance, DebateType에 export 추가

* test: useModal 테스트 코드 작성

* feat: 타이머 박스 생성 모달 구현

* feat: 타임 테이블 구성 페이지 피그마 UI에 맞게 구성

* refactor: 불필요한 테스트 파일 삭제

* test: 타임 테이블 구성 페이지 스토리북 작성

* test: 타임 테이블 구성 페이지 테스트 코드 작성

* refactor: params변경에 따른 수정

* test: GlbalPortal 추가

* chore: chromatic 추가

* fix: 파일명에 불필요한 공백 제거

* chore: 크로매틱 배포 토큰 변경

* [FEAT] 로그인 페이지 구현 (#24)

* feat: 로그인 페이지 전체 레이아웃

* feat: 로그인 버튼 구현

* feat: 닉네임 별 페이지 목록 페이지 라우팅 설정

* refactor: scale 효과 추가 및 font 굵기 조절

* refactor: tailwind css 가독성 향상 및 개선

* refactor: LinkButton 재사용성 향상
- url과 title을 props로 넘김

* chore: eslint 자동 정렬 설정

* chore: LoginPage eslint 자동 정렬 적용

* refactor: input placeholder 가독성 향상을 위해 글꼴 색깔 변경

* chore: lint와 test를 넣은 CI yml 파일 작성 (#27)

* [FEAT] 테이블 목록화면 구현 (#26)

* feat: TableListPage 와이어 프레임 구현

* refactor: grid 가운데 정렬 및 gap 추가

* feat: Table 컴포넌트 구현

* feat: AddTable 컴포넌트 구현
- 클릭 시 새로운 토론 생성

* feat: TableProps 추가

* 페이지 테이블 모달 구현

* refactor: 모달 와이어프레임 구현

* feat: 토론 시간 이름 및 토론 유형 UI 구현

* feat: 토론 유형 선택 토글 구현

* refactor: 토론 유형 토글 선택 기능 구현

* refactor: 토론 유형 토글 컴포넌트로 분리

* style: UI 색상 변경
- amber-500

* feat: CreateTableButton 컴포넌트 구현
- 테이블 만들기 버튼 클릭 시 '/' 로 이동

* refactor: Table 컴포넌트 라우팅 적용

* chore: dummy data 제거

* chore: dummy data 주석처리

* chore: dummy data 추가

* refactor: TableProps 타입 분리

* refactor: 닫기 버튼 가독성을 위해  위치 변경 및 크기 변경

* refactor: ModalProps 타입 분리

* chore: Table 컴포넌트에 시간 단위 '분' 추가

* refactor: Modal props 컴포넌트 안에 배치

* refactor: useModal 훅에 esc 닫는 기능 추가

* refactor: useModal 적용하여 기존 모달 리팩토링

* refactor: 모달 닫기 버튼 사이즈 변경

* refactor: TimerCreationContent Padding 증가

* refactor: Modal 닫기 버튼 위치 조정 및 사이즈 변경

* refactor: TableProps 분리 제거

* refactor: Modal 컴포넌트를 ModalWrapper 감싸기

* refactor: responsive Table UI 로 리팩토링

* refactor: responsive Modal UI 리팩토링

* refactor: Table 타입 분리 및 Type네이밍 변경

* [TEST] 로그인 페이지 Storybook 테스트코드 구현 (#31)

* feat: TableListPage 와이어 프레임 구현

* refactor: grid 가운데 정렬 및 gap 추가

* feat: Table 컴포넌트 구현

* feat: AddTable 컴포넌트 구현
- 클릭 시 새로운 토론 생성

* feat: TableProps 추가

* 페이지 테이블 모달 구현

* refactor: 모달 와이어프레임 구현

* feat: 토론 시간 이름 및 토론 유형 UI 구현

* feat: 토론 유형 선택 토글 구현

* refactor: 토론 유형 토글 선택 기능 구현

* refactor: 토론 유형 토글 컴포넌트로 분리

* style: UI 색상 변경
- amber-500

* feat: CreateTableButton 컴포넌트 구현
- 테이블 만들기 버튼 클릭 시 '/' 로 이동

* refactor: Table 컴포넌트 라우팅 적용

* chore: dummy data 제거

* chore: dummy data 주석처리

* chore: dummy data 추가

* refactor: TableProps 타입 분리

* refactor: 닫기 버튼 가독성을 위해  위치 변경 및 크기 변경

* refactor: ModalProps 타입 분리

* chore: Table 컴포넌트에 시간 단위 '분' 추가

* refactor: Modal props 컴포넌트 안에 배치

* refactor: useModal 훅에 esc 닫는 기능 추가

* refactor: useModal 적용하여 기존 모달 리팩토링

* refactor: 모달 닫기 버튼 사이즈 변경

* refactor: TimerCreationContent Padding 증가

* refactor: Modal 닫기 버튼 위치 조정 및 사이즈 변경

* refactor: TableProps 분리 제거

* refactor: Modal 컴포넌트를 ModalWrapper 감싸기

* refactor: responsive Table UI 로 리팩토링

* refactor: responsive Modal UI 리팩토링

* feat: LoginPage Storybook 구현

* test: LinkButton 스토리북 구현

* [FIX] 타임 테이블 구성 페이지 피드백 사항 반영 (#29)

* fix: 텍스트를 더 자세하게 수정

* feat: 최상단 컴포넌트에 GlobalPortal추가

* fix: 하단 버튼에 main의 content가 가려지던 문제 수정

* refactor: formatSecondsToMinutes 반환 값 변경

* feat: 선택 진영에 따라 모달 제목 텍스트 색상 변경

* feat: input을 select로 변경

* feat: stace에 따른 색상 변경 함수 구현

* feat: debateType가 중립일 경우 stance을 값을 빈문자열로 표시

* feat: input Numer의 leading zero삭제

* feat: 초기값을 이전 설정한 값으로 설정되게 변경

* feat: stace가 중립일 speakerNumber 수정 불가능하게 변경

* feat: 이전 데이터가 중립일 경우 debateType이 이전 데이터를 반영하지 않도록 변경

* [TEST] 테이블 목록 컴포넌트 Storybook 테스트코드 구현 (#35)

* test: Table 컴포넌트 Storybook 구현

* test: TableListPage 페이지 Storybook 구현

* test: DropdownForDebateType 컴포넌트 Storybook 구현

* fix: test 코드 통과를 위해 코드 h2 tag 수정

* [FEAT] 테이블 조회 화면 구현 (#34)

* refactor: PropsAndConsTitle의 재사용에 따른 폴더 위치 변경

* feat: 테이블 선택 페이지 기본 레이아웃 구현

* fix: footerWrapper을 flex정렬 방향 변경

* refactor: FixedFooterWrapper position 속정 변경에 따른 컴포넌트 명 수정

* feat: TableOverview 라우터 추가

* test: TableOverview 스토리북 작성

* test: PropsAndConsTitle의 위치 변경

* feat: 불필요한 주석 제거

* feat: 버튼 text 수정

* test: MemoryRouter추가

* fix: 사용되지 않은 getStanceColor 수정

* [TEST] 로그인 및 테이블 조회 컴포넌트 테스트코드 구현 (#37)

* [CHORE] API 처리를 위해 패키지 추가 (#39)

* chore: Added API-related packages to the project

* chore: Added and modified codes for API

- 가상 API 사용을 위한 msw 관련 파일 추가
- TanStack Query 및 msw 대응하여 main.tsx 수정

* chore: Let msw only enabled on 'dev-mock' mode

* chore: Added one blank line at end of package.json

* chore: Added EOL at end of environment variable files

* [FEAT] 테이블 수정 및 삭제 구현 (#44)

* chore: 수정 및 삭제 아이콘을 위해 react-icons 추가

* feat: Table 컴포넌트에 Icons 추가

* feat: implement handleDelete method

* feat: implement EditModalButton to edit Tables

* refactor: stopPropagation method with MouseEvent 추가
- 버튼 클릭 이벤트가 상위로 전파되는 것을 막기 위해서 추가함

* feat: Edit 버튼 눌렀을 때, CreateTableModal 나오게 구현

* chore: unused closeModal function 삭제

* feat: Table 삭제를 위해 DeleteModalButton 구현

* feat: EditTableModal 구현

* feat: EditTableButton 구현
- 이후 수정 RestAPI 로직 추가 필요

* refactor: Edit 관련 컴포넌트에 name 매개변수 추가

* refactor: DebateTable 타입에 extends하여 delete 타입 추가

* refactor: 토론 유형 수정 불가

* refactor: 토론유형 hover: curser-not-allowed 추가

* refactor: handleDelete 함수형 업데이트로 수정

* refactor: EditTableButton 컴포넌트에 closeModal 매개변수 추가

* fix: TableListPage 테스트코드 수정

* [FEAT] 타임박스에 수정 및 삭제 UI 추가 (#42)

* chore: 수정, 삭제 아이콘 이용을 위한 react-icons 추가

* style: 컴포넌트 간의 간경을 더 좁게 수정

* feat: 수정, 삭제 버튼을 합친 EditDeleteButtons 컴포넌트 구현

* style: 분기에 따른 컴포넌트의 높이를 동일하게 수정

* feat: 수정, 삭제 handler 함수 작성

* refactor: 가독성을 위해 중첩된 삼항연산자 분리

* feat: 삭제 버튼 클릭 시, 삭제 확인 모달 구현

* feat: EditDeleteButtons에 aria-label 추가

* test: EditDeleteButtons 스토리북 코드 작성

* feat: TableSetup 테스트에 수정, 삭제 기능 테스트 추가

* [FEAT] API 요청 관련 기능 구현 (#45)

* feat: Added API mocking handler

* feat: Implemented API request logics

- 추가로, BE API 명세서의 반환 예시에 맞추어 일부 변수 이름을 수정

* refactor: Applied some minor changes

- URL 생성 함수가 슬래시(/)를 여러 개 포함하는 문제 수정
- 모든 API 함수를 apis.ts에 통합 (추후 메소드 많아지면 분리)

* feat: Let msw handler catch arguments

그 외 변경사항으로, API 함수들에서 경로 매개변수(path parameters)가 생략되어 있었던 문제를 해결

* refactor: 주석 추가

* fix: DebateTable 인터페이스 변경에 따른 일부 오류 수정

* feat: Added string identifier for 'useQuery' function

---------



* [FEAT] 타임박스의 수정을 드래그앤드롭으로 변경하는 기능 구현 (#47)

* feat: 이벤트 발생 비용 감소를 위한 useThrottle 작성

* faet: 타임박스 드래그앤 드롭을 위한 useDragAndDrop 구현

* feat: 타임박스에 드래그앤드롭 영역 지정

* feat: TableSetup에 드래그앤 드롭 선언

* refactor: 불필요한 주석 삭제

* fix: 병합과정에서 발생한 오류 수정

* [CHORE] storybook에 전역적인 decorators 설정 추가 (#50)

* chore: 라우터, GlobalPortal설정을 전역 설정에 decorators로 추가

* chore: storybook에 msw 설정 추가

* [FIX] Mock Handler 파일에서 타입 에러 해결  (#54)

* feat: Table 타입인 TableInfo 정의

* refactor: result 객체에 속핸 info의 타입을 명시하기 위해 request에 TableInfo 타입 명시

* chore: 이미 정의되있던 PostDebateTableResponseType 타입 사용

* [CHORE] VS Code 작업 영역에 대한 설정 파일 추가 #62

* [FEAT] 타이머 화면 구현 (#58)

* feat: Implemented TimerPage

* feat: Applied sound effect

And applied minor design changed

* refactor: Let TimerComponent change TimerPage's background

* fix: NEUTRAL 항목에 불필요한 아이콘 뜨는 오류 수정

* feat: Added keyboard event listener on Timer

* fix: 토론 순서 조작 시 발생하는 인덱스 초과 오버플로우 해결

* feat: 피드백에 따른 디자인 변경 사항 반영

* feat: Added loading and error screen on TimerPage

* feat: Applied feedbacks from PR

* fix: 타이머가 현재 debateInfo의 index를 불러오지 못하는 오류 수정

* refactor: 콘솔 로깅 비활성화

* fix: Storybook 출력되지 않는 문제 수정

- use-sound 패키지 제거하고 HTML 태그로 소리 출력
- 별도 컴포넌트를 거치지 않고 직접 gif 파일을 불러와 출력

* refactor: Removed unnecessary codes and comments

* refactor: Hoisted all data and functions to the root page

* fix: Cleared focus on button when space bar pressed

* [FEAT] `ErrorBoundary` 도입 (#65)

* feat: ErrorBoundary 도입

* feat: Wrapped router with ErrorBoundaryWrapper

* feat: Enabled 'throwOnError' option on QueryClient

* feat: Added refresh button on ErrorPage

* refactor: Applied feedbacks from PR review

- Declared string constants for ErrorBoundary
- Set icon size on 'size' parameter instead of TailwindCSS 'className'

* [FEAT] API 연결과 테이블 생성과 수정을 위해 funnel 패턴을 이용하여 멀티 스텝 폼 구현 (#57)

* fix: 응답 타입을 문서에 맞게 수정

* feat: Agenda 타입 추가

* feat: 테이블을 추가하는 api 훅 추가

* feat: 테이블을 삭제하는 api 훅 추가

* feat: 사용자를 추가하는 api 훅 추가

* feat: 의회식 토론을 수정하는 api 훅 추가

* feat: 토론 리스트를 가져오는 api 훅 추가

* feat: 의호식 토론 정보를 가져오는 api 훅 추가

* style: 컴포넌트간의 간격 추가

* feat: multi-step form 구현을 위한 useFunnel 작성

* feat: multi-step form동안에 새로고침시에도 상태 유지를 위한 useBrowserStorage 구현

* feat: DropdownForDebateType의 로직 변경

* feat: 멀티 스텝을 이용한 방식으로 수정으로 인한 생성 모달, TableSetupPage를 변경

* feat: 테이블 생성과 수정을 위한 멀티 스텝 폼, TableComposition 구현

* feat: 테이블 form 정보 커스텀 훅 구현

* feat: 로그인 페이지에 상태와 api훅 추가

* fix: 타임박스 ui 버그 수정

* feat: 멀티 스텝 폼을 위해 TableSetupPage의 commponents 파일 이동

* feat: 테이블 수정을 모달에서 멀티스텝 폼 변경으로 인한 수정

* refactor: 더미 데이터 제거

* feat: composition 라우터 추가

* fix: 응답값에 맞게 msw 수정

* feat: 테이블 조회에 api 훅 추가

* refactor: 모달에서 멀티스텝폼 변경으로 인한 컴포넌트 명 변경

* fix: agenda와 type의 혼동으로 type 문제 수정

* fix: TableComposition 구현으로 인한 불필요한 파일 삭제

* fix: Type 타입을 영어로 수정

* fix: import 경로 수정

* feat: 테스트 mock을 위한 vitest 설정

* test: TableComposition 구현으로 인한 수정사항 반영

* feat: 버튼에 aria-label 추가

* chore: storybook msw 사용가능하게 설정 추가

* fix: stace 오타 변경

* test: storybook 경로 변경

* test: TableCompositon 스토리북 코드 작성

* fix: TableSetup삭제로 인한 라우터 변경

* chore: cleanup 함수 추가

* feat: 인터페이스 명 수정

* refactor: 한글에서 영어로 상수 변경

* refactor: NEUTRAL Stance 타입 변경

* refactor: typeMapping을 constants로 분리

* refactor: DebatePanel의 DebateTypeToString 수정

* refactor: type 값을 영어 상수로 변경

* [CHORE] 배포 파이프라인 자동화 구축 (#60)

* feat: useMutation 사용하여 restAPI post요청 구현

* refactor: useLoginUser 훅으로 분리

* chore: setting Up a Deployment Automation Pipeline

* chore: cd 파일 pr branch 명 변경

* fix: 불필요한 코드 지우기

* build: 패키지 매니저 변경

* build: pr types 추가

* fix: handleLogin 에 '/table' 경로로 라우팅 추가하여 test코드 통과

* fix: 올바른 test코드 위한 수정

* fix: mockServiceWorker 에서 불필요한 코드 삭제

* fix: mockServiceWorekr 필요없는 코드 삭제

* fix: 오류 해결을 위해 build 다시 생성

* fix: eslintignore 와 stylelintignore 설정을 통해 불필요한 검사 제외

* chore: gitignore 에 /dist 추가하여 빌드파일 제외

* chore: stylelintignore eol 추가

* chore: .eslintignore 삭제 및 eslint.config.js 파일 안 ignore 추가

* chore: dist 디렉토리 삭제

* chore: CD 파일에 pr types 에 'synchronize', 'reopened' 제거

* fix: 병합과정에 충돌 오류 수정

---------



* hotfix: 에러바운더리 코드가 삭제된 것에 대한 반영 (#69)

* [REFACTOR] 타이머 기능 개선 외 (#66)

* refactor: Applied several changes

- Changed interval to 1000 ms (1 sec)
- Added function that changes background to remove duplication of same codes
- Removed isRunning not necessary

* feat: Made TimerPage be able to catch parameters

* fix: Recovered deleted ErrorBoundary related files

* fix: Set icon size on 'size' argument instead of 'className'

* refactor: Separated loading component to page

* refactor: Applied several changes

- Moved TimerLoadingPage to /src/TimerPage from /src/TimerPage/component
- Set css file to print CR/LF correctly
- Changed 'useQuery' to 'useGetParliamentaryTableData' hook

* refactor: Deleted unneccesary codes

* [HOTFIX] GitHub Actions 빌드 실패 문제 해결 (#73)

- TableCompositionStep 상수 값을 한글(타임박스입력)에서 영어(TimeBox)로 바꾸며 발생한 문제 수정
- Type 상수 값을 한글(의회식 토론)에서 영어(PARLIAMENTARY)로 바꾸며 발생한 문제 수정

* [FEAT] AWS S3 및 FrontCloud dev, prod 각각 분리 배포 및 github action 구축 (#76)

* feat: useMutation 사용하여 restAPI post요청 구현

* refactor: useLoginUser 훅으로 분리

* chore: setting Up a Deployment Automation Pipeline

* chore: cd 파일 pr branch 명 변경

* fix: 불필요한 코드 지우기

* build: 패키지 매니저 변경

* build: pr types 추가

* fix: handleLogin 에 '/table' 경로로 라우팅 추가하여 test코드 통과

* fix: 올바른 test코드 위한 수정

* fix: mockServiceWorker 에서 불필요한 코드 삭제

* fix: mockServiceWorekr 필요없는 코드 삭제

* fix: 오류 해결을 위해 build 다시 생성

* fix: eslintignore 와 stylelintignore 설정을 통해 불필요한 검사 제외

* chore: gitignore 에 /dist 추가하여 빌드파일 제외

* chore: stylelintignore eol 추가

* chore: .eslintignore 삭제 및 eslint.config.js 파일 안 ignore 추가

* chore: dist 디렉토리 삭제

* chore: CD 파일에 pr types 에 'synchronize', 'reopened' 제거

* feat: dev 배포를 위한 deploy 코드 작성

* feat: prod 배포를 위한 deploy 코드 작성

* chore: merge 후 생성된 불 필요한 코드 삭제

* chore: dev 배포 명료성을 위해 access key 및 secret key 네이밍 변경

* chore: Dev 배포 관련 yml파일에서 bucket 네이밍 변경

* [FEAT] 닉네임 기반 로그인 구현 (#71)

* feat: 로그인 시, memberId를 반환하도록 변경

* feat: memberId를 session 스토리지에 저장하도록 util 함수 작성

* fix: currentStep을 영문으로 변경

* feat: 정적으로 선언되 memberId를 스토리지에서 가져오도록 변경

* refactor: route.tsx 위치를 routes 폴더로 변경

* feat: ProtectedRoute 구현

* feat:  ProtectedRoute 적용

* refactor: routes위치 변경에 따른 import 수정

* feat: 토론하기 클릭 시, TimerPage 연결

* refactor: 라우터 변경에 따른 수정사항 반영

---------



* [FEAT] 추가 작전 시간 타이머 구현 외 (#77)

* feat: Changed API base url to deployed server

* feat: Implemented AdditionalTimerComponent

* fix: Recovered horizontal padding of useModal wrapper

* feat: Deleted top margin of AdditionalTimerSummaryItem

* fix: Fixed linting errors

* fix: Removed hard-coded URL on source codes

* fix: Make app get server URL from .env file

* chore: Deleted .env files

* chore: Updated .gitignore file to ignore .env files

* [CHORE] 배포 최적화 및 배포 환경 구분 (#82)

* chore: Separated deploy environments and variables

* chore: Applined vite-plugin-compressions2 to compress builds

* chore: Changed job name

* fix: Added quotes on target path of Cloudfront cache invalidation

* chore: Changed web page title

* chore: Removed compression-related packages and codes

* [HOTFIX] 배포된 앱이 서버와 통신하지 못하는 문제 수정 (#84)

* [FIX] PostUserResponseType타입 수정, TableOverview에서 tableId를 url에서 정상적으로 가져오도록 수정 (#86)

* fix: PostUserResponseType 타입 변경

* fix: 정적 navigate 제거

* fix: 불필요한 console.log제거

* fix: tableId를 정상적으로 불러오도록 수정

---------

Co-authored-by: Shawn Kang <77564014+i-meant-to-be@users.noreply.github.com>
Co-authored-by: EunWoo <eunwoo1341@gmail.com>

* [FEAT] invalidateQueries 사용하여 Table 삭제 시 즉시 업데이트 반영 (#99)

* feat: invalidateQueries를 사용하여 Table를 삭제한 후 성공할 시 최신 데이터를 반영

* feat: setTimeout을 사용하여 먼저 UI를 갱신한 후 alert을 표시하여 사용자경험(UX)를 향상

* [REFACTOR] 1차 UT에 있었던 1, 2순위 수정 사항 반영 (#102)

* refactor: 생성, 수정 환경에서 문구 구분

* refactor: 드래그앤드롭 바 디자인 변경

* fix: 타임박스가 헤더 영역을 침범하는 문제 수정

* test: 문구 변경에 따른 테스트 수정

* Update issue templates

* docs: 파일명 수정

* docs: PR 자동할당 yml 작성

* docs: 불필요한 Project 정보 제거

* chore: 프로젝트 초기 세팅

* feat: 중첩 컴포넌트로 기본 레이아웃 구현

* chore:  storybook 설정 추가

* [FEAT] 페이지 라우팅 적용 (#22)

* chore: install react-router-dom

* feat: App.tsx와 main.tsx 에서 라우팅 설정

* refactor: createBrowerRouter 방식 적용
- router.tsx 파일 생성하여 라우터 적용
- main.tsx 에서     <RouterProvider router={router} /> 적용

* chore: 불필요한 App.tsx 컴포넌트 삭제

* chore: eol prettier 적용

* [FEAT] 타이머 박스 생성 모달 구현 (#17)

* feat: 포털 렌더링 관리를 위한 GlobalPortal 컴포넌트 추가

* feat: 모달 생성을 위한 modal 커스텀 훅 구현

* feat: GlobalPortal 적용

* feat: 제출 이벤트, 버튼 추가

* feat: uesModal 구조 변경

* feat: Stance, DebateType에 export 추가

* test: useModal 테스트 코드 작성

* feat: 타이머 박스 생성 모달 구현

* feat: 타임 테이블 구성 페이지 피그마 UI에 맞게 구성

* refactor: 불필요한 테스트 파일 삭제

* test: 타임 테이블 구성 페이지 스토리북 작성

* test: 타임 테이블 구성 페이지 테스트 코드 작성

* refactor: params변경에 따른 수정

* test: GlbalPortal 추가

* chore: chromatic 추가

* fix: 파일명에 불필요한 공백 제거

* chore: 크로매틱 배포 토큰 변경

* [FEAT] 로그인 페이지 구현 (#24)

* feat: 로그인 페이지 전체 레이아웃

* feat: 로그인 버튼 구현

* feat: 닉네임 별 페이지 목록 페이지 라우팅 설정

* refactor: scale 효과 추가 및 font 굵기 조절

* refactor: tailwind css 가독성 향상 및 개선

* refactor: LinkButton 재사용성 향상
- url과 title을 props로 넘김

* chore: eslint 자동 정렬 설정

* chore: LoginPage eslint 자동 정렬 적용

* refactor: input placeholder 가독성 향상을 위해 글꼴 색깔 변경

* [FEAT] 테이블 목록화면 구현 (#26)

* feat: TableListPage 와이어 프레임 구현

* refactor: grid 가운데 정렬 및 gap 추가

* feat: Table 컴포넌트 구현

* feat: AddTable 컴포넌트 구현
- 클릭 시 새로운 토론 생성

* feat: TableProps 추가

* 페이지 테이블 모달 구현

* refactor: 모달 와이어프레임 구현

* feat: 토론 시간 이름 및 토론 유형 UI 구현

* feat: 토론 유형 선택 토글 구현

* refactor: 토론 유형 토글 선택 기능 구현

* refactor: 토론 유형 토글 컴포넌트로 분리

* style: UI 색상 변경
- amber-500

* feat: CreateTableButton 컴포넌트 구현
- 테이블 만들기 버튼 클릭 시 '/' 로 이동

* refactor: Table 컴포넌트 라우팅 적용

* chore: dummy data 제거

* chore: dummy data 주석처리

* chore: dummy data 추가

* refactor: TableProps 타입 분리

* refactor: 닫기 버튼 가독성을 위해  위치 변경 및 크기 변경

* refactor: ModalProps 타입 분리

* chore: Table 컴포넌트에 시간 단위 '분' 추가

* refactor: Modal props 컴포넌트 안에 배치

* refactor: useModal 훅에 esc 닫는 기능 추가

* refactor: useModal 적용하여 기존 모달 리팩토링

* refactor: 모달 닫기 버튼 사이즈 변경

* refactor: TimerCreationContent Padding 증가

* refactor: Modal 닫기 버튼 위치 조정 및 사이즈 변경

* refactor: TableProps 분리 제거

* refactor: Modal 컴포넌트를 ModalWrapper 감싸기

* refactor: responsive Table UI 로 리팩토링

* refactor: responsive Modal UI 리팩토링

* refactor: Table 타입 분리 및 Type네이밍 변경

* [FIX] 타임 테이블 구성 페이지 피드백 사항 반영 (#29)

* fix: 텍스트를 더 자세하게 수정

* feat: 최상단 컴포넌트에 GlobalPortal추가

* fix: 하단 버튼에 main의 content가 가려지던 문제 수정

* refactor: formatSecondsToMinutes 반환 값 변경

* feat: 선택 진영에 따라 모달 제목 텍스트 색상 변경

* feat: input을 select로 변경

* feat: stace에 따른 색상 변경 함수 구현

* feat: debateType가 중립일 경우 stance을 값을 빈문자열로 표시

* feat: input Numer의 leading zero삭제

* feat: 초기값을 이전 설정한 값으로 설정되게 변경

* feat: stace가 중립일 speakerNumber 수정 불가능하게 변경

* feat: 이전 데이터가 중립일 경우 debateType이 이전 데이터를 반영하지 않도록 변경

* [TEST] 테이블 목록 컴포넌트 Storybook 테스트코드 구현 (#35)

* test: Table 컴포넌트 Storybook 구현

* test: TableListPage 페이지 Storybook 구현

* test: DropdownForDebateType 컴포넌트 Storybook 구현

* fix: test 코드 통과를 위해 코드 h2 tag 수정

* [FEAT] 테이블 조회 화면 구현 (#34)

* refactor: PropsAndConsTitle의 재사용에 따른 폴더 위치 변경

* feat: 테이블 선택 페이지 기본 레이아웃 구현

* fix: footerWrapper을 flex정렬 방향 변경

* refactor: FixedFooterWrapper position 속정 변경에 따른 컴포넌트 명 수정

* feat: TableOverview 라우터 추가

* test: TableOverview 스토리북 작성

* test: PropsAndConsTitle의 위치 변경

* feat: 불필요한 주석 제거

* feat: 버튼 text 수정

* test: MemoryRouter추가

* fix: 사용되지 않은 getStanceColor 수정

* [CHORE] API 처리를 위해 패키지 추가 (#39)

* chore: Added API-related packages to the project

* chore: Added and modified codes for API

- 가상 API 사용을 위한 msw 관련 파일 추가
- TanStack Query 및 msw 대응하여 main.tsx 수정

* chore: Let msw only enabled on 'dev-mock' mode

* chore: Added one blank line at end of package.json

* chore: Added EOL at end of environment variable files

* [FEAT] 테이블 수정 및 삭제 구현 (#44)

* chore: 수정 및 삭제 아이콘을 위해 react-icons 추가

* feat: Table 컴포넌트에 Icons 추가

* feat: implement handleDelete method

* feat: implement EditModalButton to edit Tables

* refactor: stopPropagation method with MouseEvent 추가
- 버튼 클릭 이벤트가 상위로 전파되는 것을 막기 위해서 추가함

* feat: Edit 버튼 눌렀을 때, CreateTableModal 나오게 구현

* chore: unused closeModal function 삭제

* feat: Table 삭제를 위해 DeleteModalButton 구현

* feat: EditTableModal 구현

* feat: EditTableButton 구현
- 이후 수정 RestAPI 로직 추가 필요

* refactor: Edit 관련 컴포넌트에 name 매개변수 추가

* refactor: DebateTable 타입에 extends하여 delete 타입 추가

* refactor: 토론 유형 수정 불가

* refactor: 토론유형 hover: curser-not-allowed 추가

* refactor: handleDelete 함수형 업데이트로 수정

* refactor: EditTableButton 컴포넌트에 closeModal 매개변수 추가

* fix: TableListPage 테스트코드 수정

* [FEAT] 타임박스에 수정 및 삭제 UI 추가 (#42)

* chore: 수정, 삭제 아이콘 이용을 위한 react-icons 추가

* style: 컴포넌트 간의 간경을 더 좁게 수정

* feat: 수정, 삭제 버튼을 합친 EditDeleteButtons 컴포넌트 구현

* style: 분기에 따른 컴포넌트의 높이를 동일하게 수정

* feat: 수정, 삭제 handler 함수 작성

* refactor: 가독성을 위해 중첩된 삼항연산자 분리

* feat: 삭제 버튼 클릭 시, 삭제 확인 모달 구현

* feat: EditDeleteButtons에 aria-label 추가

* test: EditDeleteButtons 스토리북 코드 작성

* feat: TableSetup 테스트에 수정, 삭제 기능 테스트 추가

* [FEAT] API 요청 관련 기능 구현 (#45)

* feat: Added API mocking handler

* feat: Implemented API request logics

- 추가로, BE API 명세서의 반환 예시에 맞추어 일부 변수 이름을 수정

* refactor: Applied some minor changes

- URL 생성 함수가 슬래시(/)를 여러 개 포함하는 문제 수정
- 모든 API 함수를 apis.ts에 통합 (추후 메소드 많아지면 분리)

* feat: Let msw handler catch arguments

그 외 변경사항으로, API 함수들에서 경로 매개변수(path parameters)가 생략되어 있었던 문제를 해결

* refactor: 주석 추가

* fix: DebateTable 인터페이스 변경에 따른 일부 오류 수정

* feat: Added string identifier for 'useQuery' function

---------

Co-authored-by: jaeml06 <jaeml0630@gmail.com>

* [FEAT] 타임박스의 수정을 드래그앤드롭으로 변경하는 기능 구현 (#47)

* feat: 이벤트 발생 비용 감소를 위한 useThrottle 작성

* faet: 타임박스 드래그앤 드롭을 위한 useDragAndDrop 구현

* feat: 타임박스에 드래그앤드롭 영역 지정

* feat: TableSetup에 드래그앤 드롭 선언

* refactor: 불필요한 주석 삭제

* fix: 병합과정에서 발생한 오류 수정

* [CHORE] storybook에 전역적인 decorators 설정 추가 (#50)

* chore: 라우터, GlobalPortal설정을 전역 설정에 decorators로 추가

* chore: storybook에 msw 설정 추가

* [FEAT] 타이머 화면 구현 (#58)

* feat: Implemented TimerPage

* feat: Applied sound effect

And applied minor design changed

* refactor: Let TimerComponent change TimerPage's background

* fix: NEUTRAL 항목에 불필요한 아이콘 뜨는 오류 수정

* feat: Added keyboard event listener on Timer

* fix: 토론 순서 조작 시 발생하는 인덱스 초과 오버플로우 해결

* feat: 피드백에 따른 디자인 변경 사항 반영

* feat: Added loading and error screen on TimerPage

* feat: Applied feedbacks from PR

* fix: 타이머가 현재 debateInfo의 index를 불러오지 못하는 오류 수정

* refactor: 콘솔 로깅 비활성화

* fix: Storybook 출력되지 않는 문제 수정

- use-sound 패키지 제거하고 HTML 태그로 소리 출력
- 별도 컴포넌트를 거치지 않고 직접 gif 파일을 불러와 출력

* refactor: Removed unnecessary codes and comments

* refactor: Hoisted all data and functions to the root page

* fix: Cleared focus on button when space bar pressed

* [FEAT] `ErrorBoundary` 도입 (#65)

* feat: ErrorBoundary 도입

* feat: Wrapped router with ErrorBoundaryWrapper

* feat: Enabled 'throwOnError' option on QueryClient

* feat: Added refresh button on ErrorPage

* refactor: Applied feedbacks from PR review

- Declared string constants for ErrorBoundary
- Set icon size on 'size' parameter instead of TailwindCSS 'className'

* [FEAT] API 연결과 테이블 생성과 수정을 위해 funnel 패턴을 이용하여 멀티 스텝 폼 구현 (#57)

* fix: 응답 타입을 문서에 맞게 수정

* feat: Agenda 타입 추가

* feat: 테이블을 추가하는 api 훅 추가

* feat: 테이블을 삭제하는 api 훅 추가

* feat: 사용자를 추가하는 api 훅 추가

* feat: 의회식 토론을 수정하는 api 훅 추가

* feat: 토론 리스트를 가져오는 api 훅 추가

* feat: 의호식 토론 정보를 가져오는 api 훅 추가

* style: 컴포넌트간의 간격 추가

* feat: multi-step form 구현을 위한 useFunnel 작성

* feat: multi-step form동안에 새로고침시에도 상태 유지를 위한 useBrowserStorage 구현

* feat: DropdownForDebateType의 로직 변경

* feat: 멀티 스텝을 이용한 방식으로 수정으로 인한 생성 모달, TableSetupPage를 변경

* feat: 테이블 생성과 수정을 위한 멀티 스텝 폼, TableComposition 구현

* feat: 테이블 form 정보 커스텀 훅 구현

* feat: 로그인 페이지에 상태와 api훅 추가

* fix: 타임박스 ui 버그 수정

* feat: 멀티 스텝 폼을 위해 TableSetupPage의 commponents 파일 이동

* feat: 테이블 수정을 모달에서 멀티스텝 폼 변경으로 인한 수정

* refactor: 더미 데이터 제거

* feat: composition 라우터 추가

* fix: 응답값에 맞게 msw 수정

* feat: 테이블 조회에 api 훅 추가

* refactor: 모달에서 멀티스텝폼 변경으로 인한 컴포넌트 명 변경

* fix: agenda와 type의 혼동으로 type 문제 수정

* fix: TableComposition 구현으로 인한 불필요한 파일 삭제

* fix: Type 타입을 영어로 수정

* fix: import 경로 수정

* feat: 테스트 mock을 위한 vitest 설정

* test: TableComposition 구현으로 인한 수정사항 반영

* feat: 버튼에 aria-label 추가

* chore: storybook msw 사용가능하게 설정 추가

* fix: stace 오타 변경

* test: storybook 경로 변경

* test: TableCompositon 스토리북 코드 작성

* fix: TableSetup삭제로 인한 라우터 변경

* chore: cleanup 함수 추가

* feat: 인터페이스 명 수정

* refactor: 한글에서 영어로 상수 변경

* refactor: NEUTRAL Stance 타입 변경

* refactor: typeMapping을 constants로 분리

* refactor: DebatePanel의 DebateTypeToString 수정

* refactor: type 값을 영어 상수로 변경

* [CHORE] 배포 파이프라인 자동화 구축 (#60)

* feat: useMutation 사용하여 restAPI post요청 구현

* refactor: useLoginUser 훅으로 분리

* chore: setting Up a Deployment Automation Pipeline

* chore: cd 파일 pr branch 명 변경

* fix: 불필요한 코드 지우기

* build: 패키지 매니저 변경

* build: pr types 추가

* fix: handleLogin 에 '/table' 경로로 라우팅 추가하여 test코드 통과

* fix: 올바른 test코드 위한 수정

* fix: mockServiceWorker 에서 불필요한 코드 삭제

* fix: mockServiceWorekr 필요없는 코드 삭제

* fix: 오류 해결을 위해 build 다시 생성

* fix: eslintignore 와 stylelintignore 설정을 통해 불필요한 검사 제외

* chore: gitignore 에 /dist 추가하여 빌드파일 제외

* chore: stylelintignore eol 추가

* chore: .eslintignore 삭제 및 eslint.config.js 파일 안 ignore 추가

* chore: dist 디렉토리 삭제

* chore: CD 파일에 pr types 에 'synchronize', 'reopened' 제거

* fix: 병합과정에 충돌 오류 수정

---------

Co-authored-by: jaeml06 <jaeml0630@gmail.com>

* hotfix: 에러바운더리 코드가 삭제된 것에 대한 반영 (#69)

* [REFACTOR] 타이머 기능 개선 외 (#66)

* refactor: Applied several changes

- Changed interval to 1000 ms (1 sec)
- Added function that changes background to remove duplication of same codes
- Removed isRunning not necessary

* feat: Made TimerPage be able to catch parameters

* fix: Recovered deleted ErrorBoundary related files

* fix: Set icon size on 'size' argument instead of 'className'

* refactor: Separated loading component to page

* refactor: Applied several changes

- Moved TimerLoadingPage to /src/TimerPage from /src/TimerPage/component
- Set css file to print CR/LF correctly
- Changed 'useQuery' to 'useGetParliamentaryTableData' hook

* refactor: Deleted unneccesary codes

* [FEAT] 닉네임 기반 로그인 구현 (#71)

* feat: 로그인 시, memberId를 반환하도록 변경

* feat: memberId를 session 스토리지에 저장하도록 util 함수 작성

* fix: currentStep을 영문으로 변경

* feat: 정적으로 선언되 memberId를 스토리지에서 가져오도록 변경

* refactor: route.tsx 위치를 routes 폴더로 변경

* feat: ProtectedRoute 구현

* feat:  ProtectedRoute 적용

* refactor: routes위치 변경에 따른 import 수정

* feat: 토론하기 클릭 시, TimerPage 연결

* refactor: 라우터 변경에 따른 수정사항 반영

---------

Co-authored-by: Shawn Kang <77564014+i-meant-to-be@users.noreply.github.com>

* [FEAT] 추가 작전 시간 타이머 구현 외 (#77)

* feat: Changed API base url to deployed server

* feat: Implemented AdditionalTimerComponent

* fix: Recovered horizontal padding of useModal wrapper

* feat: Deleted top margin of AdditionalTimerSummaryItem

* fix: Fixed linting errors

* fix: Removed hard-coded URL on source codes

* fix: Make app get server URL from .env file

* chore: Deleted .env files

* chore: Updated .gitignore file to ignore .env files

* [CHORE] 배포 최적화 및 배포 환경 구분 (#82)

* chore: Separated deploy environments and variables

* chore: Applined vite-plugin-compressions2 to compress builds

* chore: Changed job name

* fix: Added quotes on target path of Cloudfront cache invalidation

* chore: Changed web page title

* chore: Removed compression-related packages and codes

* [CHORE] main 브랜치로 배포 (#87) (#97)

* Update issue templates

* docs: 파일명 수정

* docs: PR 템플릿 생성 (#2)

* docs: 자동 issue 설정 할당

* docs: 불필요한 주석 제거

* docs: 이슈 프로젝트 권한 추가

* docs: 자동할당 로직 변경

* feat: 권한 문제로 자동 Project할당 제거

* docs: PR 자동할당 yml 작성

* docs: 불필요한 Project 정보 제거

* docs: Discord comment 알림 yml 작성

* chore: 프로젝트 초기 세팅

* chore: prettier 설정 추가

* feat: 3개의 영역으로 구분된 header(StickyTriSectionHeader) 구현

* feat: 하단에 고정되어 있는 footer wrapper 구현

* feat: main 레이아웃 구현

* feat: 중첩 컴포넌트로 기본 레이아웃 구현

* design: layout의 ContentContanier 가운데 정렬 추가

* design: layout의 ContentContanier padding 추가

* feat: PropsAndConsTitle 구현

* feat: TimerCreationButton 구현

* feat: 테이블 타입 작성

* feat: 초를 분, 초로 포맷팅하는 함수 구현

* feat: DebatePanel 구현

* feat: 테이블 구성 페이지 초기 UI rngus

* feat: Pretendard 웹폰트  추가

* chore:  storybook 설정 추가

* test: DebatePanel 스토리 북 작성

* test: PropsAndConsTitle 스토리북 테스트 작성

* test: TimerCreationButton 스토리북 테스트 작성

* fix: 파일명에 불필요한 공백 제거

* [FEAT] 페이지 라우팅 적용 (#22)

* chore: install react-router-dom

* feat: App.tsx와 main.tsx 에서 라우팅 설정

* refactor: createBrowerRouter 방식 적용
- router.tsx 파일 생성하여 라우터 적용
- main.tsx 에서     <RouterProvider router={router} /> 적용

* chore: 불필요한 App.tsx 컴포넌트 삭제

* chore: eol prettier 적용

* [FEAT] 타이머 박스 생성 모달 구현 (#17)

* feat: 포털 렌더링 관리를 위한 GlobalPortal 컴포넌트 추가

* feat: 모달 생성을 위한 modal 커스텀 훅 구현

* feat: GlobalPortal 적용

* feat: 제출 이벤트, 버튼 추가

* feat: uesModal 구조 변경

* feat: Stance, DebateType에 export 추가

* test: useModal 테스트 코드 작성

* feat: 타이머 박스 생성 모달 구현

* feat: 타임 테이블 구성 페이지 피그마 UI에 맞게 구성

* refactor: 불필요한 테스트 파일 삭제

* test: 타임 테이블 구성 페이지 스토리북 작성

* test: 타임 테이블 구성 페이지 테스트 코드 작성

* refactor: params변경에 따른 수정

* test: GlbalPortal 추가

* chore: chromatic 추가

* fix: 파일명에 불필요한 공백 제거

* chore: 크로매틱 배포 토큰 변경

* [FEAT] 로그인 페이지 구현 (#24)

* feat: 로그인 페이지 전체 레이아웃

* feat: 로그인 버튼 구현

* feat: 닉네임 별 페이지 목록 페이지 라우팅 설정

* refactor: scale 효과 추가 및 font 굵기 조절

* refactor: tailwind css 가독성 향상 및 개선

* refactor: LinkButton 재사용성 향상
- url과 title을 props로 넘김

* chore: eslint 자동 정렬 설정

* chore: LoginPage eslint 자동 정렬 적용

* refactor: input placeholder 가독성 향상을 위해 글꼴 색깔 변경

* chore: lint와 test를 넣은 CI yml 파일 작성 (#27)

* [FEAT] 테이블 목록화면 구현 (#26)

* feat: TableListPage 와이어 프레임 구현

* refactor: grid 가운데 정렬 및 gap 추가

* feat: Table 컴포넌트 구현

* feat: AddTable 컴포넌트 구현
- 클릭 시 새로운 토론 생성

* feat: TableProps 추가

* 페이지 테이블 모달 구현

* refactor: 모달 와이어프레임 구현

* feat: 토론 시간 이름 및 토론 유형 UI 구현

* feat: 토론 유형 선택 토글 구현

* refactor: 토론 유형 토글 선택 기능 구현

* refactor: 토론 유형 토글 컴포넌트로 분리

* style: UI 색상 변경
- amber-500

* feat: CreateTableButton 컴포넌트 구현
- 테이블 만들기 버튼 클릭 시 '/' 로 이동

* refactor: Table 컴포넌트 라우팅 적용

* chore: dummy data 제거

* chore: dummy data 주석처리

* chore: dummy data 추가

* refactor: TableProps 타입 분리

* refactor: 닫기 버튼 가독성을 위해  위치 변경 및 크기 변경

* refactor: ModalProps 타입 분리

* chore: Table 컴포넌트에 시간 단위 '분' 추가

* refactor: Modal props 컴포넌트 안에 배치

* refactor: useModal 훅에 esc 닫는 기능 추가

* refactor: useModal 적용하여 기존 모달 리팩토링

* refactor: 모달 닫기 버튼 사이즈 변경

* refactor: TimerCreationContent Padding 증가

* refactor: Modal 닫기 버튼 위치 조정 및 사이즈 변경

* refactor: TableProps 분리 제거

* refactor: Modal 컴포넌트를 ModalWrapper 감싸기

* refactor: responsive Table UI 로 리팩토링

* refactor: responsive Modal UI 리팩토링

* refactor: Table 타입 분리 및 Type네이밍 변경

* [TEST] 로그인 페이지 Storybook 테스트코드 구현 (#31)

* feat: TableListPage 와이어 프레임 구현

* refactor: grid 가운데 정렬 및 gap 추가

* feat: Table 컴포넌트 구현

* feat: AddTable 컴포넌트 구현
- 클릭 시 새로운 토론 생성

* feat: TableProps 추가

* 페이지 테이블 모달 구현

* refactor: 모달 와이어프레임 구현

* feat: 토론 시간 이름 및 토론 유형 UI 구현

* feat: 토론 유형 선택 토글 구현

* refactor: 토론 유형 토글 선택 기능 구현

* refactor: 토론 유형 토글 컴포넌트로 분리

* style: UI 색상 변경
- amber-500

* feat: CreateTableButton 컴포넌트 구현
- 테이블 만들기 버튼 클릭 시 '/' 로 이동

* refactor: Table 컴포넌트 라우팅 적용

* chore: dummy data 제거

* chore: dummy data 주석처리

* chore: dummy data 추가

* refactor: TableProps 타입 분리

* refactor: 닫…
jaeml06 added a commit that referenced this pull request Feb 4, 2025
* Update issue templates

* docs: 파일명 수정

* docs: PR 템플릿 생성 (#2)

* docs: 자동 issue 설정 할당

* docs: 불필요한 주석 제거

* docs: 이슈 프로젝트 권한 추가

* docs: 자동할당 로직 변경

* feat: 권한 문제로 자동 Project할당 제거

* docs: PR 자동할당 yml 작성

* docs: 불필요한 Project 정보 제거

* docs: Discord comment 알림 yml 작성

* chore: 프로젝트 초기 세팅

* chore: prettier 설정 추가

* feat: 3개의 영역으로 구분된 header(StickyTriSectionHeader) 구현

* feat: 하단에 고정되어 있는 footer wrapper 구현

* feat: main 레이아웃 구현

* feat: 중첩 컴포넌트로 기본 레이아웃 구현

* design: layout의 ContentContanier 가운데 정렬 추가

* design: layout의 ContentContanier padding 추가

* feat: PropsAndConsTitle 구현

* feat: TimerCreationButton 구현

* feat: 테이블 타입 작성

* feat: 초를 분, 초로 포맷팅하는 함수 구현

* feat: DebatePanel 구현

* feat: 테이블 구성 페이지 초기 UI rngus

* feat: Pretendard 웹폰트  추가

* chore:  storybook 설정 추가

* test: DebatePanel 스토리 북 작성

* test: PropsAndConsTitle 스토리북 테스트 작성

* test: TimerCreationButton 스토리북 테스트 작성

* fix: 파일명에 불필요한 공백 제거

* [FEAT] 페이지 라우팅 적용 (#22)

* chore: install react-router-dom

* feat: App.tsx와 main.tsx 에서 라우팅 설정

* refactor: createBrowerRouter 방식 적용
- router.tsx 파일 생성하여 라우터 적용
- main.tsx 에서     <RouterProvider router={router} /> 적용

* chore: 불필요한 App.tsx 컴포넌트 삭제

* chore: eol prettier 적용

* [FEAT] 타이머 박스 생성 모달 구현 (#17)

* feat: 포털 렌더링 관리를 위한 GlobalPortal 컴포넌트 추가

* feat: 모달 생성을 위한 modal 커스텀 훅 구현

* feat: GlobalPortal 적용

* feat: 제출 이벤트, 버튼 추가

* feat: uesModal 구조 변경

* feat: Stance, DebateType에 export 추가

* test: useModal 테스트 코드 작성

* feat: 타이머 박스 생성 모달 구현

* feat: 타임 테이블 구성 페이지 피그마 UI에 맞게 구성

* refactor: 불필요한 테스트 파일 삭제

* test: 타임 테이블 구성 페이지 스토리북 작성

* test: 타임 테이블 구성 페이지 테스트 코드 작성

* refactor: params변경에 따른 수정

* test: GlbalPortal 추가

* chore: chromatic 추가

* fix: 파일명에 불필요한 공백 제거

* chore: 크로매틱 배포 토큰 변경

* [FEAT] 로그인 페이지 구현 (#24)

* feat: 로그인 페이지 전체 레이아웃

* feat: 로그인 버튼 구현

* feat: 닉네임 별 페이지 목록 페이지 라우팅 설정

* refactor: scale 효과 추가 및 font 굵기 조절

* refactor: tailwind css 가독성 향상 및 개선

* refactor: LinkButton 재사용성 향상
- url과 title을 props로 넘김

* chore: eslint 자동 정렬 설정

* chore: LoginPage eslint 자동 정렬 적용

* refactor: input placeholder 가독성 향상을 위해 글꼴 색깔 변경

* chore: lint와 test를 넣은 CI yml 파일 작성 (#27)

* [FEAT] 테이블 목록화면 구현 (#26)

* feat: TableListPage 와이어 프레임 구현

* refactor: grid 가운데 정렬 및 gap 추가

* feat: Table 컴포넌트 구현

* feat: AddTable 컴포넌트 구현
- 클릭 시 새로운 토론 생성

* feat: TableProps 추가

* 페이지 테이블 모달 구현

* refactor: 모달 와이어프레임 구현

* feat: 토론 시간 이름 및 토론 유형 UI 구현

* feat: 토론 유형 선택 토글 구현

* refactor: 토론 유형 토글 선택 기능 구현

* refactor: 토론 유형 토글 컴포넌트로 분리

* style: UI 색상 변경
- amber-500

* feat: CreateTableButton 컴포넌트 구현
- 테이블 만들기 버튼 클릭 시 '/' 로 이동

* refactor: Table 컴포넌트 라우팅 적용

* chore: dummy data 제거

* chore: dummy data 주석처리

* chore: dummy data 추가

* refactor: TableProps 타입 분리

* refactor: 닫기 버튼 가독성을 위해  위치 변경 및 크기 변경

* refactor: ModalProps 타입 분리

* chore: Table 컴포넌트에 시간 단위 '분' 추가

* refactor: Modal props 컴포넌트 안에 배치

* refactor: useModal 훅에 esc 닫는 기능 추가

* refactor: useModal 적용하여 기존 모달 리팩토링

* refactor: 모달 닫기 버튼 사이즈 변경

* refactor: TimerCreationContent Padding 증가

* refactor: Modal 닫기 버튼 위치 조정 및 사이즈 변경

* refactor: TableProps 분리 제거

* refactor: Modal 컴포넌트를 ModalWrapper 감싸기

* refactor: responsive Table UI 로 리팩토링

* refactor: responsive Modal UI 리팩토링

* refactor: Table 타입 분리 및 Type네이밍 변경

* [TEST] 로그인 페이지 Storybook 테스트코드 구현 (#31)

* feat: TableListPage 와이어 프레임 구현

* refactor: grid 가운데 정렬 및 gap 추가

* feat: Table 컴포넌트 구현

* feat: AddTable 컴포넌트 구현
- 클릭 시 새로운 토론 생성

* feat: TableProps 추가

* 페이지 테이블 모달 구현

* refactor: 모달 와이어프레임 구현

* feat: 토론 시간 이름 및 토론 유형 UI 구현

* feat: 토론 유형 선택 토글 구현

* refactor: 토론 유형 토글 선택 기능 구현

* refactor: 토론 유형 토글 컴포넌트로 분리

* style: UI 색상 변경
- amber-500

* feat: CreateTableButton 컴포넌트 구현
- 테이블 만들기 버튼 클릭 시 '/' 로 이동

* refactor: Table 컴포넌트 라우팅 적용

* chore: dummy data 제거

* chore: dummy data 주석처리

* chore: dummy data 추가

* refactor: TableProps 타입 분리

* refactor: 닫기 버튼 가독성을 위해  위치 변경 및 크기 변경

* refactor: ModalProps 타입 분리

* chore: Table 컴포넌트에 시간 단위 '분' 추가

* refactor: Modal props 컴포넌트 안에 배치

* refactor: useModal 훅에 esc 닫는 기능 추가

* refactor: useModal 적용하여 기존 모달 리팩토링

* refactor: 모달 닫기 버튼 사이즈 변경

* refactor: TimerCreationContent Padding 증가

* refactor: Modal 닫기 버튼 위치 조정 및 사이즈 변경

* refactor: TableProps 분리 제거

* refactor: Modal 컴포넌트를 ModalWrapper 감싸기

* refactor: responsive Table UI 로 리팩토링

* refactor: responsive Modal UI 리팩토링

* feat: LoginPage Storybook 구현

* test: LinkButton 스토리북 구현

* [FIX] 타임 테이블 구성 페이지 피드백 사항 반영 (#29)

* fix: 텍스트를 더 자세하게 수정

* feat: 최상단 컴포넌트에 GlobalPortal추가

* fix: 하단 버튼에 main의 content가 가려지던 문제 수정

* refactor: formatSecondsToMinutes 반환 값 변경

* feat: 선택 진영에 따라 모달 제목 텍스트 색상 변경

* feat: input을 select로 변경

* feat: stace에 따른 색상 변경 함수 구현

* feat: debateType가 중립일 경우 stance을 값을 빈문자열로 표시

* feat: input Numer의 leading zero삭제

* feat: 초기값을 이전 설정한 값으로 설정되게 변경

* feat: stace가 중립일 speakerNumber 수정 불가능하게 변경

* feat: 이전 데이터가 중립일 경우 debateType이 이전 데이터를 반영하지 않도록 변경

* [TEST] 테이블 목록 컴포넌트 Storybook 테스트코드 구현 (#35)

* test: Table 컴포넌트 Storybook 구현

* test: TableListPage 페이지 Storybook 구현

* test: DropdownForDebateType 컴포넌트 Storybook 구현

* fix: test 코드 통과를 위해 코드 h2 tag 수정

* [FEAT] 테이블 조회 화면 구현 (#34)

* refactor: PropsAndConsTitle의 재사용에 따른 폴더 위치 변경

* feat: 테이블 선택 페이지 기본 레이아웃 구현

* fix: footerWrapper을 flex정렬 방향 변경

* refactor: FixedFooterWrapper position 속정 변경에 따른 컴포넌트 명 수정

* feat: TableOverview 라우터 추가

* test: TableOverview 스토리북 작성

* test: PropsAndConsTitle의 위치 변경

* feat: 불필요한 주석 제거

* feat: 버튼 text 수정

* test: MemoryRouter추가

* fix: 사용되지 않은 getStanceColor 수정

* [TEST] 로그인 및 테이블 조회 컴포넌트 테스트코드 구현 (#37)

* [CHORE] API 처리를 위해 패키지 추가 (#39)

* chore: Added API-related packages to the project

* chore: Added and modified codes for API

- 가상 API 사용을 위한 msw 관련 파일 추가
- TanStack Query 및 msw 대응하여 main.tsx 수정

* chore: Let msw only enabled on 'dev-mock' mode

* chore: Added one blank line at end of package.json

* chore: Added EOL at end of environment variable files

* [FEAT] 테이블 수정 및 삭제 구현 (#44)

* chore: 수정 및 삭제 아이콘을 위해 react-icons 추가

* feat: Table 컴포넌트에 Icons 추가

* feat: implement handleDelete method

* feat: implement EditModalButton to edit Tables

* refactor: stopPropagation method with MouseEvent 추가
- 버튼 클릭 이벤트가 상위로 전파되는 것을 막기 위해서 추가함

* feat: Edit 버튼 눌렀을 때, CreateTableModal 나오게 구현

* chore: unused closeModal function 삭제

* feat: Table 삭제를 위해 DeleteModalButton 구현

* feat: EditTableModal 구현

* feat: EditTableButton 구현
- 이후 수정 RestAPI 로직 추가 필요

* refactor: Edit 관련 컴포넌트에 name 매개변수 추가

* refactor: DebateTable 타입에 extends하여 delete 타입 추가

* refactor: 토론 유형 수정 불가

* refactor: 토론유형 hover: curser-not-allowed 추가

* refactor: handleDelete 함수형 업데이트로 수정

* refactor: EditTableButton 컴포넌트에 closeModal 매개변수 추가

* fix: TableListPage 테스트코드 수정

* [FEAT] 타임박스에 수정 및 삭제 UI 추가 (#42)

* chore: 수정, 삭제 아이콘 이용을 위한 react-icons 추가

* style: 컴포넌트 간의 간경을 더 좁게 수정

* feat: 수정, 삭제 버튼을 합친 EditDeleteButtons 컴포넌트 구현

* style: 분기에 따른 컴포넌트의 높이를 동일하게 수정

* feat: 수정, 삭제 handler 함수 작성

* refactor: 가독성을 위해 중첩된 삼항연산자 분리

* feat: 삭제 버튼 클릭 시, 삭제 확인 모달 구현

* feat: EditDeleteButtons에 aria-label 추가

* test: EditDeleteButtons 스토리북 코드 작성

* feat: TableSetup 테스트에 수정, 삭제 기능 테스트 추가

* [FEAT] API 요청 관련 기능 구현 (#45)

* feat: Added API mocking handler

* feat: Implemented API request logics

- 추가로, BE API 명세서의 반환 예시에 맞추어 일부 변수 이름을 수정

* refactor: Applied some minor changes

- URL 생성 함수가 슬래시(/)를 여러 개 포함하는 문제 수정
- 모든 API 함수를 apis.ts에 통합 (추후 메소드 많아지면 분리)

* feat: Let msw handler catch arguments

그 외 변경사항으로, API 함수들에서 경로 매개변수(path parameters)가 생략되어 있었던 문제를 해결

* refactor: 주석 추가

* fix: DebateTable 인터페이스 변경에 따른 일부 오류 수정

* feat: Added string identifier for 'useQuery' function

---------



* [FEAT] 타임박스의 수정을 드래그앤드롭으로 변경하는 기능 구현 (#47)

* feat: 이벤트 발생 비용 감소를 위한 useThrottle 작성

* faet: 타임박스 드래그앤 드롭을 위한 useDragAndDrop 구현

* feat: 타임박스에 드래그앤드롭 영역 지정

* feat: TableSetup에 드래그앤 드롭 선언

* refactor: 불필요한 주석 삭제

* fix: 병합과정에서 발생한 오류 수정

* [CHORE] storybook에 전역적인 decorators 설정 추가 (#50)

* chore: 라우터, GlobalPortal설정을 전역 설정에 decorators로 추가

* chore: storybook에 msw 설정 추가

* [FIX] Mock Handler 파일에서 타입 에러 해결  (#54)

* feat: Table 타입인 TableInfo 정의

* refactor: result 객체에 속핸 info의 타입을 명시하기 위해 request에 TableInfo 타입 명시

* chore: 이미 정의되있던 PostDebateTableResponseType 타입 사용

* [CHORE] VS Code 작업 영역에 대한 설정 파일 추가 #62

* [FEAT] 타이머 화면 구현 (#58)

* feat: Implemented TimerPage

* feat: Applied sound effect

And applied minor design changed

* refactor: Let TimerComponent change TimerPage's background

* fix: NEUTRAL 항목에 불필요한 아이콘 뜨는 오류 수정

* feat: Added keyboard event listener on Timer

* fix: 토론 순서 조작 시 발생하는 인덱스 초과 오버플로우 해결

* feat: 피드백에 따른 디자인 변경 사항 반영

* feat: Added loading and error screen on TimerPage

* feat: Applied feedbacks from PR

* fix: 타이머가 현재 debateInfo의 index를 불러오지 못하는 오류 수정

* refactor: 콘솔 로깅 비활성화

* fix: Storybook 출력되지 않는 문제 수정

- use-sound 패키지 제거하고 HTML 태그로 소리 출력
- 별도 컴포넌트를 거치지 않고 직접 gif 파일을 불러와 출력

* refactor: Removed unnecessary codes and comments

* refactor: Hoisted all data and functions to the root page

* fix: Cleared focus on button when space bar pressed

* [FEAT] `ErrorBoundary` 도입 (#65)

* feat: ErrorBoundary 도입

* feat: Wrapped router with ErrorBoundaryWrapper

* feat: Enabled 'throwOnError' option on QueryClient

* feat: Added refresh button on ErrorPage

* refactor: Applied feedbacks from PR review

- Declared string constants for ErrorBoundary
- Set icon size on 'size' parameter instead of TailwindCSS 'className'

* [FEAT] API 연결과 테이블 생성과 수정을 위해 funnel 패턴을 이용하여 멀티 스텝 폼 구현 (#57)

* fix: 응답 타입을 문서에 맞게 수정

* feat: Agenda 타입 추가

* feat: 테이블을 추가하는 api 훅 추가

* feat: 테이블을 삭제하는 api 훅 추가

* feat: 사용자를 추가하는 api 훅 추가

* feat: 의회식 토론을 수정하는 api 훅 추가

* feat: 토론 리스트를 가져오는 api 훅 추가

* feat: 의호식 토론 정보를 가져오는 api 훅 추가

* style: 컴포넌트간의 간격 추가

* feat: multi-step form 구현을 위한 useFunnel 작성

* feat: multi-step form동안에 새로고침시에도 상태 유지를 위한 useBrowserStorage 구현

* feat: DropdownForDebateType의 로직 변경

* feat: 멀티 스텝을 이용한 방식으로 수정으로 인한 생성 모달, TableSetupPage를 변경

* feat: 테이블 생성과 수정을 위한 멀티 스텝 폼, TableComposition 구현

* feat: 테이블 form 정보 커스텀 훅 구현

* feat: 로그인 페이지에 상태와 api훅 추가

* fix: 타임박스 ui 버그 수정

* feat: 멀티 스텝 폼을 위해 TableSetupPage의 commponents 파일 이동

* feat: 테이블 수정을 모달에서 멀티스텝 폼 변경으로 인한 수정

* refactor: 더미 데이터 제거

* feat: composition 라우터 추가

* fix: 응답값에 맞게 msw 수정

* feat: 테이블 조회에 api 훅 추가

* refactor: 모달에서 멀티스텝폼 변경으로 인한 컴포넌트 명 변경

* fix: agenda와 type의 혼동으로 type 문제 수정

* fix: TableComposition 구현으로 인한 불필요한 파일 삭제

* fix: Type 타입을 영어로 수정

* fix: import 경로 수정

* feat: 테스트 mock을 위한 vitest 설정

* test: TableComposition 구현으로 인한 수정사항 반영

* feat: 버튼에 aria-label 추가

* chore: storybook msw 사용가능하게 설정 추가

* fix: stace 오타 변경

* test: storybook 경로 변경

* test: TableCompositon 스토리북 코드 작성

* fix: TableSetup삭제로 인한 라우터 변경

* chore: cleanup 함수 추가

* feat: 인터페이스 명 수정

* refactor: 한글에서 영어로 상수 변경

* refactor: NEUTRAL Stance 타입 변경

* refactor: typeMapping을 constants로 분리

* refactor: DebatePanel의 DebateTypeToString 수정

* refactor: type 값을 영어 상수로 변경

* [CHORE] 배포 파이프라인 자동화 구축 (#60)

* feat: useMutation 사용하여 restAPI post요청 구현

* refactor: useLoginUser 훅으로 분리

* chore: setting Up a Deployment Automation Pipeline

* chore: cd 파일 pr branch 명 변경

* fix: 불필요한 코드 지우기

* build: 패키지 매니저 변경

* build: pr types 추가

* fix: handleLogin 에 '/table' 경로로 라우팅 추가하여 test코드 통과

* fix: 올바른 test코드 위한 수정

* fix: mockServiceWorker 에서 불필요한 코드 삭제

* fix: mockServiceWorekr 필요없는 코드 삭제

* fix: 오류 해결을 위해 build 다시 생성

* fix: eslintignore 와 stylelintignore 설정을 통해 불필요한 검사 제외

* chore: gitignore 에 /dist 추가하여 빌드파일 제외

* chore: stylelintignore eol 추가

* chore: .eslintignore 삭제 및 eslint.config.js 파일 안 ignore 추가

* chore: dist 디렉토리 삭제

* chore: CD 파일에 pr types 에 'synchronize', 'reopened' 제거

* fix: 병합과정에 충돌 오류 수정

---------



* hotfix: 에러바운더리 코드가 삭제된 것에 대한 반영 (#69)

* [REFACTOR] 타이머 기능 개선 외 (#66)

* refactor: Applied several changes

- Changed interval to 1000 ms (1 sec)
- Added function that changes background to remove duplication of same codes
- Removed isRunning not necessary

* feat: Made TimerPage be able to catch parameters

* fix: Recovered deleted ErrorBoundary related files

* fix: Set icon size on 'size' argument instead of 'className'

* refactor: Separated loading component to page

* refactor: Applied several changes

- Moved TimerLoadingPage to /src/TimerPage from /src/TimerPage/component
- Set css file to print CR/LF correctly
- Changed 'useQuery' to 'useGetParliamentaryTableData' hook

* refactor: Deleted unneccesary codes

* [HOTFIX] GitHub Actions 빌드 실패 문제 해결 (#73)

- TableCompositionStep 상수 값을 한글(타임박스입력)에서 영어(TimeBox)로 바꾸며 발생한 문제 수정
- Type 상수 값을 한글(의회식 토론)에서 영어(PARLIAMENTARY)로 바꾸며 발생한 문제 수정

* [FEAT] AWS S3 및 FrontCloud dev, prod 각각 분리 배포 및 github action 구축 (#76)

* feat: useMutation 사용하여 restAPI post요청 구현

* refactor: useLoginUser 훅으로 분리

* chore: setting Up a Deployment Automation Pipeline

* chore: cd 파일 pr branch 명 변경

* fix: 불필요한 코드 지우기

* build: 패키지 매니저 변경

* build: pr types 추가

* fix: handleLogin 에 '/table' 경로로 라우팅 추가하여 test코드 통과

* fix: 올바른 test코드 위한 수정

* fix: mockServiceWorker 에서 불필요한 코드 삭제

* fix: mockServiceWorekr 필요없는 코드 삭제

* fix: 오류 해결을 위해 build 다시 생성

* fix: eslintignore 와 stylelintignore 설정을 통해 불필요한 검사 제외

* chore: gitignore 에 /dist 추가하여 빌드파일 제외

* chore: stylelintignore eol 추가

* chore: .eslintignore 삭제 및 eslint.config.js 파일 안 ignore 추가

* chore: dist 디렉토리 삭제

* chore: CD 파일에 pr types 에 'synchronize', 'reopened' 제거

* feat: dev 배포를 위한 deploy 코드 작성

* feat: prod 배포를 위한 deploy 코드 작성

* chore: merge 후 생성된 불 필요한 코드 삭제

* chore: dev 배포 명료성을 위해 access key 및 secret key 네이밍 변경

* chore: Dev 배포 관련 yml파일에서 bucket 네이밍 변경

* [FEAT] 닉네임 기반 로그인 구현 (#71)

* feat: 로그인 시, memberId를 반환하도록 변경

* feat: memberId를 session 스토리지에 저장하도록 util 함수 작성

* fix: currentStep을 영문으로 변경

* feat: 정적으로 선언되 memberId를 스토리지에서 가져오도록 변경

* refactor: route.tsx 위치를 routes 폴더로 변경

* feat: ProtectedRoute 구현

* feat:  ProtectedRoute 적용

* refactor: routes위치 변경에 따른 import 수정

* feat: 토론하기 클릭 시, TimerPage 연결

* refactor: 라우터 변경에 따른 수정사항 반영

---------



* [FEAT] 추가 작전 시간 타이머 구현 외 (#77)

* feat: Changed API base url to deployed server

* feat: Implemented AdditionalTimerComponent

* fix: Recovered horizontal padding of useModal wrapper

* feat: Deleted top margin of AdditionalTimerSummaryItem

* fix: Fixed linting errors

* fix: Removed hard-coded URL on source codes

* fix: Make app get server URL from .env file

* chore: Deleted .env files

* chore: Updated .gitignore file to ignore .env files

* [CHORE] 배포 최적화 및 배포 환경 구분 (#82)

* chore: Separated deploy environments and variables

* chore: Applined vite-plugin-compressions2 to compress builds

* chore: Changed job name

* fix: Added quotes on target path of Cloudfront cache invalidation

* chore: Changed web page title

* chore: Removed compression-related packages and codes

* [HOTFIX] 배포된 앱이 서버와 통신하지 못하는 문제 수정 (#84)

* [FIX] PostUserResponseType타입 수정, TableOverview에서 tableId를 url에서 정상적으로 가져오도록 수정 (#86)

* fix: PostUserResponseType 타입 변경

* fix: 정적 navigate 제거

* fix: 불필요한 console.log제거

* fix: tableId를 정상적으로 불러오도록 수정

---------

Co-authored-by: Shawn Kang <77564014+i-meant-to-be@users.noreply.github.com>
Co-authored-by: EunWoo <eunwoo1341@gmail.com>
jaeml06 added a commit that referenced this pull request Feb 4, 2025
* Update issue templates

* docs: 파일명 수정

* docs: PR 템플릿 생성 (#2)

* docs: 자동 issue 설정 할당

* docs: 불필요한 주석 제거

* docs: 이슈 프로젝트 권한 추가

* docs: 자동할당 로직 변경

* feat: 권한 문제로 자동 Project할당 제거

* docs: PR 자동할당 yml 작성

* docs: 불필요한 Project 정보 제거

* docs: Discord comment 알림 yml 작성

* chore: 프로젝트 초기 세팅

* chore: prettier 설정 추가

* feat: 3개의 영역으로 구분된 header(StickyTriSectionHeader) 구현

* feat: 하단에 고정되어 있는 footer wrapper 구현

* feat: main 레이아웃 구현

* feat: 중첩 컴포넌트로 기본 레이아웃 구현

* design: layout의 ContentContanier 가운데 정렬 추가

* design: layout의 ContentContanier padding 추가

* feat: PropsAndConsTitle 구현

* feat: TimerCreationButton 구현

* feat: 테이블 타입 작성

* feat: 초를 분, 초로 포맷팅하는 함수 구현

* feat: DebatePanel 구현

* feat: 테이블 구성 페이지 초기 UI rngus

* feat: Pretendard 웹폰트  추가

* chore:  storybook 설정 추가

* test: DebatePanel 스토리 북 작성

* test: PropsAndConsTitle 스토리북 테스트 작성

* test: TimerCreationButton 스토리북 테스트 작성

* fix: 파일명에 불필요한 공백 제거

* [FEAT] 페이지 라우팅 적용 (#22)

* chore: install react-router-dom

* feat: App.tsx와 main.tsx 에서 라우팅 설정

* refactor: createBrowerRouter 방식 적용
- router.tsx 파일 생성하여 라우터 적용
- main.tsx 에서     <RouterProvider router={router} /> 적용

* chore: 불필요한 App.tsx 컴포넌트 삭제

* chore: eol prettier 적용

* [FEAT] 타이머 박스 생성 모달 구현 (#17)

* feat: 포털 렌더링 관리를 위한 GlobalPortal 컴포넌트 추가

* feat: 모달 생성을 위한 modal 커스텀 훅 구현

* feat: GlobalPortal 적용

* feat: 제출 이벤트, 버튼 추가

* feat: uesModal 구조 변경

* feat: Stance, DebateType에 export 추가

* test: useModal 테스트 코드 작성

* feat: 타이머 박스 생성 모달 구현

* feat: 타임 테이블 구성 페이지 피그마 UI에 맞게 구성

* refactor: 불필요한 테스트 파일 삭제

* test: 타임 테이블 구성 페이지 스토리북 작성

* test: 타임 테이블 구성 페이지 테스트 코드 작성

* refactor: params변경에 따른 수정

* test: GlbalPortal 추가

* chore: chromatic 추가

* fix: 파일명에 불필요한 공백 제거

* chore: 크로매틱 배포 토큰 변경

* [FEAT] 로그인 페이지 구현 (#24)

* feat: 로그인 페이지 전체 레이아웃

* feat: 로그인 버튼 구현

* feat: 닉네임 별 페이지 목록 페이지 라우팅 설정

* refactor: scale 효과 추가 및 font 굵기 조절

* refactor: tailwind css 가독성 향상 및 개선

* refactor: LinkButton 재사용성 향상
- url과 title을 props로 넘김

* chore: eslint 자동 정렬 설정

* chore: LoginPage eslint 자동 정렬 적용

* refactor: input placeholder 가독성 향상을 위해 글꼴 색깔 변경

* chore: lint와 test를 넣은 CI yml 파일 작성 (#27)

* [FEAT] 테이블 목록화면 구현 (#26)

* feat: TableListPage 와이어 프레임 구현

* refactor: grid 가운데 정렬 및 gap 추가

* feat: Table 컴포넌트 구현

* feat: AddTable 컴포넌트 구현
- 클릭 시 새로운 토론 생성

* feat: TableProps 추가

* 페이지 테이블 모달 구현

* refactor: 모달 와이어프레임 구현

* feat: 토론 시간 이름 및 토론 유형 UI 구현

* feat: 토론 유형 선택 토글 구현

* refactor: 토론 유형 토글 선택 기능 구현

* refactor: 토론 유형 토글 컴포넌트로 분리

* style: UI 색상 변경
- amber-500

* feat: CreateTableButton 컴포넌트 구현
- 테이블 만들기 버튼 클릭 시 '/' 로 이동

* refactor: Table 컴포넌트 라우팅 적용

* chore: dummy data 제거

* chore: dummy data 주석처리

* chore: dummy data 추가

* refactor: TableProps 타입 분리

* refactor: 닫기 버튼 가독성을 위해  위치 변경 및 크기 변경

* refactor: ModalProps 타입 분리

* chore: Table 컴포넌트에 시간 단위 '분' 추가

* refactor: Modal props 컴포넌트 안에 배치

* refactor: useModal 훅에 esc 닫는 기능 추가

* refactor: useModal 적용하여 기존 모달 리팩토링

* refactor: 모달 닫기 버튼 사이즈 변경

* refactor: TimerCreationContent Padding 증가

* refactor: Modal 닫기 버튼 위치 조정 및 사이즈 변경

* refactor: TableProps 분리 제거

* refactor: Modal 컴포넌트를 ModalWrapper 감싸기

* refactor: responsive Table UI 로 리팩토링

* refactor: responsive Modal UI 리팩토링

* refactor: Table 타입 분리 및 Type네이밍 변경

* [TEST] 로그인 페이지 Storybook 테스트코드 구현 (#31)

* feat: TableListPage 와이어 프레임 구현

* refactor: grid 가운데 정렬 및 gap 추가

* feat: Table 컴포넌트 구현

* feat: AddTable 컴포넌트 구현
- 클릭 시 새로운 토론 생성

* feat: TableProps 추가

* 페이지 테이블 모달 구현

* refactor: 모달 와이어프레임 구현

* feat: 토론 시간 이름 및 토론 유형 UI 구현

* feat: 토론 유형 선택 토글 구현

* refactor: 토론 유형 토글 선택 기능 구현

* refactor: 토론 유형 토글 컴포넌트로 분리

* style: UI 색상 변경
- amber-500

* feat: CreateTableButton 컴포넌트 구현
- 테이블 만들기 버튼 클릭 시 '/' 로 이동

* refactor: Table 컴포넌트 라우팅 적용

* chore: dummy data 제거

* chore: dummy data 주석처리

* chore: dummy data 추가

* refactor: TableProps 타입 분리

* refactor: 닫기 버튼 가독성을 위해  위치 변경 및 크기 변경

* refactor: ModalProps 타입 분리

* chore: Table 컴포넌트에 시간 단위 '분' 추가

* refactor: Modal props 컴포넌트 안에 배치

* refactor: useModal 훅에 esc 닫는 기능 추가

* refactor: useModal 적용하여 기존 모달 리팩토링

* refactor: 모달 닫기 버튼 사이즈 변경

* refactor: TimerCreationContent Padding 증가

* refactor: Modal 닫기 버튼 위치 조정 및 사이즈 변경

* refactor: TableProps 분리 제거

* refactor: Modal 컴포넌트를 ModalWrapper 감싸기

* refactor: responsive Table UI 로 리팩토링

* refactor: responsive Modal UI 리팩토링

* feat: LoginPage Storybook 구현

* test: LinkButton 스토리북 구현

* [FIX] 타임 테이블 구성 페이지 피드백 사항 반영 (#29)

* fix: 텍스트를 더 자세하게 수정

* feat: 최상단 컴포넌트에 GlobalPortal추가

* fix: 하단 버튼에 main의 content가 가려지던 문제 수정

* refactor: formatSecondsToMinutes 반환 값 변경

* feat: 선택 진영에 따라 모달 제목 텍스트 색상 변경

* feat: input을 select로 변경

* feat: stace에 따른 색상 변경 함수 구현

* feat: debateType가 중립일 경우 stance을 값을 빈문자열로 표시

* feat: input Numer의 leading zero삭제

* feat: 초기값을 이전 설정한 값으로 설정되게 변경

* feat: stace가 중립일 speakerNumber 수정 불가능하게 변경

* feat: 이전 데이터가 중립일 경우 debateType이 이전 데이터를 반영하지 않도록 변경

* [TEST] 테이블 목록 컴포넌트 Storybook 테스트코드 구현 (#35)

* test: Table 컴포넌트 Storybook 구현

* test: TableListPage 페이지 Storybook 구현

* test: DropdownForDebateType 컴포넌트 Storybook 구현

* fix: test 코드 통과를 위해 코드 h2 tag 수정

* [FEAT] 테이블 조회 화면 구현 (#34)

* refactor: PropsAndConsTitle의 재사용에 따른 폴더 위치 변경

* feat: 테이블 선택 페이지 기본 레이아웃 구현

* fix: footerWrapper을 flex정렬 방향 변경

* refactor: FixedFooterWrapper position 속정 변경에 따른 컴포넌트 명 수정

* feat: TableOverview 라우터 추가

* test: TableOverview 스토리북 작성

* test: PropsAndConsTitle의 위치 변경

* feat: 불필요한 주석 제거

* feat: 버튼 text 수정

* test: MemoryRouter추가

* fix: 사용되지 않은 getStanceColor 수정

* [TEST] 로그인 및 테이블 조회 컴포넌트 테스트코드 구현 (#37)

* [CHORE] API 처리를 위해 패키지 추가 (#39)

* chore: Added API-related packages to the project

* chore: Added and modified codes for API

- 가상 API 사용을 위한 msw 관련 파일 추가
- TanStack Query 및 msw 대응하여 main.tsx 수정

* chore: Let msw only enabled on 'dev-mock' mode

* chore: Added one blank line at end of package.json

* chore: Added EOL at end of environment variable files

* [FEAT] 테이블 수정 및 삭제 구현 (#44)

* chore: 수정 및 삭제 아이콘을 위해 react-icons 추가

* feat: Table 컴포넌트에 Icons 추가

* feat: implement handleDelete method

* feat: implement EditModalButton to edit Tables

* refactor: stopPropagation method with MouseEvent 추가
- 버튼 클릭 이벤트가 상위로 전파되는 것을 막기 위해서 추가함

* feat: Edit 버튼 눌렀을 때, CreateTableModal 나오게 구현

* chore: unused closeModal function 삭제

* feat: Table 삭제를 위해 DeleteModalButton 구현

* feat: EditTableModal 구현

* feat: EditTableButton 구현
- 이후 수정 RestAPI 로직 추가 필요

* refactor: Edit 관련 컴포넌트에 name 매개변수 추가

* refactor: DebateTable 타입에 extends하여 delete 타입 추가

* refactor: 토론 유형 수정 불가

* refactor: 토론유형 hover: curser-not-allowed 추가

* refactor: handleDelete 함수형 업데이트로 수정

* refactor: EditTableButton 컴포넌트에 closeModal 매개변수 추가

* fix: TableListPage 테스트코드 수정

* [FEAT] 타임박스에 수정 및 삭제 UI 추가 (#42)

* chore: 수정, 삭제 아이콘 이용을 위한 react-icons 추가

* style: 컴포넌트 간의 간경을 더 좁게 수정

* feat: 수정, 삭제 버튼을 합친 EditDeleteButtons 컴포넌트 구현

* style: 분기에 따른 컴포넌트의 높이를 동일하게 수정

* feat: 수정, 삭제 handler 함수 작성

* refactor: 가독성을 위해 중첩된 삼항연산자 분리

* feat: 삭제 버튼 클릭 시, 삭제 확인 모달 구현

* feat: EditDeleteButtons에 aria-label 추가

* test: EditDeleteButtons 스토리북 코드 작성

* feat: TableSetup 테스트에 수정, 삭제 기능 테스트 추가

* [FEAT] API 요청 관련 기능 구현 (#45)

* feat: Added API mocking handler

* feat: Implemented API request logics

- 추가로, BE API 명세서의 반환 예시에 맞추어 일부 변수 이름을 수정

* refactor: Applied some minor changes

- URL 생성 함수가 슬래시(/)를 여러 개 포함하는 문제 수정
- 모든 API 함수를 apis.ts에 통합 (추후 메소드 많아지면 분리)

* feat: Let msw handler catch arguments

그 외 변경사항으로, API 함수들에서 경로 매개변수(path parameters)가 생략되어 있었던 문제를 해결

* refactor: 주석 추가

* fix: DebateTable 인터페이스 변경에 따른 일부 오류 수정

* feat: Added string identifier for 'useQuery' function

---------



* [FEAT] 타임박스의 수정을 드래그앤드롭으로 변경하는 기능 구현 (#47)

* feat: 이벤트 발생 비용 감소를 위한 useThrottle 작성

* faet: 타임박스 드래그앤 드롭을 위한 useDragAndDrop 구현

* feat: 타임박스에 드래그앤드롭 영역 지정

* feat: TableSetup에 드래그앤 드롭 선언

* refactor: 불필요한 주석 삭제

* fix: 병합과정에서 발생한 오류 수정

* [CHORE] storybook에 전역적인 decorators 설정 추가 (#50)

* chore: 라우터, GlobalPortal설정을 전역 설정에 decorators로 추가

* chore: storybook에 msw 설정 추가

* [FIX] Mock Handler 파일에서 타입 에러 해결  (#54)

* feat: Table 타입인 TableInfo 정의

* refactor: result 객체에 속핸 info의 타입을 명시하기 위해 request에 TableInfo 타입 명시

* chore: 이미 정의되있던 PostDebateTableResponseType 타입 사용

* [CHORE] VS Code 작업 영역에 대한 설정 파일 추가 #62

* [FEAT] 타이머 화면 구현 (#58)

* feat: Implemented TimerPage

* feat: Applied sound effect

And applied minor design changed

* refactor: Let TimerComponent change TimerPage's background

* fix: NEUTRAL 항목에 불필요한 아이콘 뜨는 오류 수정

* feat: Added keyboard event listener on Timer

* fix: 토론 순서 조작 시 발생하는 인덱스 초과 오버플로우 해결

* feat: 피드백에 따른 디자인 변경 사항 반영

* feat: Added loading and error screen on TimerPage

* feat: Applied feedbacks from PR

* fix: 타이머가 현재 debateInfo의 index를 불러오지 못하는 오류 수정

* refactor: 콘솔 로깅 비활성화

* fix: Storybook 출력되지 않는 문제 수정

- use-sound 패키지 제거하고 HTML 태그로 소리 출력
- 별도 컴포넌트를 거치지 않고 직접 gif 파일을 불러와 출력

* refactor: Removed unnecessary codes and comments

* refactor: Hoisted all data and functions to the root page

* fix: Cleared focus on button when space bar pressed

* [FEAT] `ErrorBoundary` 도입 (#65)

* feat: ErrorBoundary 도입

* feat: Wrapped router with ErrorBoundaryWrapper

* feat: Enabled 'throwOnError' option on QueryClient

* feat: Added refresh button on ErrorPage

* refactor: Applied feedbacks from PR review

- Declared string constants for ErrorBoundary
- Set icon size on 'size' parameter instead of TailwindCSS 'className'

* [FEAT] API 연결과 테이블 생성과 수정을 위해 funnel 패턴을 이용하여 멀티 스텝 폼 구현 (#57)

* fix: 응답 타입을 문서에 맞게 수정

* feat: Agenda 타입 추가

* feat: 테이블을 추가하는 api 훅 추가

* feat: 테이블을 삭제하는 api 훅 추가

* feat: 사용자를 추가하는 api 훅 추가

* feat: 의회식 토론을 수정하는 api 훅 추가

* feat: 토론 리스트를 가져오는 api 훅 추가

* feat: 의호식 토론 정보를 가져오는 api 훅 추가

* style: 컴포넌트간의 간격 추가

* feat: multi-step form 구현을 위한 useFunnel 작성

* feat: multi-step form동안에 새로고침시에도 상태 유지를 위한 useBrowserStorage 구현

* feat: DropdownForDebateType의 로직 변경

* feat: 멀티 스텝을 이용한 방식으로 수정으로 인한 생성 모달, TableSetupPage를 변경

* feat: 테이블 생성과 수정을 위한 멀티 스텝 폼, TableComposition 구현

* feat: 테이블 form 정보 커스텀 훅 구현

* feat: 로그인 페이지에 상태와 api훅 추가

* fix: 타임박스 ui 버그 수정

* feat: 멀티 스텝 폼을 위해 TableSetupPage의 commponents 파일 이동

* feat: 테이블 수정을 모달에서 멀티스텝 폼 변경으로 인한 수정

* refactor: 더미 데이터 제거

* feat: composition 라우터 추가

* fix: 응답값에 맞게 msw 수정

* feat: 테이블 조회에 api 훅 추가

* refactor: 모달에서 멀티스텝폼 변경으로 인한 컴포넌트 명 변경

* fix: agenda와 type의 혼동으로 type 문제 수정

* fix: TableComposition 구현으로 인한 불필요한 파일 삭제

* fix: Type 타입을 영어로 수정

* fix: import 경로 수정

* feat: 테스트 mock을 위한 vitest 설정

* test: TableComposition 구현으로 인한 수정사항 반영

* feat: 버튼에 aria-label 추가

* chore: storybook msw 사용가능하게 설정 추가

* fix: stace 오타 변경

* test: storybook 경로 변경

* test: TableCompositon 스토리북 코드 작성

* fix: TableSetup삭제로 인한 라우터 변경

* chore: cleanup 함수 추가

* feat: 인터페이스 명 수정

* refactor: 한글에서 영어로 상수 변경

* refactor: NEUTRAL Stance 타입 변경

* refactor: typeMapping을 constants로 분리

* refactor: DebatePanel의 DebateTypeToString 수정

* refactor: type 값을 영어 상수로 변경

* [CHORE] 배포 파이프라인 자동화 구축 (#60)

* feat: useMutation 사용하여 restAPI post요청 구현

* refactor: useLoginUser 훅으로 분리

* chore: setting Up a Deployment Automation Pipeline

* chore: cd 파일 pr branch 명 변경

* fix: 불필요한 코드 지우기

* build: 패키지 매니저 변경

* build: pr types 추가

* fix: handleLogin 에 '/table' 경로로 라우팅 추가하여 test코드 통과

* fix: 올바른 test코드 위한 수정

* fix: mockServiceWorker 에서 불필요한 코드 삭제

* fix: mockServiceWorekr 필요없는 코드 삭제

* fix: 오류 해결을 위해 build 다시 생성

* fix: eslintignore 와 stylelintignore 설정을 통해 불필요한 검사 제외

* chore: gitignore 에 /dist 추가하여 빌드파일 제외

* chore: stylelintignore eol 추가

* chore: .eslintignore 삭제 및 eslint.config.js 파일 안 ignore 추가

* chore: dist 디렉토리 삭제

* chore: CD 파일에 pr types 에 'synchronize', 'reopened' 제거

* fix: 병합과정에 충돌 오류 수정

---------



* hotfix: 에러바운더리 코드가 삭제된 것에 대한 반영 (#69)

* [REFACTOR] 타이머 기능 개선 외 (#66)

* refactor: Applied several changes

- Changed interval to 1000 ms (1 sec)
- Added function that changes background to remove duplication of same codes
- Removed isRunning not necessary

* feat: Made TimerPage be able to catch parameters

* fix: Recovered deleted ErrorBoundary related files

* fix: Set icon size on 'size' argument instead of 'className'

* refactor: Separated loading component to page

* refactor: Applied several changes

- Moved TimerLoadingPage to /src/TimerPage from /src/TimerPage/component
- Set css file to print CR/LF correctly
- Changed 'useQuery' to 'useGetParliamentaryTableData' hook

* refactor: Deleted unneccesary codes

* [HOTFIX] GitHub Actions 빌드 실패 문제 해결 (#73)

- TableCompositionStep 상수 값을 한글(타임박스입력)에서 영어(TimeBox)로 바꾸며 발생한 문제 수정
- Type 상수 값을 한글(의회식 토론)에서 영어(PARLIAMENTARY)로 바꾸며 발생한 문제 수정

* [FEAT] AWS S3 및 FrontCloud dev, prod 각각 분리 배포 및 github action 구축 (#76)

* feat: useMutation 사용하여 restAPI post요청 구현

* refactor: useLoginUser 훅으로 분리

* chore: setting Up a Deployment Automation Pipeline

* chore: cd 파일 pr branch 명 변경

* fix: 불필요한 코드 지우기

* build: 패키지 매니저 변경

* build: pr types 추가

* fix: handleLogin 에 '/table' 경로로 라우팅 추가하여 test코드 통과

* fix: 올바른 test코드 위한 수정

* fix: mockServiceWorker 에서 불필요한 코드 삭제

* fix: mockServiceWorekr 필요없는 코드 삭제

* fix: 오류 해결을 위해 build 다시 생성

* fix: eslintignore 와 stylelintignore 설정을 통해 불필요한 검사 제외

* chore: gitignore 에 /dist 추가하여 빌드파일 제외

* chore: stylelintignore eol 추가

* chore: .eslintignore 삭제 및 eslint.config.js 파일 안 ignore 추가

* chore: dist 디렉토리 삭제

* chore: CD 파일에 pr types 에 'synchronize', 'reopened' 제거

* feat: dev 배포를 위한 deploy 코드 작성

* feat: prod 배포를 위한 deploy 코드 작성

* chore: merge 후 생성된 불 필요한 코드 삭제

* chore: dev 배포 명료성을 위해 access key 및 secret key 네이밍 변경

* chore: Dev 배포 관련 yml파일에서 bucket 네이밍 변경

* [FEAT] 닉네임 기반 로그인 구현 (#71)

* feat: 로그인 시, memberId를 반환하도록 변경

* feat: memberId를 session 스토리지에 저장하도록 util 함수 작성

* fix: currentStep을 영문으로 변경

* feat: 정적으로 선언되 memberId를 스토리지에서 가져오도록 변경

* refactor: route.tsx 위치를 routes 폴더로 변경

* feat: ProtectedRoute 구현

* feat:  ProtectedRoute 적용

* refactor: routes위치 변경에 따른 import 수정

* feat: 토론하기 클릭 시, TimerPage 연결

* refactor: 라우터 변경에 따른 수정사항 반영

---------



* [FEAT] 추가 작전 시간 타이머 구현 외 (#77)

* feat: Changed API base url to deployed server

* feat: Implemented AdditionalTimerComponent

* fix: Recovered horizontal padding of useModal wrapper

* feat: Deleted top margin of AdditionalTimerSummaryItem

* fix: Fixed linting errors

* fix: Removed hard-coded URL on source codes

* fix: Make app get server URL from .env file

* chore: Deleted .env files

* chore: Updated .gitignore file to ignore .env files

* [CHORE] 배포 최적화 및 배포 환경 구분 (#82)

* chore: Separated deploy environments and variables

* chore: Applined vite-plugin-compressions2 to compress builds

* chore: Changed job name

* fix: Added quotes on target path of Cloudfront cache invalidation

* chore: Changed web page title

* chore: Removed compression-related packages and codes

* [HOTFIX] 배포된 앱이 서버와 통신하지 못하는 문제 수정 (#84)

* [FIX] PostUserResponseType타입 수정, TableOverview에서 tableId를 url에서 정상적으로 가져오도록 수정 (#86)

* fix: PostUserResponseType 타입 변경

* fix: 정적 navigate 제거

* fix: 불필요한 console.log제거

* fix: tableId를 정상적으로 불러오도록 수정

---------

Co-authored-by: Shawn Kang <77564014+i-meant-to-be@users.noreply.github.com>
Co-authored-by: EunWoo <eunwoo1341@gmail.com>
jaeml06 added a commit that referenced this pull request Feb 4, 2025
* Update issue templates

* docs: 파일명 수정

* chore: 프로젝트 초기 세팅

* feat: 하단에 고정되어 있는 footer wrapper 구현

* feat: 중첩 컴포넌트로 기본 레이아웃 구현

* feat: PropsAndConsTitle 구현

* feat: TimerCreationButton 구현

* feat: DebatePanel 구현

* feat: 테이블 구성 페이지 초기 UI rngus

* chore:  storybook 설정 추가

* test: DebatePanel 스토리 북 작성

* test: PropsAndConsTitle 스토리북 테스트 작성

* test: TimerCreationButton 스토리북 테스트 작성

* fix: 파일명에 불필요한 공백 제거

* [FEAT] 페이지 라우팅 적용 (#22)

* chore: install react-router-dom

* feat: App.tsx와 main.tsx 에서 라우팅 설정

* refactor: createBrowerRouter 방식 적용
- router.tsx 파일 생성하여 라우터 적용
- main.tsx 에서     <RouterProvider router={router} /> 적용

* chore: 불필요한 App.tsx 컴포넌트 삭제

* chore: eol prettier 적용

* [FEAT] 타이머 박스 생성 모달 구현 (#17)

* feat: 포털 렌더링 관리를 위한 GlobalPortal 컴포넌트 추가

* feat: 모달 생성을 위한 modal 커스텀 훅 구현

* feat: GlobalPortal 적용

* feat: 제출 이벤트, 버튼 추가

* feat: uesModal 구조 변경

* feat: Stance, DebateType에 export 추가

* test: useModal 테스트 코드 작성

* feat: 타이머 박스 생성 모달 구현

* feat: 타임 테이블 구성 페이지 피그마 UI에 맞게 구성

* refactor: 불필요한 테스트 파일 삭제

* test: 타임 테이블 구성 페이지 스토리북 작성

* test: 타임 테이블 구성 페이지 테스트 코드 작성

* refactor: params변경에 따른 수정

* test: GlbalPortal 추가

* chore: chromatic 추가

* fix: 파일명에 불필요한 공백 제거

* chore: 크로매틱 배포 토큰 변경

* [FEAT] 로그인 페이지 구현 (#24)

* feat: 로그인 페이지 전체 레이아웃

* feat: 로그인 버튼 구현

* feat: 닉네임 별 페이지 목록 페이지 라우팅 설정

* refactor: scale 효과 추가 및 font 굵기 조절

* refactor: tailwind css 가독성 향상 및 개선

* refactor: LinkButton 재사용성 향상
- url과 title을 props로 넘김

* chore: eslint 자동 정렬 설정

* chore: LoginPage eslint 자동 정렬 적용

* refactor: input placeholder 가독성 향상을 위해 글꼴 색깔 변경

* [FEAT] 테이블 목록화면 구현 (#26)

* feat: TableListPage 와이어 프레임 구현

* refactor: grid 가운데 정렬 및 gap 추가

* feat: Table 컴포넌트 구현

* feat: AddTable 컴포넌트 구현
- 클릭 시 새로운 토론 생성

* feat: TableProps 추가

* 페이지 테이블 모달 구현

* refactor: 모달 와이어프레임 구현

* feat: 토론 시간 이름 및 토론 유형 UI 구현

* feat: 토론 유형 선택 토글 구현

* refactor: 토론 유형 토글 선택 기능 구현

* refactor: 토론 유형 토글 컴포넌트로 분리

* style: UI 색상 변경
- amber-500

* feat: CreateTableButton 컴포넌트 구현
- 테이블 만들기 버튼 클릭 시 '/' 로 이동

* refactor: Table 컴포넌트 라우팅 적용

* chore: dummy data 제거

* chore: dummy data 주석처리

* chore: dummy data 추가

* refactor: TableProps 타입 분리

* refactor: 닫기 버튼 가독성을 위해  위치 변경 및 크기 변경

* refactor: ModalProps 타입 분리

* chore: Table 컴포넌트에 시간 단위 '분' 추가

* refactor: Modal props 컴포넌트 안에 배치

* refactor: useModal 훅에 esc 닫는 기능 추가

* refactor: useModal 적용하여 기존 모달 리팩토링

* refactor: 모달 닫기 버튼 사이즈 변경

* refactor: TimerCreationContent Padding 증가

* refactor: Modal 닫기 버튼 위치 조정 및 사이즈 변경

* refactor: TableProps 분리 제거

* refactor: Modal 컴포넌트를 ModalWrapper 감싸기

* refactor: responsive Table UI 로 리팩토링

* refactor: responsive Modal UI 리팩토링

* refactor: Table 타입 분리 및 Type네이밍 변경

* [FIX] 타임 테이블 구성 페이지 피드백 사항 반영 (#29)

* fix: 텍스트를 더 자세하게 수정

* feat: 최상단 컴포넌트에 GlobalPortal추가

* fix: 하단 버튼에 main의 content가 가려지던 문제 수정

* refactor: formatSecondsToMinutes 반환 값 변경

* feat: 선택 진영에 따라 모달 제목 텍스트 색상 변경

* feat: input을 select로 변경

* feat: stace에 따른 색상 변경 함수 구현

* feat: debateType가 중립일 경우 stance을 값을 빈문자열로 표시

* feat: input Numer의 leading zero삭제

* feat: 초기값을 이전 설정한 값으로 설정되게 변경

* feat: stace가 중립일 speakerNumber 수정 불가능하게 변경

* feat: 이전 데이터가 중립일 경우 debateType이 이전 데이터를 반영하지 않도록 변경

* [TEST] 테이블 목록 컴포넌트 Storybook 테스트코드 구현 (#35)

* test: Table 컴포넌트 Storybook 구현

* test: TableListPage 페이지 Storybook 구현

* test: DropdownForDebateType 컴포넌트 Storybook 구현

* fix: test 코드 통과를 위해 코드 h2 tag 수정

* [FEAT] 테이블 조회 화면 구현 (#34)

* refactor: PropsAndConsTitle의 재사용에 따른 폴더 위치 변경

* feat: 테이블 선택 페이지 기본 레이아웃 구현

* fix: footerWrapper을 flex정렬 방향 변경

* refactor: FixedFooterWrapper position 속정 변경에 따른 컴포넌트 명 수정

* feat: TableOverview 라우터 추가

* test: TableOverview 스토리북 작성

* test: PropsAndConsTitle의 위치 변경

* feat: 불필요한 주석 제거

* feat: 버튼 text 수정

* test: MemoryRouter추가

* fix: 사용되지 않은 getStanceColor 수정

* [CHORE] API 처리를 위해 패키지 추가 (#39)

* chore: Added API-related packages to the project

* chore: Added and modified codes for API

- 가상 API 사용을 위한 msw 관련 파일 추가
- TanStack Query 및 msw 대응하여 main.tsx 수정

* chore: Let msw only enabled on 'dev-mock' mode

* chore: Added one blank line at end of package.json

* chore: Added EOL at end of environment variable files

* [FEAT] 테이블 수정 및 삭제 구현 (#44)

* chore: 수정 및 삭제 아이콘을 위해 react-icons 추가

* feat: Table 컴포넌트에 Icons 추가

* feat: implement handleDelete method

* feat: implement EditModalButton to edit Tables

* refactor: stopPropagation method with MouseEvent 추가
- 버튼 클릭 이벤트가 상위로 전파되는 것을 막기 위해서 추가함

* feat: Edit 버튼 눌렀을 때, CreateTableModal 나오게 구현

* chore: unused closeModal function 삭제

* feat: Table 삭제를 위해 DeleteModalButton 구현

* feat: EditTableModal 구현

* feat: EditTableButton 구현
- 이후 수정 RestAPI 로직 추가 필요

* refactor: Edit 관련 컴포넌트에 name 매개변수 추가

* refactor: DebateTable 타입에 extends하여 delete 타입 추가

* refactor: 토론 유형 수정 불가

* refactor: 토론유형 hover: curser-not-allowed 추가

* refactor: handleDelete 함수형 업데이트로 수정

* refactor: EditTableButton 컴포넌트에 closeModal 매개변수 추가

* fix: TableListPage 테스트코드 수정

* [FEAT] 타임박스에 수정 및 삭제 UI 추가 (#42)

* chore: 수정, 삭제 아이콘 이용을 위한 react-icons 추가

* style: 컴포넌트 간의 간경을 더 좁게 수정

* feat: 수정, 삭제 버튼을 합친 EditDeleteButtons 컴포넌트 구현

* style: 분기에 따른 컴포넌트의 높이를 동일하게 수정

* feat: 수정, 삭제 handler 함수 작성

* refactor: 가독성을 위해 중첩된 삼항연산자 분리

* feat: 삭제 버튼 클릭 시, 삭제 확인 모달 구현

* feat: EditDeleteButtons에 aria-label 추가

* test: EditDeleteButtons 스토리북 코드 작성

* feat: TableSetup 테스트에 수정, 삭제 기능 테스트 추가

* [FEAT] API 요청 관련 기능 구현 (#45)

* feat: Added API mocking handler

* feat: Implemented API request logics

- 추가로, BE API 명세서의 반환 예시에 맞추어 일부 변수 이름을 수정

* refactor: Applied some minor changes

- URL 생성 함수가 슬래시(/)를 여러 개 포함하는 문제 수정
- 모든 API 함수를 apis.ts에 통합 (추후 메소드 많아지면 분리)

* feat: Let msw handler catch arguments

그 외 변경사항으로, API 함수들에서 경로 매개변수(path parameters)가 생략되어 있었던 문제를 해결

* refactor: 주석 추가

* fix: DebateTable 인터페이스 변경에 따른 일부 오류 수정

* feat: Added string identifier for 'useQuery' function

---------

Co-authored-by: jaeml06 <jaeml0630@gmail.com>

* [FEAT] 타임박스의 수정을 드래그앤드롭으로 변경하는 기능 구현 (#47)

* feat: 이벤트 발생 비용 감소를 위한 useThrottle 작성

* faet: 타임박스 드래그앤 드롭을 위한 useDragAndDrop 구현

* feat: 타임박스에 드래그앤드롭 영역 지정

* feat: TableSetup에 드래그앤 드롭 선언

* refactor: 불필요한 주석 삭제

* fix: 병합과정에서 발생한 오류 수정

* [CHORE] storybook에 전역적인 decorators 설정 추가 (#50)

* chore: 라우터, GlobalPortal설정을 전역 설정에 decorators로 추가

* chore: storybook에 msw 설정 추가

* [FIX] Mock Handler 파일에서 타입 에러 해결  (#54)

* feat: Table 타입인 TableInfo 정의

* refactor: result 객체에 속핸 info의 타입을 명시하기 위해 request에 TableInfo 타입 명시

* chore: 이미 정의되있던 PostDebateTableResponseType 타입 사용

* [FEAT] 타이머 화면 구현 (#58)

* feat: Implemented TimerPage

* feat: Applied sound effect

And applied minor design changed

* refactor: Let TimerComponent change TimerPage's background

* fix: NEUTRAL 항목에 불필요한 아이콘 뜨는 오류 수정

* feat: Added keyboard event listener on Timer

* fix: 토론 순서 조작 시 발생하는 인덱스 초과 오버플로우 해결

* feat: 피드백에 따른 디자인 변경 사항 반영

* feat: Added loading and error screen on TimerPage

* feat: Applied feedbacks from PR

* fix: 타이머가 현재 debateInfo의 index를 불러오지 못하는 오류 수정

* refactor: 콘솔 로깅 비활성화

* fix: Storybook 출력되지 않는 문제 수정

- use-sound 패키지 제거하고 HTML 태그로 소리 출력
- 별도 컴포넌트를 거치지 않고 직접 gif 파일을 불러와 출력

* refactor: Removed unnecessary codes and comments

* refactor: Hoisted all data and functions to the root page

* fix: Cleared focus on button when space bar pressed

* [FEAT] `ErrorBoundary` 도입 (#65)

* feat: ErrorBoundary 도입

* feat: Wrapped router with ErrorBoundaryWrapper

* feat: Enabled 'throwOnError' option on QueryClient

* feat: Added refresh button on ErrorPage

* refactor: Applied feedbacks from PR review

- Declared string constants for ErrorBoundary
- Set icon size on 'size' parameter instead of TailwindCSS 'className'

* [FEAT] API 연결과 테이블 생성과 수정을 위해 funnel 패턴을 이용하여 멀티 스텝 폼 구현 (#57)

* fix: 응답 타입을 문서에 맞게 수정

* feat: Agenda 타입 추가

* feat: 테이블을 추가하는 api 훅 추가

* feat: 테이블을 삭제하는 api 훅 추가

* feat: 사용자를 추가하는 api 훅 추가

* feat: 의회식 토론을 수정하는 api 훅 추가

* feat: 토론 리스트를 가져오는 api 훅 추가

* feat: 의호식 토론 정보를 가져오는 api 훅 추가

* style: 컴포넌트간의 간격 추가

* feat: multi-step form 구현을 위한 useFunnel 작성

* feat: multi-step form동안에 새로고침시에도 상태 유지를 위한 useBrowserStorage 구현

* feat: DropdownForDebateType의 로직 변경

* feat: 멀티 스텝을 이용한 방식으로 수정으로 인한 생성 모달, TableSetupPage를 변경

* feat: 테이블 생성과 수정을 위한 멀티 스텝 폼, TableComposition 구현

* feat: 테이블 form 정보 커스텀 훅 구현

* feat: 로그인 페이지에 상태와 api훅 추가

* fix: 타임박스 ui 버그 수정

* feat: 멀티 스텝 폼을 위해 TableSetupPage의 commponents 파일 이동

* feat: 테이블 수정을 모달에서 멀티스텝 폼 변경으로 인한 수정

* refactor: 더미 데이터 제거

* feat: composition 라우터 추가

* fix: 응답값에 맞게 msw 수정

* feat: 테이블 조회에 api 훅 추가

* refactor: 모달에서 멀티스텝폼 변경으로 인한 컴포넌트 명 변경

* fix: agenda와 type의 혼동으로 type 문제 수정

* fix: TableComposition 구현으로 인한 불필요한 파일 삭제

* fix: Type 타입을 영어로 수정

* fix: import 경로 수정

* feat: 테스트 mock을 위한 vitest 설정

* test: TableComposition 구현으로 인한 수정사항 반영

* feat: 버튼에 aria-label 추가

* chore: storybook msw 사용가능하게 설정 추가

* fix: stace 오타 변경

* test: storybook 경로 변경

* test: TableCompositon 스토리북 코드 작성

* fix: TableSetup삭제로 인한 라우터 변경

* chore: cleanup 함수 추가

* feat: 인터페이스 명 수정

* refactor: 한글에서 영어로 상수 변경

* refactor: NEUTRAL Stance 타입 변경

* refactor: typeMapping을 constants로 분리

* refactor: DebatePanel의 DebateTypeToString 수정

* refactor: type 값을 영어 상수로 변경

* [CHORE] 배포 파이프라인 자동화 구축 (#60)

* feat: useMutation 사용하여 restAPI post요청 구현

* refactor: useLoginUser 훅으로 분리

* chore: setting Up a Deployment Automation Pipeline

* chore: cd 파일 pr branch 명 변경

* fix: 불필요한 코드 지우기

* build: 패키지 매니저 변경

* build: pr types 추가

* fix: handleLogin 에 '/table' 경로로 라우팅 추가하여 test코드 통과

* fix: 올바른 test코드 위한 수정

* fix: mockServiceWorker 에서 불필요한 코드 삭제

* fix: mockServiceWorekr 필요없는 코드 삭제

* fix: 오류 해결을 위해 build 다시 생성

* fix: eslintignore 와 stylelintignore 설정을 통해 불필요한 검사 제외

* chore: gitignore 에 /dist 추가하여 빌드파일 제외

* chore: stylelintignore eol 추가

* chore: .eslintignore 삭제 및 eslint.config.js 파일 안 ignore 추가

* chore: dist 디렉토리 삭제

* chore: CD 파일에 pr types 에 'synchronize', 'reopened' 제거

* fix: 병합과정에 충돌 오류 수정

---------

Co-authored-by: jaeml06 <jaeml0630@gmail.com>

* hotfix: 에러바운더리 코드가 삭제된 것에 대한 반영 (#69)

* [REFACTOR] 타이머 기능 개선 외 (#66)

* refactor: Applied several changes

- Changed interval to 1000 ms (1 sec)
- Added function that changes background to remove duplication of same codes
- Removed isRunning not necessary

* feat: Made TimerPage be able to catch parameters

* fix: Recovered deleted ErrorBoundary related files

* fix: Set icon size on 'size' argument instead of 'className'

* refactor: Separated loading component to page

* refactor: Applied several changes

- Moved TimerLoadingPage to /src/TimerPage from /src/TimerPage/component
- Set css file to print CR/LF correctly
- Changed 'useQuery' to 'useGetParliamentaryTableData' hook

* refactor: Deleted unneccesary codes

* [FEAT] 닉네임 기반 로그인 구현 (#71)

* feat: 로그인 시, memberId를 반환하도록 변경

* feat: memberId를 session 스토리지에 저장하도록 util 함수 작성

* fix: currentStep을 영문으로 변경

* feat: 정적으로 선언되 memberId를 스토리지에서 가져오도록 변경

* refactor: route.tsx 위치를 routes 폴더로 변경

* feat: ProtectedRoute 구현

* feat:  ProtectedRoute 적용

* refactor: routes위치 변경에 따른 import 수정

* feat: 토론하기 클릭 시, TimerPage 연결

* refactor: 라우터 변경에 따른 수정사항 반영

---------

Co-authored-by: Shawn Kang <77564014+i-meant-to-be@users.noreply.github.com>

* [FEAT] 추가 작전 시간 타이머 구현 외 (#77)

* feat: Changed API base url to deployed server

* feat: Implemented AdditionalTimerComponent

* fix: Recovered horizontal padding of useModal wrapper

* feat: Deleted top margin of AdditionalTimerSummaryItem

* fix: Fixed linting errors

* fix: Removed hard-coded URL on source codes

* fix: Make app get server URL from .env file

* chore: Deleted .env files

* chore: Updated .gitignore file to ignore .env files

* [CHORE] 배포 최적화 및 배포 환경 구분 (#82)

* chore: Separated deploy environments and variables

* chore: Applined vite-plugin-compressions2 to compress builds

* chore: Changed job name

* fix: Added quotes on target path of Cloudfront cache invalidation

* chore: Changed web page title

* chore: Removed compression-related packages and codes

* [FIX] QA에서 식별한 버그 해결 - 숀 (#92)

* feat: Fixed header's elements at the correct position

* fix: Fixed bugs identified at QA

* fix: Let TimerPage print error text when app failed to load data

* fix: Fixed test codes affected by last commits

* refactor: StickyTriSectionHeader변경에 따른 UI 수정

* feat: TableOverview 홈화면 버튼 추가

---------

Co-authored-by: jaeml06 <jaeml0630@gmail.com>

* [FIX] QA에서 식별한 버그 해결 - 치코 (#93)

* feat: 토론주제를 정상적으로 서버에 전달하도록 변경

* fix: 테이블 수정에서 상수로 되어있던 데이터 초기화 수정

* fix: 쿼리파라미터를 유지하도록 수정

* chore: preview 포트 3000으로 수정

* feat: 테이블을 없을시, 제출 버튼 블록처리 추가

* test: 테이블 추가하기 diabled상황 추가에 따른 테스트 수정

* [FIX, CHORE] mock에서 드래그앤 드롭 UI가 깨지는 문제 수정, Storybook 자동 배포 yml 작성 (#81)

* fix: msw 모킹값 변경

* fix: 키값을 더 고유한 값으로 변경

* chore: storybook 자동 배포 yml 작성

---------

Co-authored-by: Shawn Kang <77564014+i-meant-to-be@users.noreply.github.com>

* [CHORE] main 브랜치로 배포 (#87) (#97)

* Update issue templates

* docs: 파일명 수정

* docs: PR 템플릿 생성 (#2)

* docs: 자동 issue 설정 할당

* docs: 불필요한 주석 제거

* docs: 이슈 프로젝트 권한 추가

* docs: 자동할당 로직 변경

* feat: 권한 문제로 자동 Project할당 제거

* docs: PR 자동할당 yml 작성

* docs: 불필요한 Project 정보 제거

* docs: Discord comment 알림 yml 작성

* chore: 프로젝트 초기 세팅

* chore: prettier 설정 추가

* feat: 3개의 영역으로 구분된 header(StickyTriSectionHeader) 구현

* feat: 하단에 고정되어 있는 footer wrapper 구현

* feat: main 레이아웃 구현

* feat: 중첩 컴포넌트로 기본 레이아웃 구현

* design: layout의 ContentContanier 가운데 정렬 추가

* design: layout의 ContentContanier padding 추가

* feat: PropsAndConsTitle 구현

* feat: TimerCreationButton 구현

* feat: 테이블 타입 작성

* feat: 초를 분, 초로 포맷팅하는 함수 구현

* feat: DebatePanel 구현

* feat: 테이블 구성 페이지 초기 UI rngus

* feat: Pretendard 웹폰트  추가

* chore:  storybook 설정 추가

* test: DebatePanel 스토리 북 작성

* test: PropsAndConsTitle 스토리북 테스트 작성

* test: TimerCreationButton 스토리북 테스트 작성

* fix: 파일명에 불필요한 공백 제거

* [FEAT] 페이지 라우팅 적용 (#22)

* chore: install react-router-dom

* feat: App.tsx와 main.tsx 에서 라우팅 설정

* refactor: createBrowerRouter 방식 적용
- router.tsx 파일 생성하여 라우터 적용
- main.tsx 에서     <RouterProvider router={router} /> 적용

* chore: 불필요한 App.tsx 컴포넌트 삭제

* chore: eol prettier 적용

* [FEAT] 타이머 박스 생성 모달 구현 (#17)

* feat: 포털 렌더링 관리를 위한 GlobalPortal 컴포넌트 추가

* feat: 모달 생성을 위한 modal 커스텀 훅 구현

* feat: GlobalPortal 적용

* feat: 제출 이벤트, 버튼 추가

* feat: uesModal 구조 변경

* feat: Stance, DebateType에 export 추가

* test: useModal 테스트 코드 작성

* feat: 타이머 박스 생성 모달 구현

* feat: 타임 테이블 구성 페이지 피그마 UI에 맞게 구성

* refactor: 불필요한 테스트 파일 삭제

* test: 타임 테이블 구성 페이지 스토리북 작성

* test: 타임 테이블 구성 페이지 테스트 코드 작성

* refactor: params변경에 따른 수정

* test: GlbalPortal 추가

* chore: chromatic 추가

* fix: 파일명에 불필요한 공백 제거

* chore: 크로매틱 배포 토큰 변경

* [FEAT] 로그인 페이지 구현 (#24)

* feat: 로그인 페이지 전체 레이아웃

* feat: 로그인 버튼 구현

* feat: 닉네임 별 페이지 목록 페이지 라우팅 설정

* refactor: scale 효과 추가 및 font 굵기 조절

* refactor: tailwind css 가독성 향상 및 개선

* refactor: LinkButton 재사용성 향상
- url과 title을 props로 넘김

* chore: eslint 자동 정렬 설정

* chore: LoginPage eslint 자동 정렬 적용

* refactor: input placeholder 가독성 향상을 위해 글꼴 색깔 변경

* chore: lint와 test를 넣은 CI yml 파일 작성 (#27)

* [FEAT] 테이블 목록화면 구현 (#26)

* feat: TableListPage 와이어 프레임 구현

* refactor: grid 가운데 정렬 및 gap 추가

* feat: Table 컴포넌트 구현

* feat: AddTable 컴포넌트 구현
- 클릭 시 새로운 토론 생성

* feat: TableProps 추가

* 페이지 테이블 모달 구현

* refactor: 모달 와이어프레임 구현

* feat: 토론 시간 이름 및 토론 유형 UI 구현

* feat: 토론 유형 선택 토글 구현

* refactor: 토론 유형 토글 선택 기능 구현

* refactor: 토론 유형 토글 컴포넌트로 분리

* style: UI 색상 변경
- amber-500

* feat: CreateTableButton 컴포넌트 구현
- 테이블 만들기 버튼 클릭 시 '/' 로 이동

* refactor: Table 컴포넌트 라우팅 적용

* chore: dummy data 제거

* chore: dummy data 주석처리

* chore: dummy data 추가

* refactor: TableProps 타입 분리

* refactor: 닫기 버튼 가독성을 위해  위치 변경 및 크기 변경

* refactor: ModalProps 타입 분리

* chore: Table 컴포넌트에 시간 단위 '분' 추가

* refactor: Modal props 컴포넌트 안에 배치

* refactor: useModal 훅에 esc 닫는 기능 추가

* refactor: useModal 적용하여 기존 모달 리팩토링

* refactor: 모달 닫기 버튼 사이즈 변경

* refactor: TimerCreationContent Padding 증가

* refactor: Modal 닫기 버튼 위치 조정 및 사이즈 변경

* refactor: TableProps 분리 제거

* refactor: Modal 컴포넌트를 ModalWrapper 감싸기

* refactor: responsive Table UI 로 리팩토링

* refactor: responsive Modal UI 리팩토링

* refactor: Table 타입 분리 및 Type네이밍 변경

* [TEST] 로그인 페이지 Storybook 테스트코드 구현 (#31)

* feat: TableListPage 와이어 프레임 구현

* refactor: grid 가운데 정렬 및 gap 추가

* feat: Table 컴포넌트 구현

* feat: AddTable 컴포넌트 구현
- 클릭 시 새로운 토론 생성

* feat: TableProps 추가

* 페이지 테이블 모달 구현

* refactor: 모달 와이어프레임 구현

* feat: 토론 시간 이름 및 토론 유형 UI 구현

* feat: 토론 유형 선택 토글 구현

* refactor: 토론 유형 토글 선택 기능 구현

* refactor: 토론 유형 토글 컴포넌트로 분리

* style: UI 색상 변경
- amber-500

* feat: CreateTableButton 컴포넌트 구현
- 테이블 만들기 버튼 클릭 시 '/' 로 이동

* refactor: Table 컴포넌트 라우팅 적용

* chore: dummy data 제거

* chore: dummy data 주석처리

* chore: dummy data 추가

* refactor: TableProps 타입 분리

* refactor: 닫기 버튼 가독성을 위해  위치 변경 및 크기 변경

* refactor: ModalProps 타입 분리

* chore: Table 컴포넌트에 시간 단위 '분' 추가

* refactor: Modal props 컴포넌트 안에 배치

* refactor: useModal 훅에 esc 닫는 기능 추가

* refactor: useModal 적용하여 기존 모달 리팩토링

* refactor: 모달 닫기 버튼 사이즈 변경

* refactor: TimerCreationContent Padding 증가

* refactor: Modal 닫기 버튼 위치 조정 및 사이즈 변경

* refactor: TableProps 분리 제거

* refactor: Modal 컴포넌트를 ModalWrapper 감싸기

* refactor: responsive Table UI 로 리팩토링

* refactor: responsive Modal UI 리팩토링

* feat: LoginPage Storybook 구현

* test: LinkButton 스토리북 구현

* [FIX] 타임 테이블 구성 페이지 피드백 사항 반영 (#29)

* fix: 텍스트를 더 자세하게 수정

* feat: 최상단 컴포넌트에 GlobalPortal추가

* fix: 하단 버튼에 main의 content가 가려지던 문제 수정

* refactor: formatSecondsToMinutes 반환 값 변경

* feat: 선택 진영에 따라 모달 제목 텍스트 색상 변경

* feat: input을 select로 변경

* feat: stace에 따른 색상 변경 함수 구현

* feat: debateType가 중립일 경우 stance을 값을 빈문자열로 표시

* feat: input Numer의 leading zero삭제

* feat: 초기값을 이전 설정한 값으로 설정되게 변경

* feat: stace가 중립일 speakerNumber 수정 불가능하게 변경

* feat: 이전 데이터가 중립일 경우 debateType이 이전 데이터를 반영하지 않도록 변경

* [TEST] 테이블 목록 컴포넌트 Storybook 테스트코드 구현 (#35)

* test: Table 컴포넌트 Storybook 구현

* test: TableListPage 페이지 Storybook 구현

* test: DropdownForDebateType 컴포넌트 Storybook 구현

* fix: test 코드 통과를 위해 코드 h2 tag 수정

* [FEAT] 테이블 조회 화면 구현 (#34)

* refactor: PropsAndConsTitle의 재사용에 따른 폴더 위치 변경

* feat: 테이블 선택 페이지 기본 레이아웃 구현

* fix: footerWrapper을 flex정렬 방향 변경

* refactor: FixedFooterWrapper position 속정 변경에 따른 컴포넌트 명 수정

* feat: TableOverview 라우터 추가

* test: TableOverview 스토리북 작성

* test: PropsAndConsTitle의 위치 변경

* feat: 불필요한 주석 제거

* feat: 버튼 text 수정

* test: MemoryRouter추가

* fix: 사용되지 않은 getStanceColor 수정

* [TEST] 로그인 및 테이블 조회 컴포넌트 테스트코드 구현 (#37)

* [CHORE] API 처리를 위해 패키지 추가 (#39)

* chore: Added API-related packages to the project

* chore: Added and modified codes for API

- 가상 API 사용을 위한 msw 관련 파일 추가
- TanStack Query 및 msw 대응하여 main.tsx 수정

* chore: Let msw only enabled on 'dev-mock' mode

* chore: Added one blank line at end of package.json

* chore: Added EOL at end of environment variable files

* [FEAT] 테이블 수정 및 삭제 구현 (#44)

* chore: 수정 및 삭제 아이콘을 위해 react-icons 추가

* feat: Table 컴포넌트에 Icons 추가

* feat: implement handleDelete method

* feat: implement EditModalButton to edit Tables

* refactor: stopPropagation method with MouseEvent 추가
- 버튼 클릭 이벤트가 상위로 전파되는 것을 막기 위해서 추가함

* feat: Edit 버튼 눌렀을 때, CreateTableModal 나오게 구현

* chore: unused closeModal function 삭제

* feat: Table 삭제를 위해 DeleteModalButton 구현

* feat: EditTableModal 구현

* feat: EditTableButton 구현
- 이후 수정 RestAPI 로직 추가 필요

* refactor: Edit 관련 컴포넌트에 name 매개변수 추가

* refactor: DebateTable 타입에 extends하여 delete 타입 추가

* refactor: 토론 유형 수정 불가

* refactor: 토론유형 hover: curser-not-allowed 추가

* refactor: handleDelete 함수형 업데이트로 수정

* refactor: EditTableButton 컴포넌트에 closeModal 매개변수 추가

* fix: TableListPage 테스트코드 수정

* [FEAT] 타임박스에 수정 및 삭제 UI 추가 (#42)

* chore: 수정, 삭제 아이콘 이용을 위한 react-icons 추가

* style: 컴포넌트 간의 간경을 더 좁게 수정

* feat: 수정, 삭제 버튼을 합친 EditDeleteButtons 컴포넌트 구현

* style: 분기에 따른 컴포넌트의 높이를 동일하게 수정

* feat: 수정, 삭제 handler 함수 작성

* refactor: 가독성을 위해 중첩된 삼항연산자 분리

* feat: 삭제 버튼 클릭 시, 삭제 확인 모달 구현

* feat: EditDeleteButtons에 aria-label 추가

* test: EditDeleteButtons 스토리북 코드 작성

* feat: TableSetup 테스트에 수정, 삭제 기능 테스트 추가

* [FEAT] API 요청 관련 기능 구현 (#45)

* feat: Added API mocking handler

* feat: Implemented API request logics

- 추가로, BE API 명세서의 반환 예시에 맞추어 일부 변수 이름을 수정

* refactor: Applied some minor changes

- URL 생성 함수가 슬래시(/)를 여러 개 포함하는 문제 수정
- 모든 API 함수를 apis.ts에 통합 (추후 메소드 많아지면 분리)

* feat: Let msw handler catch arguments

그 외 변경사항으로, API 함수들에서 경로 매개변수(path parameters)가 생략되어 있었던 문제를 해결

* refactor: 주석 추가

* fix: DebateTable 인터페이스 변경에 따른 일부 오류 수정

* feat: Added string identifier for 'useQuery' function

---------



* [FEAT] 타임박스의 수정을 드래그앤드롭으로 변경하는 기능 구현 (#47)

* feat: 이벤트 발생 비용 감소를 위한 useThrottle 작성

* faet: 타임박스 드래그앤 드롭을 위한 useDragAndDrop 구현

* feat: 타임박스에 드래그앤드롭 영역 지정

* feat: TableSetup에 드래그앤 드롭 선언

* refactor: 불필요한 주석 삭제

* fix: 병합과정에서 발생한 오류 수정

* [CHORE] storybook에 전역적인 decorators 설정 추가 (#50)

* chore: 라우터, GlobalPortal설정을 전역 설정에 decorators로 추가

* chore: storybook에 msw 설정 추가

* [FIX] Mock Handler 파일에서 타입 에러 해결  (#54)

* feat: Table 타입인 TableInfo 정의

* refactor: result 객체에 속핸 info의 타입을 명시하기 위해 request에 TableInfo 타입 명시

* chore: 이미 정의되있던 PostDebateTableResponseType 타입 사용

* [CHORE] VS Code 작업 영역에 대한 설정 파일 추가 #62

* [FEAT] 타이머 화면 구현 (#58)

* feat: Implemented TimerPage

* feat: Applied sound effect

And applied minor design changed

* refactor: Let TimerComponent change TimerPage's background

* fix: NEUTRAL 항목에 불필요한 아이콘 뜨는 오류 수정

* feat: Added keyboard event listener on Timer

* fix: 토론 순서 조작 시 발생하는 인덱스 초과 오버플로우 해결

* feat: 피드백에 따른 디자인 변경 사항 반영

* feat: Added loading and error screen on TimerPage

* feat: Applied feedbacks from PR

* fix: 타이머가 현재 debateInfo의 index를 불러오지 못하는 오류 수정

* refactor: 콘솔 로깅 비활성화

* fix: Storybook 출력되지 않는 문제 수정

- use-sound 패키지 제거하고 HTML 태그로 소리 출력
- 별도 컴포넌트를 거치지 않고 직접 gif 파일을 불러와 출력

* refactor: Removed unnecessary codes and comments

* refactor: Hoisted all data and functions to the root page

* fix: Cleared focus on button when space bar pressed

* [FEAT] `ErrorBoundary` 도입 (#65)

* feat: ErrorBoundary 도입

* feat: Wrapped router with ErrorBoundaryWrapper

* feat: Enabled 'throwOnError' option on QueryClient

* feat: Added refresh button on ErrorPage

* refactor: Applied feedbacks from PR review

- Declared string constants for ErrorBoundary
- Set icon size on 'size' parameter instead of TailwindCSS 'className'

* [FEAT] API 연결과 테이블 생성과 수정을 위해 funnel 패턴을 이용하여 멀티 스텝 폼 구현 (#57)

* fix: 응답 타입을 문서에 맞게 수정

* feat: Agenda 타입 추가

* feat: 테이블을 추가하는 api 훅 추가

* feat: 테이블을 삭제하는 api 훅 추가

* feat: 사용자를 추가하는 api 훅 추가

* feat: 의회식 토론을 수정하는 api 훅 추가

* feat: 토론 리스트를 가져오는 api 훅 추가

* feat: 의호식 토론 정보를 가져오는 api 훅 추가

* style: 컴포넌트간의 간격 추가

* feat: multi-step form 구현을 위한 useFunnel 작성

* feat: multi-step form동안에 새로고침시에도 상태 유지를 위한 useBrowserStorage 구현

* feat: DropdownForDebateType의 로직 변경

* feat: 멀티 스텝을 이용한 방식으로 수정으로 인한 생성 모달, TableSetupPage를 변경

* feat: 테이블 생성과 수정을 위한 멀티 스텝 폼, TableComposition 구현

* feat: 테이블 form 정보 커스텀 훅 구현

* feat: 로그인 페이지에 상태와 api훅 추가

* fix: 타임박스 ui 버그 수정

* feat: 멀티 스텝 폼을 위해 TableSetupPage의 commponents 파일 이동

* feat: 테이블 수정을 모달에서 멀티스텝 폼 변경으로 인한 수정

* refactor: 더미 데이터 제거

* feat: composition 라우터 추가

* fix: 응답값에 맞게 msw 수정

* feat: 테이블 조회에 api 훅 추가

* refactor: 모달에서 멀티스텝폼 변경으로 인한 컴포넌트 명 변경

* fix: agenda와 type의 혼동으로 type 문제 수정

* fix: TableComposition 구현으로 인한 불필요한 파일 삭제

* fix: Type 타입을 영어로 수정

* fix: import 경로 수정

* feat: 테스트 mock을 위한 vitest 설정

* test: TableComposition 구현으로 인한 수정사항 반영

* feat: 버튼에 aria-label 추가

* chore: storybook msw 사용가능하게 설정 추가

* fix: stace 오타 변경

* test: storybook 경로 변경

* test: TableCompositon 스토리북 코드 작성

* fix: TableSetup삭제로 인한 라우터 변경

* chore: cleanup 함수 추가

* feat: 인터페이스 명 수정

* refactor: 한글에서 영어로 상수 변경

* refactor: NEUTRAL Stance 타입 변경

* refactor: typeMapping을 constants로 분리

* refactor: DebatePanel의 DebateTypeToString 수정

* refactor: type 값을 영어 상수로 변경

* [CHORE] 배포 파이프라인 자동화 구축 (#60)

* feat: useMutation 사용하여 restAPI post요청 구현

* refactor: useLoginUser 훅으로 분리

* chore: setting Up a Deployment Automation Pipeline

* chore: cd 파일 pr branch 명 변경

* fix: 불필요한 코드 지우기

* build: 패키지 매니저 변경

* build: pr types 추가

* fix: handleLogin 에 '/table' 경로로 라우팅 추가하여 test코드 통과

* fix: 올바른 test코드 위한 수정

* fix: mockServiceWorker 에서 불필요한 코드 삭제

* fix: mockServiceWorekr 필요없는 코드 삭제

* fix: 오류 해결을 위해 build 다시 생성

* fix: eslintignore 와 stylelintignore 설정을 통해 불필요한 검사 제외

* chore: gitignore 에 /dist 추가하여 빌드파일 제외

* chore: stylelintignore eol 추가

* chore: .eslintignore 삭제 및 eslint.config.js 파일 안 ignore 추가

* chore: dist 디렉토리 삭제

* chore: CD 파일에 pr types 에 'synchronize', 'reopened' 제거

* fix: 병합과정에 충돌 오류 수정

---------



* hotfix: 에러바운더리 코드가 삭제된 것에 대한 반영 (#69)

* [REFACTOR] 타이머 기능 개선 외 (#66)

* refactor: Applied several changes

- Changed interval to 1000 ms (1 sec)
- Added function that changes background to remove duplication of same codes
- Removed isRunning not necessary

* feat: Made TimerPage be able to catch parameters

* fix: Recovered deleted ErrorBoundary related files

* fix: Set icon size on 'size' argument instead of 'className'

* refactor: Separated loading component to page

* refactor: Applied several changes

- Moved TimerLoadingPage to /src/TimerPage from /src/TimerPage/component
- Set css file to print CR/LF correctly
- Changed 'useQuery' to 'useGetParliamentaryTableData' hook

* refactor: Deleted unneccesary codes

* [HOTFIX] GitHub Actions 빌드 실패 문제 해결 (#73)

- TableCompositionStep 상수 값을 한글(타임박스입력)에서 영어(TimeBox)로 바꾸며 발생한 문제 수정
- Type 상수 값을 한글(의회식 토론)에서 영어(PARLIAMENTARY)로 바꾸며 발생한 문제 수정

* [FEAT] AWS S3 및 FrontCloud dev, prod 각각 분리 배포 및 github action 구축 (#76)

* feat: useMutation 사용하여 restAPI post요청 구현

* refactor: useLoginUser 훅으로 분리

* chore: setting Up a Deployment Automation Pipeline

* chore: cd 파일 pr branch 명 변경

* fix: 불필요한 코드 지우기

* build: 패키지 매니저 변경

* build: pr types 추가

* fix: handleLogin 에 '/table' 경로로 라우팅 추가하여 test코드 통과

* fix: 올바른 test코드 위한 수정

* fix: mockServiceWorker 에서 불필요한 코드 삭제

* fix: mockServiceWorekr 필요없는 코드 삭제

* fix: 오류 해결을 위해 build 다시 생성

* fix: eslintignore 와 stylelintignore 설정을 통해 불필요한 검사 제외

* chore: gitignore 에 /dist 추가하여 빌드파일 제외

* chore: stylelintignore eol 추가

* chore: .eslintignore 삭제 및 eslint.config.js 파일 안 ignore 추가

* chore: dist 디렉토리 삭제

* chore: CD 파일에 pr types 에 'synchronize', 'reopened' 제거

* feat: dev 배포를 위한 deploy 코드 작성

* feat: prod 배포를 위한 deploy 코드 작성

* chore: merge 후 생성된 불 필요한 코드 삭제

* chore: dev 배포 명료성을 위해 access key 및 secret key 네이밍 변경

* chore: Dev 배포 관련 yml파일에서 bucket 네이밍 변경

* [FEAT] 닉네임 기반 로그인 구현 (#71)

* feat: 로그인 시, memberId를 반환하도록 변경

* feat: memberId를 session 스토리지에 저장하도록 util 함수 작성

* fix: currentStep을 영문으로 변경

* feat: 정적으로 선언되 memberId를 스토리지에서 가져오도록 변경

* refactor: route.tsx 위치를 routes 폴더로 변경

* feat: ProtectedRoute 구현

* feat:  ProtectedRoute 적용

* refactor: routes위치 변경에 따른 import 수정

* feat: 토론하기 클릭 시, TimerPage 연결

* refactor: 라우터 변경에 따른 수정사항 반영

---------



* [FEAT] 추가 작전 시간 타이머 구현 외 (#77)

* feat: Changed API base url to deployed server

* feat: Implemented AdditionalTimerComponent

* fix: Recovered horizontal padding of useModal wrapper

* feat: Deleted top margin of AdditionalTimerSummaryItem

* fix: Fixed linting errors

* fix: Removed hard-coded URL on source codes

* fix: Make app get server URL from .env file

* chore: Deleted .env files

* chore: Updated .gitignore file to ignore .env files

* [CHORE] 배포 최적화 및 배포 환경 구분 (#82)

* chore: Separated deploy environments and variables

* chore: Applined vite-plugin-compressions2 to compress builds

* chore: Changed job name

* fix: Added quotes on target path of Cloudfront cache invalidation

* chore: Changed web page title

* chore: Removed compression-related packages and codes

* [HOTFIX] 배포된 앱이 서버와 통신하지 못하는 문제 수정 (#84)

* [FIX] PostUserResponseType타입 수정, TableOverview에서 tableId를 url에서 정상적으로 가져오도록 수정 (#86)

* fix: PostUserResponseType 타입 변경

* fix: 정적 navigate 제거

* fix: 불필요한 console.log제거

* fix: tableId를 정상적으로 불러오도록 수정

---------

Co-authored-by: Shawn Kang <77564014+i-meant-to-be@users.noreply.github.com>
Co-authored-by: EunWoo <eunwoo1341@gmail.com>

* [REFACTOR] 1차 UT에 있었던 1, 2순위 수정 사항 반영 (#102)

* refactor: 생성, 수정 환경에서 문구 구분

* refactor: 드래그앤드롭 바 디자인 변경

* fix: 타임박스가 헤더 영역을 침범하는 문제 수정

* test: 문구 변경에 따른 테스트 수정

* Update issue templates

* docs: 파일명 수정

* docs: PR 자동할당 yml 작성

* docs: 불필요한 Project 정보 제거

* chore: 프로젝트 초기 세팅

* feat: 중첩 컴포넌트로 기본 레이아웃 구현

* chore:  storybook 설정 추가

* [FEAT] 페이지 라우팅 적용 (#22)

* chore: install react-router-dom

* feat: App.tsx와 main.tsx 에서 라우팅 설정

* refactor: createBrowerRouter 방식 적용
- router.tsx 파일 생성하여 라우터 적용
- main.tsx 에서     <RouterProvider router={router} /> 적용

* chore: 불필요한 App.tsx 컴포넌트 삭제

* chore: eol prettier 적용

* [FEAT] 타이머 박스 생성 모달 구현 (#17)

* feat: 포털 렌더링 관리를 위한 GlobalPortal 컴포넌트 추가

* feat: 모달 생성을 위한 modal 커스텀 훅 구현

* feat: GlobalPortal 적용

* feat: 제출 이벤트, 버튼 추가

* feat: uesModal 구조 변경

* feat: Stance, DebateType에 export 추가

* test: useModal 테스트 코드 작성

* feat: 타이머 박스 생성 모달 구현

* feat: 타임 테이블 구성 페이지 피그마 UI에 맞게 구성

* refactor: 불필요한 테스트 파일 삭제

* test: 타임 테이블 구성 페이지 스토리북 작성

* test: 타임 테이블 구성 페이지 테스트 코드 작성

* refactor: params변경에 따른 수정

* test: GlbalPortal 추가

* chore: chromatic 추가

* fix: 파일명에 불필요한 공백 제거

* chore: 크로매틱 배포 토큰 변경

* [FEAT] 로그인 페이지 구현 (#24)

* feat: 로그인 페이지 전체 레이아웃

* feat: 로그인 버튼 구현

* feat: 닉네임 별 페이지 목록 페이지 라우팅 설정

* refactor: scale 효과 추가 및 font 굵기 조절

* refactor: tailwind css 가독성 향상 및 개선

* refactor: LinkButton 재사용성 향상
- url과 title을 props로 넘김

* chore: eslint 자동 정렬 설정

* chore: LoginPage eslint 자동 정렬 적용

* refactor: input placeholder 가독성 향상을 위해 글꼴 색깔 변경

* [FEAT] 테이블 목록화면 구현 (#26)

* feat: TableListPage 와이어 프레임 구현

* refactor: grid 가운데 정렬 및 gap 추가

* feat: Table 컴포넌트 구현

* feat: AddTable 컴포넌트 구현
- 클릭 시 새로운 토론 생성

* feat: TableProps 추가

* 페이지 테이블 모달 구현

* refactor: 모달 와이어프레임 구현

* feat: 토론 시간 이름 및 토론 유형 UI 구현

* feat: 토론 유형 선택 토글 구현

* refactor: 토론 유형 토글 선택 기능 구현

* refactor: 토론 유형 토글 컴포넌트로 분리

* style: UI 색상 변경
- amber-500

* feat: CreateTableButton 컴포넌트 구현
- 테이블 만들기 버튼 클릭 시 '/' 로 이동

* refactor: Table 컴포넌트 라우팅 적용

* chore: dummy data 제거

* chore: dummy data 주석처리

* chore: dummy data 추가

* refactor: TableProps 타입 분리

* refactor: 닫기 버튼 가독성을 위해  위치 변경 및 크기 변경

* refactor: ModalProps 타입 분리

* chore: Table 컴포넌트에 시간 단위 '분' 추가

* refactor: Modal props 컴포넌트 안에 배치

* refactor: useModal 훅에 esc 닫는 기능 추가

* refactor: useModal 적용하여 기존 모달 리팩토링

* refactor: 모달 닫기 버튼 사이즈 변경

* refactor: TimerCreationContent Padding 증가

* refactor: Modal 닫기 버튼 위치 조정 및 사이즈 변경

* refactor: TableProps 분리 제거

* refactor: Modal 컴포넌트를 ModalWrapper 감싸기

* refactor: responsive Table UI 로 리팩토링

* refactor: responsive Modal UI 리팩토링

* refactor: Table 타입 분리 및 Type네이밍 변경

* [FIX] 타임 테이블 구성 페이지 피드백 사항 반영 (#29)

* fix: 텍스트를 더 자세하게 수정

* feat: 최상단 컴포넌트에 GlobalPortal추가

* fix: 하단 버튼에 main의 content가 가려지던 문제 수정

* refactor: formatSecondsToMinutes 반환 값 변경

* feat: 선택 진영에 따라 모달 제목 텍스트 색상 변경

* feat: input을 select로 변경

* feat: stace에 따른 색상 변경 함수 구현

* feat: debateType가 중립일 경우 stance을 값을 빈문자열로 표시

* feat: input Numer의 leading zero삭제

* feat: 초기값을 이전 설정한 값으로 설정되게 변경

* feat: stace가 중립일 speakerNumber 수정 불가능하게 변경

* feat: 이전 데이터가 중립일 경우 debateType이 이전 데이터를 반영하지 않도록 변경

* [TEST] 테이블 목록 컴포넌트 Storybook 테스트코드 구현 (#35)

* test: Table 컴포넌트 Storybook 구현

* test: TableListPage 페이지 Storybook 구현

* test: DropdownForDebateType 컴포넌트 Storybook 구현

* fix: test 코드 통과를 위해 코드 h2 tag 수정

* [FEAT] 테이블 조회 화면 구현 (#34)

* refactor: PropsAndConsTitle의 재사용에 따른 폴더 위치 변경

* feat: 테이블 선택 페이지 기본 레이아웃 구현

* fix: footerWrapper을 flex정렬 방향 변경

* refactor: FixedFooterWrapper position 속정 변경에 따른 컴포넌트 명 수정

* feat: TableOverview 라우터 추가

* test: TableOverview 스토리북 작성

* test: PropsAndConsTitle의 위치 변경

* feat: 불필요한 주석 제거

* feat: 버튼 text 수정

* test: MemoryRouter추가

* fix: 사용되지 않은 getStanceColor 수정

* [CHORE] API 처리를 위해 패키지 추가 (#39)

* chore: Added API-related packages to the project

* chore: Added and modified codes for API

- 가상 API 사용을 위한 msw 관련 파일 추가
- TanStack Query 및 msw 대응하여 main.tsx 수정

* chore: Let msw only enabled on 'dev-mock' mode

* chore: Added one blank line at end of package.json

* chore: Added EOL at end of environment variable files

* [FEAT] 테이블 수정 및 삭제 구현 (#44)

* chore: 수정 및 삭제 아이콘을 위해 react-icons 추가

* feat: Table 컴포넌트에 Icons 추가

* feat: implement handleDelete method

* feat: implement EditModalButton to edit Tables

* refactor: stopPropagation method with MouseEvent 추가
- 버튼 클릭 이벤트가 상위로 전파되는 것을 막기 위해서 추가함

* feat: Edit 버튼 눌렀을 때, CreateTableModal 나오게 구현

* chore: unused closeModal function 삭제

* feat: Table 삭제를 위해 DeleteModalButton 구현

* feat: EditTableModal 구현

* feat: EditTableButton 구현
- 이후 수정 RestAPI 로직 추가 필요

* refactor: Edit 관련 컴포넌트에 name 매개변수 추가

* refactor: DebateTable 타입에 extends하여 delete 타입 추가

* refactor: 토론 유형 수정 불가

* refactor: 토론유형 hover: curser-not-allowed 추가

* refactor: handleDelete 함수형 업데이트로 수정

* refactor: EditTableButton 컴포넌트에 closeModal 매개변수 추가

* fix: TableListPage 테스트코드 수정

* [FEAT] 타임박스에 수정 및 삭제 UI 추가 (#42)

* chore: 수정, 삭제 아이콘 이용을 위한 react-icons 추가

* style: 컴포넌트 간의 간경을 더 좁게 수정

* feat: 수정, 삭제 버튼을 합친 EditDeleteButtons 컴포넌트 구현

* style: 분기에 따른 컴포넌트의 높이를 동일하게 수정

* feat: 수정, 삭제 handler 함수 작성

* refactor: 가독성을 위해 중첩된 삼항연산자 분리

* feat: 삭제 버튼 클릭 시, 삭제 확인 모달 구현

* feat: EditDeleteButtons에 aria-label 추가

* test: EditDeleteButtons 스토리북 코드 작성

* feat: TableSetup 테스트에 수정, 삭제 기능 테스트 추가

* [FEAT] API 요청 관련 기능 구현 (#45)

* feat: Added API mocking handler

* feat: Implemented API request logics

- 추가로, BE API 명세서의 반환 예시에 맞추어 일부 변수 이름을 수정

* refactor: Applied some minor changes

- URL 생성 함수가 슬래시(/)를 여러 개 포함하는 문제 수정
- 모든 API 함수를 apis.ts에 통합 (추후 메소드 많아지면 분리)

* feat: Let msw handler catch arguments

그 외 변경사항으로, API 함수들에서 경로 매개변수(path parameters)가 생략되어 있었던 문제를 해결

* refactor: 주석 추가

* fix: DebateTable 인터페이스 변경에 따른 일부 오류 수정

* feat: Added string identifier for 'useQuery' function

---------

Co-authored-by: jaeml06 <jaeml0630@gmail.com>

* [FEAT] 타임박스의 수정을 드래그앤드롭으로 변경하는 기능 구현 (#47)

* feat: 이벤트 발생 비용 감소를 위한 useThrottle 작성

* faet: 타임박스 드래그앤 드롭을 위한 useDragAndDrop 구현

* feat: 타임박스에 드래그앤드롭 영역 지정

* feat: TableSetup에 드래그앤 드롭 선언

* refactor: 불필요한 주석 삭제

* fix: 병합과정에서 발생한 오류 수정

* [CHORE] storybook에 전역적인 decorators 설정 추가 (#50)

* chore: 라우터, GlobalPortal설정을 전역 설정에 decorators로 추가

* chore: storybook에 msw 설정 추가

* [FEAT] 타이머 화면 구현 (#58)

* feat: Implemented TimerPage

* feat: Applied sound effect

And applied minor design changed

* refactor: Let TimerComponent change TimerPage's background

* fix: NEUTRAL 항목에 불필요한 아이콘 뜨는 오류 수정

* feat: Added keyboard event listener on Timer

* fix: 토론 순서 조작 시 발생하는 인덱스 초과 오버플로우 해결

* feat: 피드백에 따른 디자인 변경 사항 반영

* feat: Added loading and error screen on TimerPage

* feat: Applied feedbacks from PR

* fix: 타이머가 현재 debateInfo의 index를 불러오지 못하는 오류 수정

* refactor: 콘솔 로깅 비활성화

* fix: Storybook 출력되지 않는 문제 수정

- use-sound 패키지 제거하고 HTML 태그로 소리 출력
- 별도 컴포넌트를 거치지 않고 직접 gif 파일을 불러와 출력

* refactor: Removed unnecessary codes and comments

* refactor: Hoisted all data and functions to the root page

* fix: Cleared focus on button when space bar pressed

* [FEAT] `ErrorBoundary` 도입 (#65)

* feat: ErrorBoundary 도입

* feat: Wrapped router with ErrorBoundaryWrapper

* feat: Enabled 'throwOnError' option on QueryClient

* feat: Added refresh button on ErrorPage

* refactor: Applied feedbacks from PR review

- Declared string constants for ErrorBoundary
- Set icon size on 'size' parameter instead of TailwindCSS 'className'

* [FEAT] API 연결과 테이블 생성과 수정을 위해 funnel 패턴을 이용하여 멀티 스텝 폼 구현 (#57)

* fix: 응답 타입을 문서에 맞게 수정

* feat: Agenda 타입 추가

* feat: 테이블을 추가하는 api 훅 추가

* feat: 테이블을 삭제하는 api 훅 추가

* feat: 사용자를 추가하는 api 훅 추가

* feat: 의회식 토론을 수정하는 api 훅 추가

* feat: 토론 리스트를 가져오는 api 훅 추가

* feat: 의호식 토론 정보를 가져오는 api 훅 추가

* style: 컴포넌트간의 간격 추가

* feat: multi-step form 구현을 위한 useFunnel 작성

* feat: multi-step form동안에 새로고침시에도 상태 유지를 위한 useBrowserStorage 구현

* feat: DropdownForDebateType의 로직 변경

* feat: 멀티 스텝을 이용한 방식으로 수정으로 인한 생성 모달, TableSetupPage를 변경

* feat: 테이블 생성과 수정을 위한 멀티 스텝 폼, TableComposition 구현

* feat: 테이블 form 정보 커스텀 훅 구현

* feat: 로그인 페이지에 상태와 api훅 추가

* fix: 타임박스 ui 버그 수정

* feat: 멀티 스텝 폼을 위해 TableSetupPage의 commponents 파일 이동

* feat: 테이블 수정을 모달에서 멀티스텝 폼 변경으로 인한 수정

* refactor: 더미 데이터 제거

* feat: composition 라우터 추가

* fix: 응답값에 맞게 msw 수정

* feat: 테이블 조회에 api 훅 추가

* refactor: 모달에서 멀티스텝폼 변경으로 인한 컴포넌트 명 변경

* fix: agenda와 type의 혼동으로 type 문제 수정

* fix: TableComposition 구현으로 인한 불필요한 파일 삭제

* fix: Type 타입을 영어로 수정

* fix: import 경로 수정

* feat: 테스트 mock을 위한 vitest 설정

* test: TableComposition 구현으로 인한 수정사항 반영

* feat: 버튼에 aria-label 추가

* chore: storybook msw 사용가능하게 설정 추가

* fix: stace 오타 변경

* test: storybook 경로 변경

* test: TableCompositon 스토리북 코드 작성

* fix: TableSetup삭제로 인한 라우터 변경

* chore: cleanup 함수 추가

* feat: 인터페이스 명 수정

* refactor: 한글에서 영어로 상수 변경

* refactor: NEUTRAL Stance 타입 변경

* refactor: typeMapping을 constants로 분리

* refactor: DebatePanel의 DebateTypeToString 수정

* refactor: type 값을 영어 상수로 변경

* [CHORE] 배포 파이프라인 자동화 구축 (#60)

* feat: useMutation 사용하여 restAPI post요청 구현

* refactor: useLoginUser 훅으로 분리

* chore: setting Up a Deployment Automation Pipeline

* chore: cd 파일 pr branch 명 변경

* fix: 불필요한 코드 지우기

* build: 패키지 매니저 변경

* build: pr types 추가

* fix: handleLogin 에 '/table' 경로로 라우팅 추가하여 test코드 통과

* fix: 올바른 test코드 위한 수정

* fix: mockServiceWorker 에서 불필요한 코드 삭제

* fix: mockServiceWorekr 필요없는 코드 삭제

* fix: 오류 해결을 위해 build 다시 생성

* fix: eslintignore 와 stylelintignore 설정을 통해 불필요한 검사 제외

* chore: gitignore 에 /dist 추가하여 빌드파일 제외

* chore: stylelintignore eol 추가

* chore: .eslintignore 삭제 및 eslint.config.js 파일 안 ignore 추가

* chore: dist 디렉토리 삭제

* chore: CD 파일에 pr types 에 'synchronize', 'reopened' 제거

* fix: 병합과정에 충돌 오류 수정

---------

Co-authored-by: jaeml06 <jaeml0630@gmail.com>

* hotfix: 에러바운더리 코드가 삭제된 것에 대한 반영 (#69)

* [REFACTOR] 타이머 기능 개선 외 (#66)

* refactor: Applied several changes

- Changed interval to 1000 ms (1 sec)
- Added function that changes background to remove duplication of same codes
- Removed isRunning not necessary

* feat: Made TimerPage be able to catch parameters

* fix: Recovered deleted ErrorBoundary related files

* fix: Set icon size on 'size' argument instead of 'className'

* refactor: Separated loading component to page

* refactor: Applied several changes

- Moved TimerLoadingPage to /src/TimerPage from /src/TimerPage/component
- Set css file to print CR/LF correctly
- Changed 'useQuery' to 'useGetParliamentaryTableData' hook

* refactor: Deleted unneccesary codes

* [FEAT] 닉네임 기반 로그인 구현 (#71)

* feat: 로그인 시, memberId를 반환하도록 변경

* feat: memberId를 session 스토리지에 저장하도록 util 함수 작성

* fix: currentStep을 영문으로 변경

* feat: 정적으로 선언되 memberId를 스토리지에서 가져오도록 변경

* refactor: route.tsx 위치를 routes 폴더로 변경

* feat: ProtectedRoute 구현

* feat:  ProtectedRoute 적용

* refactor: routes위치 변경에 따른 import 수정

* feat: 토론하기 클릭 시, TimerPage 연결

* refactor: 라우터 변경에 따른 수정사항 반영

---------

Co-authored-by: Shawn Kang <77564014+i-meant-to-be@users.noreply.github.com>

* [FEAT] 추가 작전 시간 타이머 구현 외 (#77)

* feat: Changed API base url to deployed server

* feat: Implemented AdditionalTimerComponent

* fix: Recovered horizontal padding of useModal wrapper

* feat: Deleted top margin of AdditionalTimerSummaryItem

* fix: Fixed linting errors

* fix: Removed hard-coded URL on source codes

* fix: Make app get server URL from .env file

* chore: Deleted .env files

* chore: Updated .gitignore file to ignore .env files

* [CHORE] 배포 최적화 및 배포 환경 구분 (#82)

* chore: Separated deploy environments and variables

* chore: Applined vite-plugin-compressions2 to compress builds

* chore: Changed job name

* fix: Added quotes on target path of Cloudfront cache invalidation

* chore: Changed web page title

* chore: Removed compression-related packages and codes

* [CHORE] main 브랜치로 배포 (#87) (#97)

* Update issue templates

* docs: 파일명 수정

* docs: PR 템플릿 생성 (#2)

* docs: 자동 issue 설정 할당

* docs: 불필요한 주석 제거

* docs: 이슈 프로젝트 권한 추가

* docs: 자동할당 로직 변경

* feat: 권한 문제로 자동 Project할당 제거

* docs: PR 자동할당 yml 작성

* docs: 불필요한 Project 정보 제거

* docs: Discord comment 알림 yml 작성

* chore: 프로젝트 초기 세팅

* chore: prettier 설정 추가

* feat: 3개의 영역으로 구분된 header(StickyTriSectionHeader) 구현

* feat: 하단에 고정되어 있는 footer wrapper 구현

* feat: main 레이아웃 구현

* feat: 중첩 컴포넌트로 기본 레이아웃 구현

* design: layout의 ContentContanier 가운데 정렬 추가

* design: layout의 ContentContanier padding 추가

* feat: PropsAndConsTitle 구현

* feat: TimerCreationButton 구현

* feat: 테이블 타입 작성

* feat: 초를 분, 초로 포맷팅하는 함수 구현

* feat: DebatePanel 구현

* feat: 테이블 구성 페이지 초기 UI rngus

* feat: Pretendard 웹폰트  추가

* chore:  storybook 설정 추가

* test: DebatePanel 스토리 북 작성

* test: PropsAndConsTitle 스토리북 테스트 작성

* test: TimerCreationButton 스토리북 테스트 작성

* fix: 파일명에 불필요한 공백 제거

* [FEAT] 페이지 라우팅 적용 (#22)

* chore: install react-router-dom

* feat: App.tsx와 main.tsx 에서 라우팅 설정

* refactor: createBrowerRouter 방식 적용
- router.tsx 파일 생성하여 라우터 적용
- main.tsx 에서     <RouterProvider router={router} /> 적용

* chore: 불필요한 App.tsx 컴포넌트 삭제

* chore: eol prettier 적용

* [FEAT] 타이머 박스 생성 모달 구현 (#17)

* feat: 포털 렌더링 관리를 위한 GlobalPortal 컴포넌트 추가

* feat: 모달 생성을 위한 modal 커스텀 훅 구현

* feat: GlobalPortal 적용

* feat: 제출 이벤트, 버튼 추가

* feat: uesModal 구조 변경

* feat: Stance, DebateType에 export 추가

* test: useModal 테스트 코드 작성

* feat: 타이머 박스 생성 모달 구현

* feat: 타임 테이블 구성 페이지 피그마 UI에 맞게 구성

* refactor: 불필요한 테스트 파일 삭제

* test: 타임 테이블 구성 페이지 스토리북 작성

* test: 타임 테이블 구성 페이지 테스트 코드 작성

* refactor: params변경에 따른 수정

* test: GlbalPortal 추가

* chore: chromatic 추가

* fix: 파일명에 불필요한 공백 제거

* chore: 크로매틱 배포 토큰 변경

* [FEAT] 로그인 페이지 구현 (#24)

* feat: 로그인 페이지 전체 레이아웃

* feat: 로그인 버튼 구현

* feat: 닉네임 별 페이지 목록 페이지 라우팅 설정

* refactor: scale 효과 추가 및 font 굵기 조절

* refactor: tailwind css 가독성 향상 및 개선

* refactor: LinkButton 재사용성 향상
- url과 title을 props로 넘김

* chore: eslint 자동 정렬 설정

* chore: LoginPage eslint 자동 정렬 적용

* refactor: input placeholder 가독성 향상을 위해 글꼴 색깔 변경

* chore: lint와 test를 넣은 CI yml 파일 작성 (#27)

* [FEAT] 테이블 목록화면 구현 (#26)

* feat: TableListPage 와이어 프레임 구현

* refactor: grid 가운데 정렬 및 gap 추가

* feat: Table 컴포넌트 구현

* feat: AddTable 컴포넌트 구현
- 클릭 시 새로운 토론 생성

* feat: TableProps 추가

* 페이지 테이블 모달 구현

* refactor: 모달 와이어프레임 구현

* feat: 토론 시간 이름 및 토론 유형 UI 구현

* feat: 토론 유형 선택 토글 구현

* refactor: 토론 유형 토글 선택 기능 구현

* refactor: 토론 유형 토글 컴포넌트로 분리

* style: UI 색상 변경
- amber-500

* feat: CreateTableButton 컴포넌트 구현
- 테이블 만들기 버튼 클릭 시 '/' 로 이동

* refactor: Table 컴포넌트 라우팅 적용

* chore: dummy data 제거

* chore: dummy data 주석처리

* chore: dummy data 추가

* refactor: TableProps 타입 분리

* refactor: 닫기 버튼 가독성을 위해  위치 변경 및 크기 변경

* refactor: ModalProps 타입 분리

* chore: Table 컴포넌트에 시간 단위 '분' 추가

* refactor: Modal props 컴포넌트 안에 배치

* refactor: useModal 훅에 esc 닫는 기능 추가

* refactor: useModal 적용하여 기존 모달 리팩토링

* refactor: 모달 닫기 버튼 사이즈 변경

* refactor: TimerCreationContent Padding 증가

* refactor: Modal 닫기 버튼 위치 조정 및 사이즈 변경

* refactor: TableProps 분리 제거

* refactor: Modal 컴포넌트를 ModalWrapper 감싸기

* refactor: responsive Table UI 로 리팩토링

* refactor: responsive Modal UI 리팩토링

* refactor: Table 타입 분리 및 Type네이밍 변경

* [TEST] 로그인 페이지 Storybook 테스트코드 구현 (#31)

* feat: TableListPage 와이어 프레임 구현

* refactor: grid 가운데 정렬 및 gap 추가

* feat: Table 컴포넌트 구현

* feat: AddTable 컴포넌트 구현
- 클릭 시 새로운 토론 생성

* feat: TableProps 추가

* 페이지 테이블 모달 구현

* refactor: 모달 와이어프레임 구현

* feat: 토론 시간 이름 및 토론 유형 UI 구현

* feat: 토론 유형 선택 토글 구현

* refactor: 토론 유형 토글 선택 기능 구현

* refactor: 토론 유형 토글 컴포넌트로 분리

* style: UI 색상 변경
- amber-500

* feat: CreateTableButton 컴포넌트 구현
- 테이블 만들기 버튼 클릭 시 '/' 로 이동

* refactor: Table 컴포넌트 라우팅 적용

* chore: dummy data 제거

* chore: dummy data 주석처리

* chore: dummy data 추가

* refactor: TableProps 타입 분리

* refactor: 닫기 버튼 가독성을 위해  위치 변경 및 크기 변경

* refactor: ModalProps 타입 분리

* chore: Table 컴포넌트에 시간 단위 '분' 추가

* refactor: Modal props 컴포넌트 안에 배치

* refactor: useModal 훅에 esc 닫는 기능 추가

* refactor: useModal 적용하여 기존 모달 리팩토링

* refactor: 모달 닫기 버튼 사이즈 변경

* refactor: TimerCreationContent Padding 증가

* refactor: Modal 닫기 버튼 위치 조정 및 사이즈 변경

* refactor: TableProps 분리 제거

* refactor: Modal 컴포넌트를 ModalWrapper 감싸기

* refactor: responsive Table UI 로 리팩토링

* refactor: responsive Modal UI 리팩토링

* feat: LoginPage Storybook 구현

* test: LinkButton 스토리북 구현

* [FIX] 타임 테이블 구성 …
jaeml06 added a commit that referenced this pull request Feb 4, 2025
* Update issue templates

* docs: 파일명 수정

* docs: PR 템플릿 생성 (#2)

* docs: 자동 issue 설정 할당

* docs: 불필요한 주석 제거

* docs: 이슈 프로젝트 권한 추가

* docs: 자동할당 로직 변경

* feat: 권한 문제로 자동 Project할당 제거

* docs: PR 자동할당 yml 작성

* docs: 불필요한 Project 정보 제거

* docs: Discord comment 알림 yml 작성

* chore: 프로젝트 초기 세팅

* chore: prettier 설정 추가

* feat: 3개의 영역으로 구분된 header(StickyTriSectionHeader) 구현

* feat: 하단에 고정되어 있는 footer wrapper 구현

* feat: main 레이아웃 구현

* feat: 중첩 컴포넌트로 기본 레이아웃 구현

* design: layout의 ContentContanier 가운데 정렬 추가

* design: layout의 ContentContanier padding 추가

* feat: PropsAndConsTitle 구현

* feat: TimerCreationButton 구현

* feat: 테이블 타입 작성

* feat: 초를 분, 초로 포맷팅하는 함수 구현

* feat: DebatePanel 구현

* feat: 테이블 구성 페이지 초기 UI rngus

* feat: Pretendard 웹폰트  추가

* chore:  storybook 설정 추가

* test: DebatePanel 스토리 북 작성

* test: PropsAndConsTitle 스토리북 테스트 작성

* test: TimerCreationButton 스토리북 테스트 작성

* fix: 파일명에 불필요한 공백 제거

* [FEAT] 페이지 라우팅 적용 (#22)

* chore: install react-router-dom

* feat: App.tsx와 main.tsx 에서 라우팅 설정

* refactor: createBrowerRouter 방식 적용
- router.tsx 파일 생성하여 라우터 적용
- main.tsx 에서     <RouterProvider router={router} /> 적용

* chore: 불필요한 App.tsx 컴포넌트 삭제

* chore: eol prettier 적용

* [FEAT] 타이머 박스 생성 모달 구현 (#17)

* feat: 포털 렌더링 관리를 위한 GlobalPortal 컴포넌트 추가

* feat: 모달 생성을 위한 modal 커스텀 훅 구현

* feat: GlobalPortal 적용

* feat: 제출 이벤트, 버튼 추가

* feat: uesModal 구조 변경

* feat: Stance, DebateType에 export 추가

* test: useModal 테스트 코드 작성

* feat: 타이머 박스 생성 모달 구현

* feat: 타임 테이블 구성 페이지 피그마 UI에 맞게 구성

* refactor: 불필요한 테스트 파일 삭제

* test: 타임 테이블 구성 페이지 스토리북 작성

* test: 타임 테이블 구성 페이지 테스트 코드 작성

* refactor: params변경에 따른 수정

* test: GlbalPortal 추가

* chore: chromatic 추가

* fix: 파일명에 불필요한 공백 제거

* chore: 크로매틱 배포 토큰 변경

* [FEAT] 로그인 페이지 구현 (#24)

* feat: 로그인 페이지 전체 레이아웃

* feat: 로그인 버튼 구현

* feat: 닉네임 별 페이지 목록 페이지 라우팅 설정

* refactor: scale 효과 추가 및 font 굵기 조절

* refactor: tailwind css 가독성 향상 및 개선

* refactor: LinkButton 재사용성 향상
- url과 title을 props로 넘김

* chore: eslint 자동 정렬 설정

* chore: LoginPage eslint 자동 정렬 적용

* refactor: input placeholder 가독성 향상을 위해 글꼴 색깔 변경

* chore: lint와 test를 넣은 CI yml 파일 작성 (#27)

* [FEAT] 테이블 목록화면 구현 (#26)

* feat: TableListPage 와이어 프레임 구현

* refactor: grid 가운데 정렬 및 gap 추가

* feat: Table 컴포넌트 구현

* feat: AddTable 컴포넌트 구현
- 클릭 시 새로운 토론 생성

* feat: TableProps 추가

* 페이지 테이블 모달 구현

* refactor: 모달 와이어프레임 구현

* feat: 토론 시간 이름 및 토론 유형 UI 구현

* feat: 토론 유형 선택 토글 구현

* refactor: 토론 유형 토글 선택 기능 구현

* refactor: 토론 유형 토글 컴포넌트로 분리

* style: UI 색상 변경
- amber-500

* feat: CreateTableButton 컴포넌트 구현
- 테이블 만들기 버튼 클릭 시 '/' 로 이동

* refactor: Table 컴포넌트 라우팅 적용

* chore: dummy data 제거

* chore: dummy data 주석처리

* chore: dummy data 추가

* refactor: TableProps 타입 분리

* refactor: 닫기 버튼 가독성을 위해  위치 변경 및 크기 변경

* refactor: ModalProps 타입 분리

* chore: Table 컴포넌트에 시간 단위 '분' 추가

* refactor: Modal props 컴포넌트 안에 배치

* refactor: useModal 훅에 esc 닫는 기능 추가

* refactor: useModal 적용하여 기존 모달 리팩토링

* refactor: 모달 닫기 버튼 사이즈 변경

* refactor: TimerCreationContent Padding 증가

* refactor: Modal 닫기 버튼 위치 조정 및 사이즈 변경

* refactor: TableProps 분리 제거

* refactor: Modal 컴포넌트를 ModalWrapper 감싸기

* refactor: responsive Table UI 로 리팩토링

* refactor: responsive Modal UI 리팩토링

* refactor: Table 타입 분리 및 Type네이밍 변경

* [TEST] 로그인 페이지 Storybook 테스트코드 구현 (#31)

* feat: TableListPage 와이어 프레임 구현

* refactor: grid 가운데 정렬 및 gap 추가

* feat: Table 컴포넌트 구현

* feat: AddTable 컴포넌트 구현
- 클릭 시 새로운 토론 생성

* feat: TableProps 추가

* 페이지 테이블 모달 구현

* refactor: 모달 와이어프레임 구현

* feat: 토론 시간 이름 및 토론 유형 UI 구현

* feat: 토론 유형 선택 토글 구현

* refactor: 토론 유형 토글 선택 기능 구현

* refactor: 토론 유형 토글 컴포넌트로 분리

* style: UI 색상 변경
- amber-500

* feat: CreateTableButton 컴포넌트 구현
- 테이블 만들기 버튼 클릭 시 '/' 로 이동

* refactor: Table 컴포넌트 라우팅 적용

* chore: dummy data 제거

* chore: dummy data 주석처리

* chore: dummy data 추가

* refactor: TableProps 타입 분리

* refactor: 닫기 버튼 가독성을 위해  위치 변경 및 크기 변경

* refactor: ModalProps 타입 분리

* chore: Table 컴포넌트에 시간 단위 '분' 추가

* refactor: Modal props 컴포넌트 안에 배치

* refactor: useModal 훅에 esc 닫는 기능 추가

* refactor: useModal 적용하여 기존 모달 리팩토링

* refactor: 모달 닫기 버튼 사이즈 변경

* refactor: TimerCreationContent Padding 증가

* refactor: Modal 닫기 버튼 위치 조정 및 사이즈 변경

* refactor: TableProps 분리 제거

* refactor: Modal 컴포넌트를 ModalWrapper 감싸기

* refactor: responsive Table UI 로 리팩토링

* refactor: responsive Modal UI 리팩토링

* feat: LoginPage Storybook 구현

* test: LinkButton 스토리북 구현

* [FIX] 타임 테이블 구성 페이지 피드백 사항 반영 (#29)

* fix: 텍스트를 더 자세하게 수정

* feat: 최상단 컴포넌트에 GlobalPortal추가

* fix: 하단 버튼에 main의 content가 가려지던 문제 수정

* refactor: formatSecondsToMinutes 반환 값 변경

* feat: 선택 진영에 따라 모달 제목 텍스트 색상 변경

* feat: input을 select로 변경

* feat: stace에 따른 색상 변경 함수 구현

* feat: debateType가 중립일 경우 stance을 값을 빈문자열로 표시

* feat: input Numer의 leading zero삭제

* feat: 초기값을 이전 설정한 값으로 설정되게 변경

* feat: stace가 중립일 speakerNumber 수정 불가능하게 변경

* feat: 이전 데이터가 중립일 경우 debateType이 이전 데이터를 반영하지 않도록 변경

* [TEST] 테이블 목록 컴포넌트 Storybook 테스트코드 구현 (#35)

* test: Table 컴포넌트 Storybook 구현

* test: TableListPage 페이지 Storybook 구현

* test: DropdownForDebateType 컴포넌트 Storybook 구현

* fix: test 코드 통과를 위해 코드 h2 tag 수정

* [FEAT] 테이블 조회 화면 구현 (#34)

* refactor: PropsAndConsTitle의 재사용에 따른 폴더 위치 변경

* feat: 테이블 선택 페이지 기본 레이아웃 구현

* fix: footerWrapper을 flex정렬 방향 변경

* refactor: FixedFooterWrapper position 속정 변경에 따른 컴포넌트 명 수정

* feat: TableOverview 라우터 추가

* test: TableOverview 스토리북 작성

* test: PropsAndConsTitle의 위치 변경

* feat: 불필요한 주석 제거

* feat: 버튼 text 수정

* test: MemoryRouter추가

* fix: 사용되지 않은 getStanceColor 수정

* [TEST] 로그인 및 테이블 조회 컴포넌트 테스트코드 구현 (#37)

* [CHORE] API 처리를 위해 패키지 추가 (#39)

* chore: Added API-related packages to the project

* chore: Added and modified codes for API

- 가상 API 사용을 위한 msw 관련 파일 추가
- TanStack Query 및 msw 대응하여 main.tsx 수정

* chore: Let msw only enabled on 'dev-mock' mode

* chore: Added one blank line at end of package.json

* chore: Added EOL at end of environment variable files

* [FEAT] 테이블 수정 및 삭제 구현 (#44)

* chore: 수정 및 삭제 아이콘을 위해 react-icons 추가

* feat: Table 컴포넌트에 Icons 추가

* feat: implement handleDelete method

* feat: implement EditModalButton to edit Tables

* refactor: stopPropagation method with MouseEvent 추가
- 버튼 클릭 이벤트가 상위로 전파되는 것을 막기 위해서 추가함

* feat: Edit 버튼 눌렀을 때, CreateTableModal 나오게 구현

* chore: unused closeModal function 삭제

* feat: Table 삭제를 위해 DeleteModalButton 구현

* feat: EditTableModal 구현

* feat: EditTableButton 구현
- 이후 수정 RestAPI 로직 추가 필요

* refactor: Edit 관련 컴포넌트에 name 매개변수 추가

* refactor: DebateTable 타입에 extends하여 delete 타입 추가

* refactor: 토론 유형 수정 불가

* refactor: 토론유형 hover: curser-not-allowed 추가

* refactor: handleDelete 함수형 업데이트로 수정

* refactor: EditTableButton 컴포넌트에 closeModal 매개변수 추가

* fix: TableListPage 테스트코드 수정

* [FEAT] 타임박스에 수정 및 삭제 UI 추가 (#42)

* chore: 수정, 삭제 아이콘 이용을 위한 react-icons 추가

* style: 컴포넌트 간의 간경을 더 좁게 수정

* feat: 수정, 삭제 버튼을 합친 EditDeleteButtons 컴포넌트 구현

* style: 분기에 따른 컴포넌트의 높이를 동일하게 수정

* feat: 수정, 삭제 handler 함수 작성

* refactor: 가독성을 위해 중첩된 삼항연산자 분리

* feat: 삭제 버튼 클릭 시, 삭제 확인 모달 구현

* feat: EditDeleteButtons에 aria-label 추가

* test: EditDeleteButtons 스토리북 코드 작성

* feat: TableSetup 테스트에 수정, 삭제 기능 테스트 추가

* [FEAT] API 요청 관련 기능 구현 (#45)

* feat: Added API mocking handler

* feat: Implemented API request logics

- 추가로, BE API 명세서의 반환 예시에 맞추어 일부 변수 이름을 수정

* refactor: Applied some minor changes

- URL 생성 함수가 슬래시(/)를 여러 개 포함하는 문제 수정
- 모든 API 함수를 apis.ts에 통합 (추후 메소드 많아지면 분리)

* feat: Let msw handler catch arguments

그 외 변경사항으로, API 함수들에서 경로 매개변수(path parameters)가 생략되어 있었던 문제를 해결

* refactor: 주석 추가

* fix: DebateTable 인터페이스 변경에 따른 일부 오류 수정

* feat: Added string identifier for 'useQuery' function

---------



* [FEAT] 타임박스의 수정을 드래그앤드롭으로 변경하는 기능 구현 (#47)

* feat: 이벤트 발생 비용 감소를 위한 useThrottle 작성

* faet: 타임박스 드래그앤 드롭을 위한 useDragAndDrop 구현

* feat: 타임박스에 드래그앤드롭 영역 지정

* feat: TableSetup에 드래그앤 드롭 선언

* refactor: 불필요한 주석 삭제

* fix: 병합과정에서 발생한 오류 수정

* [CHORE] storybook에 전역적인 decorators 설정 추가 (#50)

* chore: 라우터, GlobalPortal설정을 전역 설정에 decorators로 추가

* chore: storybook에 msw 설정 추가

* [FIX] Mock Handler 파일에서 타입 에러 해결  (#54)

* feat: Table 타입인 TableInfo 정의

* refactor: result 객체에 속핸 info의 타입을 명시하기 위해 request에 TableInfo 타입 명시

* chore: 이미 정의되있던 PostDebateTableResponseType 타입 사용

* [CHORE] VS Code 작업 영역에 대한 설정 파일 추가 #62

* [FEAT] 타이머 화면 구현 (#58)

* feat: Implemented TimerPage

* feat: Applied sound effect

And applied minor design changed

* refactor: Let TimerComponent change TimerPage's background

* fix: NEUTRAL 항목에 불필요한 아이콘 뜨는 오류 수정

* feat: Added keyboard event listener on Timer

* fix: 토론 순서 조작 시 발생하는 인덱스 초과 오버플로우 해결

* feat: 피드백에 따른 디자인 변경 사항 반영

* feat: Added loading and error screen on TimerPage

* feat: Applied feedbacks from PR

* fix: 타이머가 현재 debateInfo의 index를 불러오지 못하는 오류 수정

* refactor: 콘솔 로깅 비활성화

* fix: Storybook 출력되지 않는 문제 수정

- use-sound 패키지 제거하고 HTML 태그로 소리 출력
- 별도 컴포넌트를 거치지 않고 직접 gif 파일을 불러와 출력

* refactor: Removed unnecessary codes and comments

* refactor: Hoisted all data and functions to the root page

* fix: Cleared focus on button when space bar pressed

* [FEAT] `ErrorBoundary` 도입 (#65)

* feat: ErrorBoundary 도입

* feat: Wrapped router with ErrorBoundaryWrapper

* feat: Enabled 'throwOnError' option on QueryClient

* feat: Added refresh button on ErrorPage

* refactor: Applied feedbacks from PR review

- Declared string constants for ErrorBoundary
- Set icon size on 'size' parameter instead of TailwindCSS 'className'

* [FEAT] API 연결과 테이블 생성과 수정을 위해 funnel 패턴을 이용하여 멀티 스텝 폼 구현 (#57)

* fix: 응답 타입을 문서에 맞게 수정

* feat: Agenda 타입 추가

* feat: 테이블을 추가하는 api 훅 추가

* feat: 테이블을 삭제하는 api 훅 추가

* feat: 사용자를 추가하는 api 훅 추가

* feat: 의회식 토론을 수정하는 api 훅 추가

* feat: 토론 리스트를 가져오는 api 훅 추가

* feat: 의호식 토론 정보를 가져오는 api 훅 추가

* style: 컴포넌트간의 간격 추가

* feat: multi-step form 구현을 위한 useFunnel 작성

* feat: multi-step form동안에 새로고침시에도 상태 유지를 위한 useBrowserStorage 구현

* feat: DropdownForDebateType의 로직 변경

* feat: 멀티 스텝을 이용한 방식으로 수정으로 인한 생성 모달, TableSetupPage를 변경

* feat: 테이블 생성과 수정을 위한 멀티 스텝 폼, TableComposition 구현

* feat: 테이블 form 정보 커스텀 훅 구현

* feat: 로그인 페이지에 상태와 api훅 추가

* fix: 타임박스 ui 버그 수정

* feat: 멀티 스텝 폼을 위해 TableSetupPage의 commponents 파일 이동

* feat: 테이블 수정을 모달에서 멀티스텝 폼 변경으로 인한 수정

* refactor: 더미 데이터 제거

* feat: composition 라우터 추가

* fix: 응답값에 맞게 msw 수정

* feat: 테이블 조회에 api 훅 추가

* refactor: 모달에서 멀티스텝폼 변경으로 인한 컴포넌트 명 변경

* fix: agenda와 type의 혼동으로 type 문제 수정

* fix: TableComposition 구현으로 인한 불필요한 파일 삭제

* fix: Type 타입을 영어로 수정

* fix: import 경로 수정

* feat: 테스트 mock을 위한 vitest 설정

* test: TableComposition 구현으로 인한 수정사항 반영

* feat: 버튼에 aria-label 추가

* chore: storybook msw 사용가능하게 설정 추가

* fix: stace 오타 변경

* test: storybook 경로 변경

* test: TableCompositon 스토리북 코드 작성

* fix: TableSetup삭제로 인한 라우터 변경

* chore: cleanup 함수 추가

* feat: 인터페이스 명 수정

* refactor: 한글에서 영어로 상수 변경

* refactor: NEUTRAL Stance 타입 변경

* refactor: typeMapping을 constants로 분리

* refactor: DebatePanel의 DebateTypeToString 수정

* refactor: type 값을 영어 상수로 변경

* [CHORE] 배포 파이프라인 자동화 구축 (#60)

* feat: useMutation 사용하여 restAPI post요청 구현

* refactor: useLoginUser 훅으로 분리

* chore: setting Up a Deployment Automation Pipeline

* chore: cd 파일 pr branch 명 변경

* fix: 불필요한 코드 지우기

* build: 패키지 매니저 변경

* build: pr types 추가

* fix: handleLogin 에 '/table' 경로로 라우팅 추가하여 test코드 통과

* fix: 올바른 test코드 위한 수정

* fix: mockServiceWorker 에서 불필요한 코드 삭제

* fix: mockServiceWorekr 필요없는 코드 삭제

* fix: 오류 해결을 위해 build 다시 생성

* fix: eslintignore 와 stylelintignore 설정을 통해 불필요한 검사 제외

* chore: gitignore 에 /dist 추가하여 빌드파일 제외

* chore: stylelintignore eol 추가

* chore: .eslintignore 삭제 및 eslint.config.js 파일 안 ignore 추가

* chore: dist 디렉토리 삭제

* chore: CD 파일에 pr types 에 'synchronize', 'reopened' 제거

* fix: 병합과정에 충돌 오류 수정

---------



* hotfix: 에러바운더리 코드가 삭제된 것에 대한 반영 (#69)

* [REFACTOR] 타이머 기능 개선 외 (#66)

* refactor: Applied several changes

- Changed interval to 1000 ms (1 sec)
- Added function that changes background to remove duplication of same codes
- Removed isRunning not necessary

* feat: Made TimerPage be able to catch parameters

* fix: Recovered deleted ErrorBoundary related files

* fix: Set icon size on 'size' argument instead of 'className'

* refactor: Separated loading component to page

* refactor: Applied several changes

- Moved TimerLoadingPage to /src/TimerPage from /src/TimerPage/component
- Set css file to print CR/LF correctly
- Changed 'useQuery' to 'useGetParliamentaryTableData' hook

* refactor: Deleted unneccesary codes

* [HOTFIX] GitHub Actions 빌드 실패 문제 해결 (#73)

- TableCompositionStep 상수 값을 한글(타임박스입력)에서 영어(TimeBox)로 바꾸며 발생한 문제 수정
- Type 상수 값을 한글(의회식 토론)에서 영어(PARLIAMENTARY)로 바꾸며 발생한 문제 수정

* [FEAT] AWS S3 및 FrontCloud dev, prod 각각 분리 배포 및 github action 구축 (#76)

* feat: useMutation 사용하여 restAPI post요청 구현

* refactor: useLoginUser 훅으로 분리

* chore: setting Up a Deployment Automation Pipeline

* chore: cd 파일 pr branch 명 변경

* fix: 불필요한 코드 지우기

* build: 패키지 매니저 변경

* build: pr types 추가

* fix: handleLogin 에 '/table' 경로로 라우팅 추가하여 test코드 통과

* fix: 올바른 test코드 위한 수정

* fix: mockServiceWorker 에서 불필요한 코드 삭제

* fix: mockServiceWorekr 필요없는 코드 삭제

* fix: 오류 해결을 위해 build 다시 생성

* fix: eslintignore 와 stylelintignore 설정을 통해 불필요한 검사 제외

* chore: gitignore 에 /dist 추가하여 빌드파일 제외

* chore: stylelintignore eol 추가

* chore: .eslintignore 삭제 및 eslint.config.js 파일 안 ignore 추가

* chore: dist 디렉토리 삭제

* chore: CD 파일에 pr types 에 'synchronize', 'reopened' 제거

* feat: dev 배포를 위한 deploy 코드 작성

* feat: prod 배포를 위한 deploy 코드 작성

* chore: merge 후 생성된 불 필요한 코드 삭제

* chore: dev 배포 명료성을 위해 access key 및 secret key 네이밍 변경

* chore: Dev 배포 관련 yml파일에서 bucket 네이밍 변경

* [FEAT] 닉네임 기반 로그인 구현 (#71)

* feat: 로그인 시, memberId를 반환하도록 변경

* feat: memberId를 session 스토리지에 저장하도록 util 함수 작성

* fix: currentStep을 영문으로 변경

* feat: 정적으로 선언되 memberId를 스토리지에서 가져오도록 변경

* refactor: route.tsx 위치를 routes 폴더로 변경

* feat: ProtectedRoute 구현

* feat:  ProtectedRoute 적용

* refactor: routes위치 변경에 따른 import 수정

* feat: 토론하기 클릭 시, TimerPage 연결

* refactor: 라우터 변경에 따른 수정사항 반영

---------



* [FEAT] 추가 작전 시간 타이머 구현 외 (#77)

* feat: Changed API base url to deployed server

* feat: Implemented AdditionalTimerComponent

* fix: Recovered horizontal padding of useModal wrapper

* feat: Deleted top margin of AdditionalTimerSummaryItem

* fix: Fixed linting errors

* fix: Removed hard-coded URL on source codes

* fix: Make app get server URL from .env file

* chore: Deleted .env files

* chore: Updated .gitignore file to ignore .env files

* [CHORE] 배포 최적화 및 배포 환경 구분 (#82)

* chore: Separated deploy environments and variables

* chore: Applined vite-plugin-compressions2 to compress builds

* chore: Changed job name

* fix: Added quotes on target path of Cloudfront cache invalidation

* chore: Changed web page title

* chore: Removed compression-related packages and codes

* [HOTFIX] 배포된 앱이 서버와 통신하지 못하는 문제 수정 (#84)

* [FIX] PostUserResponseType타입 수정, TableOverview에서 tableId를 url에서 정상적으로 가져오도록 수정 (#86)

* fix: PostUserResponseType 타입 변경

* fix: 정적 navigate 제거

* fix: 불필요한 console.log제거

* fix: tableId를 정상적으로 불러오도록 수정

---------

Co-authored-by: Shawn Kang <77564014+i-meant-to-be@users.noreply.github.com>
Co-authored-by: EunWoo <eunwoo1341@gmail.com>
jaeml06 added a commit that referenced this pull request Feb 4, 2025
* Update issue templates

* docs: 파일명 수정

* docs: PR 템플릿 생성 (#2)

* docs: 자동 issue 설정 할당

* docs: 불필요한 주석 제거

* docs: 이슈 프로젝트 권한 추가

* docs: 자동할당 로직 변경

* feat: 권한 문제로 자동 Project할당 제거

* docs: PR 자동할당 yml 작성

* docs: 불필요한 Project 정보 제거

* docs: Discord comment 알림 yml 작성

* chore: 프로젝트 초기 세팅

* chore: prettier 설정 추가

* feat: 3개의 영역으로 구분된 header(StickyTriSectionHeader) 구현

* feat: 하단에 고정되어 있는 footer wrapper 구현

* feat: main 레이아웃 구현

* feat: 중첩 컴포넌트로 기본 레이아웃 구현

* design: layout의 ContentContanier 가운데 정렬 추가

* design: layout의 ContentContanier padding 추가

* feat: PropsAndConsTitle 구현

* feat: TimerCreationButton 구현

* feat: 테이블 타입 작성

* feat: 초를 분, 초로 포맷팅하는 함수 구현

* feat: DebatePanel 구현

* feat: 테이블 구성 페이지 초기 UI rngus

* feat: Pretendard 웹폰트  추가

* chore:  storybook 설정 추가

* test: DebatePanel 스토리 북 작성

* test: PropsAndConsTitle 스토리북 테스트 작성

* test: TimerCreationButton 스토리북 테스트 작성

* fix: 파일명에 불필요한 공백 제거

* [FEAT] 페이지 라우팅 적용 (#22)

* chore: install react-router-dom

* feat: App.tsx와 main.tsx 에서 라우팅 설정

* refactor: createBrowerRouter 방식 적용
- router.tsx 파일 생성하여 라우터 적용
- main.tsx 에서     <RouterProvider router={router} /> 적용

* chore: 불필요한 App.tsx 컴포넌트 삭제

* chore: eol prettier 적용

* [FEAT] 타이머 박스 생성 모달 구현 (#17)

* feat: 포털 렌더링 관리를 위한 GlobalPortal 컴포넌트 추가

* feat: 모달 생성을 위한 modal 커스텀 훅 구현

* feat: GlobalPortal 적용

* feat: 제출 이벤트, 버튼 추가

* feat: uesModal 구조 변경

* feat: Stance, DebateType에 export 추가

* test: useModal 테스트 코드 작성

* feat: 타이머 박스 생성 모달 구현

* feat: 타임 테이블 구성 페이지 피그마 UI에 맞게 구성

* refactor: 불필요한 테스트 파일 삭제

* test: 타임 테이블 구성 페이지 스토리북 작성

* test: 타임 테이블 구성 페이지 테스트 코드 작성

* refactor: params변경에 따른 수정

* test: GlbalPortal 추가

* chore: chromatic 추가

* fix: 파일명에 불필요한 공백 제거

* chore: 크로매틱 배포 토큰 변경

* [FEAT] 로그인 페이지 구현 (#24)

* feat: 로그인 페이지 전체 레이아웃

* feat: 로그인 버튼 구현

* feat: 닉네임 별 페이지 목록 페이지 라우팅 설정

* refactor: scale 효과 추가 및 font 굵기 조절

* refactor: tailwind css 가독성 향상 및 개선

* refactor: LinkButton 재사용성 향상
- url과 title을 props로 넘김

* chore: eslint 자동 정렬 설정

* chore: LoginPage eslint 자동 정렬 적용

* refactor: input placeholder 가독성 향상을 위해 글꼴 색깔 변경

* chore: lint와 test를 넣은 CI yml 파일 작성 (#27)

* [FEAT] 테이블 목록화면 구현 (#26)

* feat: TableListPage 와이어 프레임 구현

* refactor: grid 가운데 정렬 및 gap 추가

* feat: Table 컴포넌트 구현

* feat: AddTable 컴포넌트 구현
- 클릭 시 새로운 토론 생성

* feat: TableProps 추가

* 페이지 테이블 모달 구현

* refactor: 모달 와이어프레임 구현

* feat: 토론 시간 이름 및 토론 유형 UI 구현

* feat: 토론 유형 선택 토글 구현

* refactor: 토론 유형 토글 선택 기능 구현

* refactor: 토론 유형 토글 컴포넌트로 분리

* style: UI 색상 변경
- amber-500

* feat: CreateTableButton 컴포넌트 구현
- 테이블 만들기 버튼 클릭 시 '/' 로 이동

* refactor: Table 컴포넌트 라우팅 적용

* chore: dummy data 제거

* chore: dummy data 주석처리

* chore: dummy data 추가

* refactor: TableProps 타입 분리

* refactor: 닫기 버튼 가독성을 위해  위치 변경 및 크기 변경

* refactor: ModalProps 타입 분리

* chore: Table 컴포넌트에 시간 단위 '분' 추가

* refactor: Modal props 컴포넌트 안에 배치

* refactor: useModal 훅에 esc 닫는 기능 추가

* refactor: useModal 적용하여 기존 모달 리팩토링

* refactor: 모달 닫기 버튼 사이즈 변경

* refactor: TimerCreationContent Padding 증가

* refactor: Modal 닫기 버튼 위치 조정 및 사이즈 변경

* refactor: TableProps 분리 제거

* refactor: Modal 컴포넌트를 ModalWrapper 감싸기

* refactor: responsive Table UI 로 리팩토링

* refactor: responsive Modal UI 리팩토링

* refactor: Table 타입 분리 및 Type네이밍 변경

* [TEST] 로그인 페이지 Storybook 테스트코드 구현 (#31)

* feat: TableListPage 와이어 프레임 구현

* refactor: grid 가운데 정렬 및 gap 추가

* feat: Table 컴포넌트 구현

* feat: AddTable 컴포넌트 구현
- 클릭 시 새로운 토론 생성

* feat: TableProps 추가

* 페이지 테이블 모달 구현

* refactor: 모달 와이어프레임 구현

* feat: 토론 시간 이름 및 토론 유형 UI 구현

* feat: 토론 유형 선택 토글 구현

* refactor: 토론 유형 토글 선택 기능 구현

* refactor: 토론 유형 토글 컴포넌트로 분리

* style: UI 색상 변경
- amber-500

* feat: CreateTableButton 컴포넌트 구현
- 테이블 만들기 버튼 클릭 시 '/' 로 이동

* refactor: Table 컴포넌트 라우팅 적용

* chore: dummy data 제거

* chore: dummy data 주석처리

* chore: dummy data 추가

* refactor: TableProps 타입 분리

* refactor: 닫기 버튼 가독성을 위해  위치 변경 및 크기 변경

* refactor: ModalProps 타입 분리

* chore: Table 컴포넌트에 시간 단위 '분' 추가

* refactor: Modal props 컴포넌트 안에 배치

* refactor: useModal 훅에 esc 닫는 기능 추가

* refactor: useModal 적용하여 기존 모달 리팩토링

* refactor: 모달 닫기 버튼 사이즈 변경

* refactor: TimerCreationContent Padding 증가

* refactor: Modal 닫기 버튼 위치 조정 및 사이즈 변경

* refactor: TableProps 분리 제거

* refactor: Modal 컴포넌트를 ModalWrapper 감싸기

* refactor: responsive Table UI 로 리팩토링

* refactor: responsive Modal UI 리팩토링

* feat: LoginPage Storybook 구현

* test: LinkButton 스토리북 구현

* [FIX] 타임 테이블 구성 페이지 피드백 사항 반영 (#29)

* fix: 텍스트를 더 자세하게 수정

* feat: 최상단 컴포넌트에 GlobalPortal추가

* fix: 하단 버튼에 main의 content가 가려지던 문제 수정

* refactor: formatSecondsToMinutes 반환 값 변경

* feat: 선택 진영에 따라 모달 제목 텍스트 색상 변경

* feat: input을 select로 변경

* feat: stace에 따른 색상 변경 함수 구현

* feat: debateType가 중립일 경우 stance을 값을 빈문자열로 표시

* feat: input Numer의 leading zero삭제

* feat: 초기값을 이전 설정한 값으로 설정되게 변경

* feat: stace가 중립일 speakerNumber 수정 불가능하게 변경

* feat: 이전 데이터가 중립일 경우 debateType이 이전 데이터를 반영하지 않도록 변경

* [TEST] 테이블 목록 컴포넌트 Storybook 테스트코드 구현 (#35)

* test: Table 컴포넌트 Storybook 구현

* test: TableListPage 페이지 Storybook 구현

* test: DropdownForDebateType 컴포넌트 Storybook 구현

* fix: test 코드 통과를 위해 코드 h2 tag 수정

* [FEAT] 테이블 조회 화면 구현 (#34)

* refactor: PropsAndConsTitle의 재사용에 따른 폴더 위치 변경

* feat: 테이블 선택 페이지 기본 레이아웃 구현

* fix: footerWrapper을 flex정렬 방향 변경

* refactor: FixedFooterWrapper position 속정 변경에 따른 컴포넌트 명 수정

* feat: TableOverview 라우터 추가

* test: TableOverview 스토리북 작성

* test: PropsAndConsTitle의 위치 변경

* feat: 불필요한 주석 제거

* feat: 버튼 text 수정

* test: MemoryRouter추가

* fix: 사용되지 않은 getStanceColor 수정

* [TEST] 로그인 및 테이블 조회 컴포넌트 테스트코드 구현 (#37)

* [CHORE] API 처리를 위해 패키지 추가 (#39)

* chore: Added API-related packages to the project

* chore: Added and modified codes for API

- 가상 API 사용을 위한 msw 관련 파일 추가
- TanStack Query 및 msw 대응하여 main.tsx 수정

* chore: Let msw only enabled on 'dev-mock' mode

* chore: Added one blank line at end of package.json

* chore: Added EOL at end of environment variable files

* [FEAT] 테이블 수정 및 삭제 구현 (#44)

* chore: 수정 및 삭제 아이콘을 위해 react-icons 추가

* feat: Table 컴포넌트에 Icons 추가

* feat: implement handleDelete method

* feat: implement EditModalButton to edit Tables

* refactor: stopPropagation method with MouseEvent 추가
- 버튼 클릭 이벤트가 상위로 전파되는 것을 막기 위해서 추가함

* feat: Edit 버튼 눌렀을 때, CreateTableModal 나오게 구현

* chore: unused closeModal function 삭제

* feat: Table 삭제를 위해 DeleteModalButton 구현

* feat: EditTableModal 구현

* feat: EditTableButton 구현
- 이후 수정 RestAPI 로직 추가 필요

* refactor: Edit 관련 컴포넌트에 name 매개변수 추가

* refactor: DebateTable 타입에 extends하여 delete 타입 추가

* refactor: 토론 유형 수정 불가

* refactor: 토론유형 hover: curser-not-allowed 추가

* refactor: handleDelete 함수형 업데이트로 수정

* refactor: EditTableButton 컴포넌트에 closeModal 매개변수 추가

* fix: TableListPage 테스트코드 수정

* [FEAT] 타임박스에 수정 및 삭제 UI 추가 (#42)

* chore: 수정, 삭제 아이콘 이용을 위한 react-icons 추가

* style: 컴포넌트 간의 간경을 더 좁게 수정

* feat: 수정, 삭제 버튼을 합친 EditDeleteButtons 컴포넌트 구현

* style: 분기에 따른 컴포넌트의 높이를 동일하게 수정

* feat: 수정, 삭제 handler 함수 작성

* refactor: 가독성을 위해 중첩된 삼항연산자 분리

* feat: 삭제 버튼 클릭 시, 삭제 확인 모달 구현

* feat: EditDeleteButtons에 aria-label 추가

* test: EditDeleteButtons 스토리북 코드 작성

* feat: TableSetup 테스트에 수정, 삭제 기능 테스트 추가

* [FEAT] API 요청 관련 기능 구현 (#45)

* feat: Added API mocking handler

* feat: Implemented API request logics

- 추가로, BE API 명세서의 반환 예시에 맞추어 일부 변수 이름을 수정

* refactor: Applied some minor changes

- URL 생성 함수가 슬래시(/)를 여러 개 포함하는 문제 수정
- 모든 API 함수를 apis.ts에 통합 (추후 메소드 많아지면 분리)

* feat: Let msw handler catch arguments

그 외 변경사항으로, API 함수들에서 경로 매개변수(path parameters)가 생략되어 있었던 문제를 해결

* refactor: 주석 추가

* fix: DebateTable 인터페이스 변경에 따른 일부 오류 수정

* feat: Added string identifier for 'useQuery' function

---------



* [FEAT] 타임박스의 수정을 드래그앤드롭으로 변경하는 기능 구현 (#47)

* feat: 이벤트 발생 비용 감소를 위한 useThrottle 작성

* faet: 타임박스 드래그앤 드롭을 위한 useDragAndDrop 구현

* feat: 타임박스에 드래그앤드롭 영역 지정

* feat: TableSetup에 드래그앤 드롭 선언

* refactor: 불필요한 주석 삭제

* fix: 병합과정에서 발생한 오류 수정

* [CHORE] storybook에 전역적인 decorators 설정 추가 (#50)

* chore: 라우터, GlobalPortal설정을 전역 설정에 decorators로 추가

* chore: storybook에 msw 설정 추가

* [FIX] Mock Handler 파일에서 타입 에러 해결  (#54)

* feat: Table 타입인 TableInfo 정의

* refactor: result 객체에 속핸 info의 타입을 명시하기 위해 request에 TableInfo 타입 명시

* chore: 이미 정의되있던 PostDebateTableResponseType 타입 사용

* [CHORE] VS Code 작업 영역에 대한 설정 파일 추가 #62

* [FEAT] 타이머 화면 구현 (#58)

* feat: Implemented TimerPage

* feat: Applied sound effect

And applied minor design changed

* refactor: Let TimerComponent change TimerPage's background

* fix: NEUTRAL 항목에 불필요한 아이콘 뜨는 오류 수정

* feat: Added keyboard event listener on Timer

* fix: 토론 순서 조작 시 발생하는 인덱스 초과 오버플로우 해결

* feat: 피드백에 따른 디자인 변경 사항 반영

* feat: Added loading and error screen on TimerPage

* feat: Applied feedbacks from PR

* fix: 타이머가 현재 debateInfo의 index를 불러오지 못하는 오류 수정

* refactor: 콘솔 로깅 비활성화

* fix: Storybook 출력되지 않는 문제 수정

- use-sound 패키지 제거하고 HTML 태그로 소리 출력
- 별도 컴포넌트를 거치지 않고 직접 gif 파일을 불러와 출력

* refactor: Removed unnecessary codes and comments

* refactor: Hoisted all data and functions to the root page

* fix: Cleared focus on button when space bar pressed

* [FEAT] `ErrorBoundary` 도입 (#65)

* feat: ErrorBoundary 도입

* feat: Wrapped router with ErrorBoundaryWrapper

* feat: Enabled 'throwOnError' option on QueryClient

* feat: Added refresh button on ErrorPage

* refactor: Applied feedbacks from PR review

- Declared string constants for ErrorBoundary
- Set icon size on 'size' parameter instead of TailwindCSS 'className'

* [FEAT] API 연결과 테이블 생성과 수정을 위해 funnel 패턴을 이용하여 멀티 스텝 폼 구현 (#57)

* fix: 응답 타입을 문서에 맞게 수정

* feat: Agenda 타입 추가

* feat: 테이블을 추가하는 api 훅 추가

* feat: 테이블을 삭제하는 api 훅 추가

* feat: 사용자를 추가하는 api 훅 추가

* feat: 의회식 토론을 수정하는 api 훅 추가

* feat: 토론 리스트를 가져오는 api 훅 추가

* feat: 의호식 토론 정보를 가져오는 api 훅 추가

* style: 컴포넌트간의 간격 추가

* feat: multi-step form 구현을 위한 useFunnel 작성

* feat: multi-step form동안에 새로고침시에도 상태 유지를 위한 useBrowserStorage 구현

* feat: DropdownForDebateType의 로직 변경

* feat: 멀티 스텝을 이용한 방식으로 수정으로 인한 생성 모달, TableSetupPage를 변경

* feat: 테이블 생성과 수정을 위한 멀티 스텝 폼, TableComposition 구현

* feat: 테이블 form 정보 커스텀 훅 구현

* feat: 로그인 페이지에 상태와 api훅 추가

* fix: 타임박스 ui 버그 수정

* feat: 멀티 스텝 폼을 위해 TableSetupPage의 commponents 파일 이동

* feat: 테이블 수정을 모달에서 멀티스텝 폼 변경으로 인한 수정

* refactor: 더미 데이터 제거

* feat: composition 라우터 추가

* fix: 응답값에 맞게 msw 수정

* feat: 테이블 조회에 api 훅 추가

* refactor: 모달에서 멀티스텝폼 변경으로 인한 컴포넌트 명 변경

* fix: agenda와 type의 혼동으로 type 문제 수정

* fix: TableComposition 구현으로 인한 불필요한 파일 삭제

* fix: Type 타입을 영어로 수정

* fix: import 경로 수정

* feat: 테스트 mock을 위한 vitest 설정

* test: TableComposition 구현으로 인한 수정사항 반영

* feat: 버튼에 aria-label 추가

* chore: storybook msw 사용가능하게 설정 추가

* fix: stace 오타 변경

* test: storybook 경로 변경

* test: TableCompositon 스토리북 코드 작성

* fix: TableSetup삭제로 인한 라우터 변경

* chore: cleanup 함수 추가

* feat: 인터페이스 명 수정

* refactor: 한글에서 영어로 상수 변경

* refactor: NEUTRAL Stance 타입 변경

* refactor: typeMapping을 constants로 분리

* refactor: DebatePanel의 DebateTypeToString 수정

* refactor: type 값을 영어 상수로 변경

* [CHORE] 배포 파이프라인 자동화 구축 (#60)

* feat: useMutation 사용하여 restAPI post요청 구현

* refactor: useLoginUser 훅으로 분리

* chore: setting Up a Deployment Automation Pipeline

* chore: cd 파일 pr branch 명 변경

* fix: 불필요한 코드 지우기

* build: 패키지 매니저 변경

* build: pr types 추가

* fix: handleLogin 에 '/table' 경로로 라우팅 추가하여 test코드 통과

* fix: 올바른 test코드 위한 수정

* fix: mockServiceWorker 에서 불필요한 코드 삭제

* fix: mockServiceWorekr 필요없는 코드 삭제

* fix: 오류 해결을 위해 build 다시 생성

* fix: eslintignore 와 stylelintignore 설정을 통해 불필요한 검사 제외

* chore: gitignore 에 /dist 추가하여 빌드파일 제외

* chore: stylelintignore eol 추가

* chore: .eslintignore 삭제 및 eslint.config.js 파일 안 ignore 추가

* chore: dist 디렉토리 삭제

* chore: CD 파일에 pr types 에 'synchronize', 'reopened' 제거

* fix: 병합과정에 충돌 오류 수정

---------



* hotfix: 에러바운더리 코드가 삭제된 것에 대한 반영 (#69)

* [REFACTOR] 타이머 기능 개선 외 (#66)

* refactor: Applied several changes

- Changed interval to 1000 ms (1 sec)
- Added function that changes background to remove duplication of same codes
- Removed isRunning not necessary

* feat: Made TimerPage be able to catch parameters

* fix: Recovered deleted ErrorBoundary related files

* fix: Set icon size on 'size' argument instead of 'className'

* refactor: Separated loading component to page

* refactor: Applied several changes

- Moved TimerLoadingPage to /src/TimerPage from /src/TimerPage/component
- Set css file to print CR/LF correctly
- Changed 'useQuery' to 'useGetParliamentaryTableData' hook

* refactor: Deleted unneccesary codes

* [HOTFIX] GitHub Actions 빌드 실패 문제 해결 (#73)

- TableCompositionStep 상수 값을 한글(타임박스입력)에서 영어(TimeBox)로 바꾸며 발생한 문제 수정
- Type 상수 값을 한글(의회식 토론)에서 영어(PARLIAMENTARY)로 바꾸며 발생한 문제 수정

* [FEAT] AWS S3 및 FrontCloud dev, prod 각각 분리 배포 및 github action 구축 (#76)

* feat: useMutation 사용하여 restAPI post요청 구현

* refactor: useLoginUser 훅으로 분리

* chore: setting Up a Deployment Automation Pipeline

* chore: cd 파일 pr branch 명 변경

* fix: 불필요한 코드 지우기

* build: 패키지 매니저 변경

* build: pr types 추가

* fix: handleLogin 에 '/table' 경로로 라우팅 추가하여 test코드 통과

* fix: 올바른 test코드 위한 수정

* fix: mockServiceWorker 에서 불필요한 코드 삭제

* fix: mockServiceWorekr 필요없는 코드 삭제

* fix: 오류 해결을 위해 build 다시 생성

* fix: eslintignore 와 stylelintignore 설정을 통해 불필요한 검사 제외

* chore: gitignore 에 /dist 추가하여 빌드파일 제외

* chore: stylelintignore eol 추가

* chore: .eslintignore 삭제 및 eslint.config.js 파일 안 ignore 추가

* chore: dist 디렉토리 삭제

* chore: CD 파일에 pr types 에 'synchronize', 'reopened' 제거

* feat: dev 배포를 위한 deploy 코드 작성

* feat: prod 배포를 위한 deploy 코드 작성

* chore: merge 후 생성된 불 필요한 코드 삭제

* chore: dev 배포 명료성을 위해 access key 및 secret key 네이밍 변경

* chore: Dev 배포 관련 yml파일에서 bucket 네이밍 변경

* [FEAT] 닉네임 기반 로그인 구현 (#71)

* feat: 로그인 시, memberId를 반환하도록 변경

* feat: memberId를 session 스토리지에 저장하도록 util 함수 작성

* fix: currentStep을 영문으로 변경

* feat: 정적으로 선언되 memberId를 스토리지에서 가져오도록 변경

* refactor: route.tsx 위치를 routes 폴더로 변경

* feat: ProtectedRoute 구현

* feat:  ProtectedRoute 적용

* refactor: routes위치 변경에 따른 import 수정

* feat: 토론하기 클릭 시, TimerPage 연결

* refactor: 라우터 변경에 따른 수정사항 반영

---------



* [FEAT] 추가 작전 시간 타이머 구현 외 (#77)

* feat: Changed API base url to deployed server

* feat: Implemented AdditionalTimerComponent

* fix: Recovered horizontal padding of useModal wrapper

* feat: Deleted top margin of AdditionalTimerSummaryItem

* fix: Fixed linting errors

* fix: Removed hard-coded URL on source codes

* fix: Make app get server URL from .env file

* chore: Deleted .env files

* chore: Updated .gitignore file to ignore .env files

* [CHORE] 배포 최적화 및 배포 환경 구분 (#82)

* chore: Separated deploy environments and variables

* chore: Applined vite-plugin-compressions2 to compress builds

* chore: Changed job name

* fix: Added quotes on target path of Cloudfront cache invalidation

* chore: Changed web page title

* chore: Removed compression-related packages and codes

* [HOTFIX] 배포된 앱이 서버와 통신하지 못하는 문제 수정 (#84)

* [FIX] PostUserResponseType타입 수정, TableOverview에서 tableId를 url에서 정상적으로 가져오도록 수정 (#86)

* fix: PostUserResponseType 타입 변경

* fix: 정적 navigate 제거

* fix: 불필요한 console.log제거

* fix: tableId를 정상적으로 불러오도록 수정

---------

Co-authored-by: Shawn Kang <77564014+i-meant-to-be@users.noreply.github.com>
Co-authored-by: EunWoo <eunwoo1341@gmail.com>
katie424 pushed a commit that referenced this pull request Jun 1, 2025
* Update issue templates

* docs: 파일명 수정

* docs: PR 템플릿 생성 (#2)

* docs: 자동 issue 설정 할당

* docs: 불필요한 주석 제거

* docs: 이슈 프로젝트 권한 추가

* docs: 자동할당 로직 변경

* feat: 권한 문제로 자동 Project할당 제거

* docs: PR 자동할당 yml 작성

* docs: 불필요한 Project 정보 제거

* docs: Discord comment 알림 yml 작성

* chore: 프로젝트 초기 세팅

* chore: prettier 설정 추가

* feat: 3개의 영역으로 구분된 header(StickyTriSectionHeader) 구현

* feat: 하단에 고정되어 있는 footer wrapper 구현

* feat: main 레이아웃 구현

* feat: 중첩 컴포넌트로 기본 레이아웃 구현

* design: layout의 ContentContanier 가운데 정렬 추가

* design: layout의 ContentContanier padding 추가

* feat: PropsAndConsTitle 구현

* feat: TimerCreationButton 구현

* feat: 테이블 타입 작성

* feat: 초를 분, 초로 포맷팅하는 함수 구현

* feat: DebatePanel 구현

* feat: 테이블 구성 페이지 초기 UI rngus

* feat: Pretendard 웹폰트  추가

* chore:  storybook 설정 추가

* test: DebatePanel 스토리 북 작성

* test: PropsAndConsTitle 스토리북 테스트 작성

* test: TimerCreationButton 스토리북 테스트 작성

* fix: 파일명에 불필요한 공백 제거

* [FEAT] 페이지 라우팅 적용 (#22)

* chore: install react-router-dom

* feat: App.tsx와 main.tsx 에서 라우팅 설정

* refactor: createBrowerRouter 방식 적용
- router.tsx 파일 생성하여 라우터 적용
- main.tsx 에서     <RouterProvider router={router} /> 적용

* chore: 불필요한 App.tsx 컴포넌트 삭제

* chore: eol prettier 적용

* [FEAT] 타이머 박스 생성 모달 구현 (#17)

* feat: 포털 렌더링 관리를 위한 GlobalPortal 컴포넌트 추가

* feat: 모달 생성을 위한 modal 커스텀 훅 구현

* feat: GlobalPortal 적용

* feat: 제출 이벤트, 버튼 추가

* feat: uesModal 구조 변경

* feat: Stance, DebateType에 export 추가

* test: useModal 테스트 코드 작성

* feat: 타이머 박스 생성 모달 구현

* feat: 타임 테이블 구성 페이지 피그마 UI에 맞게 구성

* refactor: 불필요한 테스트 파일 삭제

* test: 타임 테이블 구성 페이지 스토리북 작성

* test: 타임 테이블 구성 페이지 테스트 코드 작성

* refactor: params변경에 따른 수정

* test: GlbalPortal 추가

* chore: chromatic 추가

* fix: 파일명에 불필요한 공백 제거

* chore: 크로매틱 배포 토큰 변경

* [FEAT] 로그인 페이지 구현 (#24)

* feat: 로그인 페이지 전체 레이아웃

* feat: 로그인 버튼 구현

* feat: 닉네임 별 페이지 목록 페이지 라우팅 설정

* refactor: scale 효과 추가 및 font 굵기 조절

* refactor: tailwind css 가독성 향상 및 개선

* refactor: LinkButton 재사용성 향상
- url과 title을 props로 넘김

* chore: eslint 자동 정렬 설정

* chore: LoginPage eslint 자동 정렬 적용

* refactor: input placeholder 가독성 향상을 위해 글꼴 색깔 변경

* chore: lint와 test를 넣은 CI yml 파일 작성 (#27)

* [FEAT] 테이블 목록화면 구현 (#26)

* feat: TableListPage 와이어 프레임 구현

* refactor: grid 가운데 정렬 및 gap 추가

* feat: Table 컴포넌트 구현

* feat: AddTable 컴포넌트 구현
- 클릭 시 새로운 토론 생성

* feat: TableProps 추가

* 페이지 테이블 모달 구현

* refactor: 모달 와이어프레임 구현

* feat: 토론 시간 이름 및 토론 유형 UI 구현

* feat: 토론 유형 선택 토글 구현

* refactor: 토론 유형 토글 선택 기능 구현

* refactor: 토론 유형 토글 컴포넌트로 분리

* style: UI 색상 변경
- amber-500

* feat: CreateTableButton 컴포넌트 구현
- 테이블 만들기 버튼 클릭 시 '/' 로 이동

* refactor: Table 컴포넌트 라우팅 적용

* chore: dummy data 제거

* chore: dummy data 주석처리

* chore: dummy data 추가

* refactor: TableProps 타입 분리

* refactor: 닫기 버튼 가독성을 위해  위치 변경 및 크기 변경

* refactor: ModalProps 타입 분리

* chore: Table 컴포넌트에 시간 단위 '분' 추가

* refactor: Modal props 컴포넌트 안에 배치

* refactor: useModal 훅에 esc 닫는 기능 추가

* refactor: useModal 적용하여 기존 모달 리팩토링

* refactor: 모달 닫기 버튼 사이즈 변경

* refactor: TimerCreationContent Padding 증가

* refactor: Modal 닫기 버튼 위치 조정 및 사이즈 변경

* refactor: TableProps 분리 제거

* refactor: Modal 컴포넌트를 ModalWrapper 감싸기

* refactor: responsive Table UI 로 리팩토링

* refactor: responsive Modal UI 리팩토링

* refactor: Table 타입 분리 및 Type네이밍 변경

* [TEST] 로그인 페이지 Storybook 테스트코드 구현 (#31)

* feat: TableListPage 와이어 프레임 구현

* refactor: grid 가운데 정렬 및 gap 추가

* feat: Table 컴포넌트 구현

* feat: AddTable 컴포넌트 구현
- 클릭 시 새로운 토론 생성

* feat: TableProps 추가

* 페이지 테이블 모달 구현

* refactor: 모달 와이어프레임 구현

* feat: 토론 시간 이름 및 토론 유형 UI 구현

* feat: 토론 유형 선택 토글 구현

* refactor: 토론 유형 토글 선택 기능 구현

* refactor: 토론 유형 토글 컴포넌트로 분리

* style: UI 색상 변경
- amber-500

* feat: CreateTableButton 컴포넌트 구현
- 테이블 만들기 버튼 클릭 시 '/' 로 이동

* refactor: Table 컴포넌트 라우팅 적용

* chore: dummy data 제거

* chore: dummy data 주석처리

* chore: dummy data 추가

* refactor: TableProps 타입 분리

* refactor: 닫기 버튼 가독성을 위해  위치 변경 및 크기 변경

* refactor: ModalProps 타입 분리

* chore: Table 컴포넌트에 시간 단위 '분' 추가

* refactor: Modal props 컴포넌트 안에 배치

* refactor: useModal 훅에 esc 닫는 기능 추가

* refactor: useModal 적용하여 기존 모달 리팩토링

* refactor: 모달 닫기 버튼 사이즈 변경

* refactor: TimerCreationContent Padding 증가

* refactor: Modal 닫기 버튼 위치 조정 및 사이즈 변경

* refactor: TableProps 분리 제거

* refactor: Modal 컴포넌트를 ModalWrapper 감싸기

* refactor: responsive Table UI 로 리팩토링

* refactor: responsive Modal UI 리팩토링

* feat: LoginPage Storybook 구현

* test: LinkButton 스토리북 구현

* [FIX] 타임 테이블 구성 페이지 피드백 사항 반영 (#29)

* fix: 텍스트를 더 자세하게 수정

* feat: 최상단 컴포넌트에 GlobalPortal추가

* fix: 하단 버튼에 main의 content가 가려지던 문제 수정

* refactor: formatSecondsToMinutes 반환 값 변경

* feat: 선택 진영에 따라 모달 제목 텍스트 색상 변경

* feat: input을 select로 변경

* feat: stace에 따른 색상 변경 함수 구현

* feat: debateType가 중립일 경우 stance을 값을 빈문자열로 표시

* feat: input Numer의 leading zero삭제

* feat: 초기값을 이전 설정한 값으로 설정되게 변경

* feat: stace가 중립일 speakerNumber 수정 불가능하게 변경

* feat: 이전 데이터가 중립일 경우 debateType이 이전 데이터를 반영하지 않도록 변경

* [TEST] 테이블 목록 컴포넌트 Storybook 테스트코드 구현 (#35)

* test: Table 컴포넌트 Storybook 구현

* test: TableListPage 페이지 Storybook 구현

* test: DropdownForDebateType 컴포넌트 Storybook 구현

* fix: test 코드 통과를 위해 코드 h2 tag 수정

* [FEAT] 테이블 조회 화면 구현 (#34)

* refactor: PropsAndConsTitle의 재사용에 따른 폴더 위치 변경

* feat: 테이블 선택 페이지 기본 레이아웃 구현

* fix: footerWrapper을 flex정렬 방향 변경

* refactor: FixedFooterWrapper position 속정 변경에 따른 컴포넌트 명 수정

* feat: TableOverview 라우터 추가

* test: TableOverview 스토리북 작성

* test: PropsAndConsTitle의 위치 변경

* feat: 불필요한 주석 제거

* feat: 버튼 text 수정

* test: MemoryRouter추가

* fix: 사용되지 않은 getStanceColor 수정

* [TEST] 로그인 및 테이블 조회 컴포넌트 테스트코드 구현 (#37)

* [CHORE] API 처리를 위해 패키지 추가 (#39)

* chore: Added API-related packages to the project

* chore: Added and modified codes for API

- 가상 API 사용을 위한 msw 관련 파일 추가
- TanStack Query 및 msw 대응하여 main.tsx 수정

* chore: Let msw only enabled on 'dev-mock' mode

* chore: Added one blank line at end of package.json

* chore: Added EOL at end of environment variable files

* [FEAT] 테이블 수정 및 삭제 구현 (#44)

* chore: 수정 및 삭제 아이콘을 위해 react-icons 추가

* feat: Table 컴포넌트에 Icons 추가

* feat: implement handleDelete method

* feat: implement EditModalButton to edit Tables

* refactor: stopPropagation method with MouseEvent 추가
- 버튼 클릭 이벤트가 상위로 전파되는 것을 막기 위해서 추가함

* feat: Edit 버튼 눌렀을 때, CreateTableModal 나오게 구현

* chore: unused closeModal function 삭제

* feat: Table 삭제를 위해 DeleteModalButton 구현

* feat: EditTableModal 구현

* feat: EditTableButton 구현
- 이후 수정 RestAPI 로직 추가 필요

* refactor: Edit 관련 컴포넌트에 name 매개변수 추가

* refactor: DebateTable 타입에 extends하여 delete 타입 추가

* refactor: 토론 유형 수정 불가

* refactor: 토론유형 hover: curser-not-allowed 추가

* refactor: handleDelete 함수형 업데이트로 수정

* refactor: EditTableButton 컴포넌트에 closeModal 매개변수 추가

* fix: TableListPage 테스트코드 수정

* [FEAT] 타임박스에 수정 및 삭제 UI 추가 (#42)

* chore: 수정, 삭제 아이콘 이용을 위한 react-icons 추가

* style: 컴포넌트 간의 간경을 더 좁게 수정

* feat: 수정, 삭제 버튼을 합친 EditDeleteButtons 컴포넌트 구현

* style: 분기에 따른 컴포넌트의 높이를 동일하게 수정

* feat: 수정, 삭제 handler 함수 작성

* refactor: 가독성을 위해 중첩된 삼항연산자 분리

* feat: 삭제 버튼 클릭 시, 삭제 확인 모달 구현

* feat: EditDeleteButtons에 aria-label 추가

* test: EditDeleteButtons 스토리북 코드 작성

* feat: TableSetup 테스트에 수정, 삭제 기능 테스트 추가

* [FEAT] API 요청 관련 기능 구현 (#45)

* feat: Added API mocking handler

* feat: Implemented API request logics

- 추가로, BE API 명세서의 반환 예시에 맞추어 일부 변수 이름을 수정

* refactor: Applied some minor changes

- URL 생성 함수가 슬래시(/)를 여러 개 포함하는 문제 수정
- 모든 API 함수를 apis.ts에 통합 (추후 메소드 많아지면 분리)

* feat: Let msw handler catch arguments

그 외 변경사항으로, API 함수들에서 경로 매개변수(path parameters)가 생략되어 있었던 문제를 해결

* refactor: 주석 추가

* fix: DebateTable 인터페이스 변경에 따른 일부 오류 수정

* feat: Added string identifier for 'useQuery' function

---------

Co-authored-by: jaeml06 <jaeml0630@gmail.com>

* [FEAT] 타임박스의 수정을 드래그앤드롭으로 변경하는 기능 구현 (#47)

* feat: 이벤트 발생 비용 감소를 위한 useThrottle 작성

* faet: 타임박스 드래그앤 드롭을 위한 useDragAndDrop 구현

* feat: 타임박스에 드래그앤드롭 영역 지정

* feat: TableSetup에 드래그앤 드롭 선언

* refactor: 불필요한 주석 삭제

* fix: 병합과정에서 발생한 오류 수정

* [CHORE] storybook에 전역적인 decorators 설정 추가 (#50)

* chore: 라우터, GlobalPortal설정을 전역 설정에 decorators로 추가

* chore: storybook에 msw 설정 추가

* [FIX] Mock Handler 파일에서 타입 에러 해결  (#54)

* feat: Table 타입인 TableInfo 정의

* refactor: result 객체에 속핸 info의 타입을 명시하기 위해 request에 TableInfo 타입 명시

* chore: 이미 정의되있던 PostDebateTableResponseType 타입 사용

* [CHORE] VS Code 작업 영역에 대한 설정 파일 추가 #62

* [FEAT] 타이머 화면 구현 (#58)

* feat: Implemented TimerPage

* feat: Applied sound effect

And applied minor design changed

* refactor: Let TimerComponent change TimerPage's background

* fix: NEUTRAL 항목에 불필요한 아이콘 뜨는 오류 수정

* feat: Added keyboard event listener on Timer

* fix: 토론 순서 조작 시 발생하는 인덱스 초과 오버플로우 해결

* feat: 피드백에 따른 디자인 변경 사항 반영

* feat: Added loading and error screen on TimerPage

* feat: Applied feedbacks from PR

* fix: 타이머가 현재 debateInfo의 index를 불러오지 못하는 오류 수정

* refactor: 콘솔 로깅 비활성화

* fix: Storybook 출력되지 않는 문제 수정

- use-sound 패키지 제거하고 HTML 태그로 소리 출력
- 별도 컴포넌트를 거치지 않고 직접 gif 파일을 불러와 출력

* refactor: Removed unnecessary codes and comments

* refactor: Hoisted all data and functions to the root page

* fix: Cleared focus on button when space bar pressed

* [FEAT] `ErrorBoundary` 도입 (#65)

* feat: ErrorBoundary 도입

* feat: Wrapped router with ErrorBoundaryWrapper

* feat: Enabled 'throwOnError' option on QueryClient

* feat: Added refresh button on ErrorPage

* refactor: Applied feedbacks from PR review

- Declared string constants for ErrorBoundary
- Set icon size on 'size' parameter instead of TailwindCSS 'className'

* [FEAT] API 연결과 테이블 생성과 수정을 위해 funnel 패턴을 이용하여 멀티 스텝 폼 구현 (#57)

* fix: 응답 타입을 문서에 맞게 수정

* feat: Agenda 타입 추가

* feat: 테이블을 추가하는 api 훅 추가

* feat: 테이블을 삭제하는 api 훅 추가

* feat: 사용자를 추가하는 api 훅 추가

* feat: 의회식 토론을 수정하는 api 훅 추가

* feat: 토론 리스트를 가져오는 api 훅 추가

* feat: 의호식 토론 정보를 가져오는 api 훅 추가

* style: 컴포넌트간의 간격 추가

* feat: multi-step form 구현을 위한 useFunnel 작성

* feat: multi-step form동안에 새로고침시에도 상태 유지를 위한 useBrowserStorage 구현

* feat: DropdownForDebateType의 로직 변경

* feat: 멀티 스텝을 이용한 방식으로 수정으로 인한 생성 모달, TableSetupPage를 변경

* feat: 테이블 생성과 수정을 위한 멀티 스텝 폼, TableComposition 구현

* feat: 테이블 form 정보 커스텀 훅 구현

* feat: 로그인 페이지에 상태와 api훅 추가

* fix: 타임박스 ui 버그 수정

* feat: 멀티 스텝 폼을 위해 TableSetupPage의 commponents 파일 이동

* feat: 테이블 수정을 모달에서 멀티스텝 폼 변경으로 인한 수정

* refactor: 더미 데이터 제거

* feat: composition 라우터 추가

* fix: 응답값에 맞게 msw 수정

* feat: 테이블 조회에 api 훅 추가

* refactor: 모달에서 멀티스텝폼 변경으로 인한 컴포넌트 명 변경

* fix: agenda와 type의 혼동으로 type 문제 수정

* fix: TableComposition 구현으로 인한 불필요한 파일 삭제

* fix: Type 타입을 영어로 수정

* fix: import 경로 수정

* feat: 테스트 mock을 위한 vitest 설정

* test: TableComposition 구현으로 인한 수정사항 반영

* feat: 버튼에 aria-label 추가

* chore: storybook msw 사용가능하게 설정 추가

* fix: stace 오타 변경

* test: storybook 경로 변경

* test: TableCompositon 스토리북 코드 작성

* fix: TableSetup삭제로 인한 라우터 변경

* chore: cleanup 함수 추가

* feat: 인터페이스 명 수정

* refactor: 한글에서 영어로 상수 변경

* refactor: NEUTRAL Stance 타입 변경

* refactor: typeMapping을 constants로 분리

* refactor: DebatePanel의 DebateTypeToString 수정

* refactor: type 값을 영어 상수로 변경

* [CHORE] 배포 파이프라인 자동화 구축 (#60)

* feat: useMutation 사용하여 restAPI post요청 구현

* refactor: useLoginUser 훅으로 분리

* chore: setting Up a Deployment Automation Pipeline

* chore: cd 파일 pr branch 명 변경

* fix: 불필요한 코드 지우기

* build: 패키지 매니저 변경

* build: pr types 추가

* fix: handleLogin 에 '/table' 경로로 라우팅 추가하여 test코드 통과

* fix: 올바른 test코드 위한 수정

* fix: mockServiceWorker 에서 불필요한 코드 삭제

* fix: mockServiceWorekr 필요없는 코드 삭제

* fix: 오류 해결을 위해 build 다시 생성

* fix: eslintignore 와 stylelintignore 설정을 통해 불필요한 검사 제외

* chore: gitignore 에 /dist 추가하여 빌드파일 제외

* chore: stylelintignore eol 추가

* chore: .eslintignore 삭제 및 eslint.config.js 파일 안 ignore 추가

* chore: dist 디렉토리 삭제

* chore: CD 파일에 pr types 에 'synchronize', 'reopened' 제거

* fix: 병합과정에 충돌 오류 수정

---------

Co-authored-by: jaeml06 <jaeml0630@gmail.com>

* hotfix: 에러바운더리 코드가 삭제된 것에 대한 반영 (#69)

* [REFACTOR] 타이머 기능 개선 외 (#66)

* refactor: Applied several changes

- Changed interval to 1000 ms (1 sec)
- Added function that changes background to remove duplication of same codes
- Removed isRunning not necessary

* feat: Made TimerPage be able to catch parameters

* fix: Recovered deleted ErrorBoundary related files

* fix: Set icon size on 'size' argument instead of 'className'

* refactor: Separated loading component to page

* refactor: Applied several changes

- Moved TimerLoadingPage to /src/TimerPage from /src/TimerPage/component
- Set css file to print CR/LF correctly
- Changed 'useQuery' to 'useGetParliamentaryTableData' hook

* refactor: Deleted unneccesary codes

* [HOTFIX] GitHub Actions 빌드 실패 문제 해결 (#73)

- TableCompositionStep 상수 값을 한글(타임박스입력)에서 영어(TimeBox)로 바꾸며 발생한 문제 수정
- Type 상수 값을 한글(의회식 토론)에서 영어(PARLIAMENTARY)로 바꾸며 발생한 문제 수정

* [FEAT] AWS S3 및 FrontCloud dev, prod 각각 분리 배포 및 github action 구축 (#76)

* feat: useMutation 사용하여 restAPI post요청 구현

* refactor: useLoginUser 훅으로 분리

* chore: setting Up a Deployment Automation Pipeline

* chore: cd 파일 pr branch 명 변경

* fix: 불필요한 코드 지우기

* build: 패키지 매니저 변경

* build: pr types 추가

* fix: handleLogin 에 '/table' 경로로 라우팅 추가하여 test코드 통과

* fix: 올바른 test코드 위한 수정

* fix: mockServiceWorker 에서 불필요한 코드 삭제

* fix: mockServiceWorekr 필요없는 코드 삭제

* fix: 오류 해결을 위해 build 다시 생성

* fix: eslintignore 와 stylelintignore 설정을 통해 불필요한 검사 제외

* chore: gitignore 에 /dist 추가하여 빌드파일 제외

* chore: stylelintignore eol 추가

* chore: .eslintignore 삭제 및 eslint.config.js 파일 안 ignore 추가

* chore: dist 디렉토리 삭제

* chore: CD 파일에 pr types 에 'synchronize', 'reopened' 제거

* feat: dev 배포를 위한 deploy 코드 작성

* feat: prod 배포를 위한 deploy 코드 작성

* chore: merge 후 생성된 불 필요한 코드 삭제

* chore: dev 배포 명료성을 위해 access key 및 secret key 네이밍 변경

* chore: Dev 배포 관련 yml파일에서 bucket 네이밍 변경

* [FEAT] 닉네임 기반 로그인 구현 (#71)

* feat: 로그인 시, memberId를 반환하도록 변경

* feat: memberId를 session 스토리지에 저장하도록 util 함수 작성

* fix: currentStep을 영문으로 변경

* feat: 정적으로 선언되 memberId를 스토리지에서 가져오도록 변경

* refactor: route.tsx 위치를 routes 폴더로 변경

* feat: ProtectedRoute 구현

* feat:  ProtectedRoute 적용

* refactor: routes위치 변경에 따른 import 수정

* feat: 토론하기 클릭 시, TimerPage 연결

* refactor: 라우터 변경에 따른 수정사항 반영

---------

Co-authored-by: Shawn Kang <77564014+i-meant-to-be@users.noreply.github.com>

* [FEAT] 추가 작전 시간 타이머 구현 외 (#77)

* feat: Changed API base url to deployed server

* feat: Implemented AdditionalTimerComponent

* fix: Recovered horizontal padding of useModal wrapper

* feat: Deleted top margin of AdditionalTimerSummaryItem

* fix: Fixed linting errors

* fix: Removed hard-coded URL on source codes

* fix: Make app get server URL from .env file

* chore: Deleted .env files

* chore: Updated .gitignore file to ignore .env files

* [CHORE] 배포 최적화 및 배포 환경 구분 (#82)

* chore: Separated deploy environments and variables

* chore: Applined vite-plugin-compressions2 to compress builds

* chore: Changed job name

* fix: Added quotes on target path of Cloudfront cache invalidation

* chore: Changed web page title

* chore: Removed compression-related packages and codes

* [HOTFIX] 배포된 앱이 서버와 통신하지 못하는 문제 수정 (#84)

* [FIX] PostUserResponseType타입 수정, TableOverview에서 tableId를 url에서 정상적으로 가져오도록 수정 (#86)

* fix: PostUserResponseType 타입 변경

* fix: 정적 navigate 제거

* fix: 불필요한 console.log제거

* fix: tableId를 정상적으로 불러오도록 수정

---------

Co-authored-by: jaeml06 <jaeml0630@gmail.com>
Co-authored-by: EunWoo <eunwoo1341@gmail.com>
katie424 pushed a commit that referenced this pull request Jun 1, 2025
* Update issue templates

* docs: 파일명 수정

* chore: 프로젝트 초기 세팅

* feat: 하단에 고정되어 있는 footer wrapper 구현

* feat: 중첩 컴포넌트로 기본 레이아웃 구현

* feat: PropsAndConsTitle 구현

* feat: TimerCreationButton 구현

* feat: DebatePanel 구현

* feat: 테이블 구성 페이지 초기 UI rngus

* chore:  storybook 설정 추가

* test: DebatePanel 스토리 북 작성

* test: PropsAndConsTitle 스토리북 테스트 작성

* test: TimerCreationButton 스토리북 테스트 작성

* fix: 파일명에 불필요한 공백 제거

* [FEAT] 페이지 라우팅 적용 (#22)

* chore: install react-router-dom

* feat: App.tsx와 main.tsx 에서 라우팅 설정

* refactor: createBrowerRouter 방식 적용
- router.tsx 파일 생성하여 라우터 적용
- main.tsx 에서     <RouterProvider router={router} /> 적용

* chore: 불필요한 App.tsx 컴포넌트 삭제

* chore: eol prettier 적용

* [FEAT] 타이머 박스 생성 모달 구현 (#17)

* feat: 포털 렌더링 관리를 위한 GlobalPortal 컴포넌트 추가

* feat: 모달 생성을 위한 modal 커스텀 훅 구현

* feat: GlobalPortal 적용

* feat: 제출 이벤트, 버튼 추가

* feat: uesModal 구조 변경

* feat: Stance, DebateType에 export 추가

* test: useModal 테스트 코드 작성

* feat: 타이머 박스 생성 모달 구현

* feat: 타임 테이블 구성 페이지 피그마 UI에 맞게 구성

* refactor: 불필요한 테스트 파일 삭제

* test: 타임 테이블 구성 페이지 스토리북 작성

* test: 타임 테이블 구성 페이지 테스트 코드 작성

* refactor: params변경에 따른 수정

* test: GlbalPortal 추가

* chore: chromatic 추가

* fix: 파일명에 불필요한 공백 제거

* chore: 크로매틱 배포 토큰 변경

* [FEAT] 로그인 페이지 구현 (#24)

* feat: 로그인 페이지 전체 레이아웃

* feat: 로그인 버튼 구현

* feat: 닉네임 별 페이지 목록 페이지 라우팅 설정

* refactor: scale 효과 추가 및 font 굵기 조절

* refactor: tailwind css 가독성 향상 및 개선

* refactor: LinkButton 재사용성 향상
- url과 title을 props로 넘김

* chore: eslint 자동 정렬 설정

* chore: LoginPage eslint 자동 정렬 적용

* refactor: input placeholder 가독성 향상을 위해 글꼴 색깔 변경

* [FEAT] 테이블 목록화면 구현 (#26)

* feat: TableListPage 와이어 프레임 구현

* refactor: grid 가운데 정렬 및 gap 추가

* feat: Table 컴포넌트 구현

* feat: AddTable 컴포넌트 구현
- 클릭 시 새로운 토론 생성

* feat: TableProps 추가

* 페이지 테이블 모달 구현

* refactor: 모달 와이어프레임 구현

* feat: 토론 시간 이름 및 토론 유형 UI 구현

* feat: 토론 유형 선택 토글 구현

* refactor: 토론 유형 토글 선택 기능 구현

* refactor: 토론 유형 토글 컴포넌트로 분리

* style: UI 색상 변경
- amber-500

* feat: CreateTableButton 컴포넌트 구현
- 테이블 만들기 버튼 클릭 시 '/' 로 이동

* refactor: Table 컴포넌트 라우팅 적용

* chore: dummy data 제거

* chore: dummy data 주석처리

* chore: dummy data 추가

* refactor: TableProps 타입 분리

* refactor: 닫기 버튼 가독성을 위해  위치 변경 및 크기 변경

* refactor: ModalProps 타입 분리

* chore: Table 컴포넌트에 시간 단위 '분' 추가

* refactor: Modal props 컴포넌트 안에 배치

* refactor: useModal 훅에 esc 닫는 기능 추가

* refactor: useModal 적용하여 기존 모달 리팩토링

* refactor: 모달 닫기 버튼 사이즈 변경

* refactor: TimerCreationContent Padding 증가

* refactor: Modal 닫기 버튼 위치 조정 및 사이즈 변경

* refactor: TableProps 분리 제거

* refactor: Modal 컴포넌트를 ModalWrapper 감싸기

* refactor: responsive Table UI 로 리팩토링

* refactor: responsive Modal UI 리팩토링

* refactor: Table 타입 분리 및 Type네이밍 변경

* [FIX] 타임 테이블 구성 페이지 피드백 사항 반영 (#29)

* fix: 텍스트를 더 자세하게 수정

* feat: 최상단 컴포넌트에 GlobalPortal추가

* fix: 하단 버튼에 main의 content가 가려지던 문제 수정

* refactor: formatSecondsToMinutes 반환 값 변경

* feat: 선택 진영에 따라 모달 제목 텍스트 색상 변경

* feat: input을 select로 변경

* feat: stace에 따른 색상 변경 함수 구현

* feat: debateType가 중립일 경우 stance을 값을 빈문자열로 표시

* feat: input Numer의 leading zero삭제

* feat: 초기값을 이전 설정한 값으로 설정되게 변경

* feat: stace가 중립일 speakerNumber 수정 불가능하게 변경

* feat: 이전 데이터가 중립일 경우 debateType이 이전 데이터를 반영하지 않도록 변경

* [TEST] 테이블 목록 컴포넌트 Storybook 테스트코드 구현 (#35)

* test: Table 컴포넌트 Storybook 구현

* test: TableListPage 페이지 Storybook 구현

* test: DropdownForDebateType 컴포넌트 Storybook 구현

* fix: test 코드 통과를 위해 코드 h2 tag 수정

* [FEAT] 테이블 조회 화면 구현 (#34)

* refactor: PropsAndConsTitle의 재사용에 따른 폴더 위치 변경

* feat: 테이블 선택 페이지 기본 레이아웃 구현

* fix: footerWrapper을 flex정렬 방향 변경

* refactor: FixedFooterWrapper position 속정 변경에 따른 컴포넌트 명 수정

* feat: TableOverview 라우터 추가

* test: TableOverview 스토리북 작성

* test: PropsAndConsTitle의 위치 변경

* feat: 불필요한 주석 제거

* feat: 버튼 text 수정

* test: MemoryRouter추가

* fix: 사용되지 않은 getStanceColor 수정

* [CHORE] API 처리를 위해 패키지 추가 (#39)

* chore: Added API-related packages to the project

* chore: Added and modified codes for API

- 가상 API 사용을 위한 msw 관련 파일 추가
- TanStack Query 및 msw 대응하여 main.tsx 수정

* chore: Let msw only enabled on 'dev-mock' mode

* chore: Added one blank line at end of package.json

* chore: Added EOL at end of environment variable files

* [FEAT] 테이블 수정 및 삭제 구현 (#44)

* chore: 수정 및 삭제 아이콘을 위해 react-icons 추가

* feat: Table 컴포넌트에 Icons 추가

* feat: implement handleDelete method

* feat: implement EditModalButton to edit Tables

* refactor: stopPropagation method with MouseEvent 추가
- 버튼 클릭 이벤트가 상위로 전파되는 것을 막기 위해서 추가함

* feat: Edit 버튼 눌렀을 때, CreateTableModal 나오게 구현

* chore: unused closeModal function 삭제

* feat: Table 삭제를 위해 DeleteModalButton 구현

* feat: EditTableModal 구현

* feat: EditTableButton 구현
- 이후 수정 RestAPI 로직 추가 필요

* refactor: Edit 관련 컴포넌트에 name 매개변수 추가

* refactor: DebateTable 타입에 extends하여 delete 타입 추가

* refactor: 토론 유형 수정 불가

* refactor: 토론유형 hover: curser-not-allowed 추가

* refactor: handleDelete 함수형 업데이트로 수정

* refactor: EditTableButton 컴포넌트에 closeModal 매개변수 추가

* fix: TableListPage 테스트코드 수정

* [FEAT] 타임박스에 수정 및 삭제 UI 추가 (#42)

* chore: 수정, 삭제 아이콘 이용을 위한 react-icons 추가

* style: 컴포넌트 간의 간경을 더 좁게 수정

* feat: 수정, 삭제 버튼을 합친 EditDeleteButtons 컴포넌트 구현

* style: 분기에 따른 컴포넌트의 높이를 동일하게 수정

* feat: 수정, 삭제 handler 함수 작성

* refactor: 가독성을 위해 중첩된 삼항연산자 분리

* feat: 삭제 버튼 클릭 시, 삭제 확인 모달 구현

* feat: EditDeleteButtons에 aria-label 추가

* test: EditDeleteButtons 스토리북 코드 작성

* feat: TableSetup 테스트에 수정, 삭제 기능 테스트 추가

* [FEAT] API 요청 관련 기능 구현 (#45)

* feat: Added API mocking handler

* feat: Implemented API request logics

- 추가로, BE API 명세서의 반환 예시에 맞추어 일부 변수 이름을 수정

* refactor: Applied some minor changes

- URL 생성 함수가 슬래시(/)를 여러 개 포함하는 문제 수정
- 모든 API 함수를 apis.ts에 통합 (추후 메소드 많아지면 분리)

* feat: Let msw handler catch arguments

그 외 변경사항으로, API 함수들에서 경로 매개변수(path parameters)가 생략되어 있었던 문제를 해결

* refactor: 주석 추가

* fix: DebateTable 인터페이스 변경에 따른 일부 오류 수정

* feat: Added string identifier for 'useQuery' function

---------

Co-authored-by: jaeml06 <jaeml0630@gmail.com>

* [FEAT] 타임박스의 수정을 드래그앤드롭으로 변경하는 기능 구현 (#47)

* feat: 이벤트 발생 비용 감소를 위한 useThrottle 작성

* faet: 타임박스 드래그앤 드롭을 위한 useDragAndDrop 구현

* feat: 타임박스에 드래그앤드롭 영역 지정

* feat: TableSetup에 드래그앤 드롭 선언

* refactor: 불필요한 주석 삭제

* fix: 병합과정에서 발생한 오류 수정

* [CHORE] storybook에 전역적인 decorators 설정 추가 (#50)

* chore: 라우터, GlobalPortal설정을 전역 설정에 decorators로 추가

* chore: storybook에 msw 설정 추가

* [FIX] Mock Handler 파일에서 타입 에러 해결  (#54)

* feat: Table 타입인 TableInfo 정의

* refactor: result 객체에 속핸 info의 타입을 명시하기 위해 request에 TableInfo 타입 명시

* chore: 이미 정의되있던 PostDebateTableResponseType 타입 사용

* [FEAT] 타이머 화면 구현 (#58)

* feat: Implemented TimerPage

* feat: Applied sound effect

And applied minor design changed

* refactor: Let TimerComponent change TimerPage's background

* fix: NEUTRAL 항목에 불필요한 아이콘 뜨는 오류 수정

* feat: Added keyboard event listener on Timer

* fix: 토론 순서 조작 시 발생하는 인덱스 초과 오버플로우 해결

* feat: 피드백에 따른 디자인 변경 사항 반영

* feat: Added loading and error screen on TimerPage

* feat: Applied feedbacks from PR

* fix: 타이머가 현재 debateInfo의 index를 불러오지 못하는 오류 수정

* refactor: 콘솔 로깅 비활성화

* fix: Storybook 출력되지 않는 문제 수정

- use-sound 패키지 제거하고 HTML 태그로 소리 출력
- 별도 컴포넌트를 거치지 않고 직접 gif 파일을 불러와 출력

* refactor: Removed unnecessary codes and comments

* refactor: Hoisted all data and functions to the root page

* fix: Cleared focus on button when space bar pressed

* [FEAT] `ErrorBoundary` 도입 (#65)

* feat: ErrorBoundary 도입

* feat: Wrapped router with ErrorBoundaryWrapper

* feat: Enabled 'throwOnError' option on QueryClient

* feat: Added refresh button on ErrorPage

* refactor: Applied feedbacks from PR review

- Declared string constants for ErrorBoundary
- Set icon size on 'size' parameter instead of TailwindCSS 'className'

* [FEAT] API 연결과 테이블 생성과 수정을 위해 funnel 패턴을 이용하여 멀티 스텝 폼 구현 (#57)

* fix: 응답 타입을 문서에 맞게 수정

* feat: Agenda 타입 추가

* feat: 테이블을 추가하는 api 훅 추가

* feat: 테이블을 삭제하는 api 훅 추가

* feat: 사용자를 추가하는 api 훅 추가

* feat: 의회식 토론을 수정하는 api 훅 추가

* feat: 토론 리스트를 가져오는 api 훅 추가

* feat: 의호식 토론 정보를 가져오는 api 훅 추가

* style: 컴포넌트간의 간격 추가

* feat: multi-step form 구현을 위한 useFunnel 작성

* feat: multi-step form동안에 새로고침시에도 상태 유지를 위한 useBrowserStorage 구현

* feat: DropdownForDebateType의 로직 변경

* feat: 멀티 스텝을 이용한 방식으로 수정으로 인한 생성 모달, TableSetupPage를 변경

* feat: 테이블 생성과 수정을 위한 멀티 스텝 폼, TableComposition 구현

* feat: 테이블 form 정보 커스텀 훅 구현

* feat: 로그인 페이지에 상태와 api훅 추가

* fix: 타임박스 ui 버그 수정

* feat: 멀티 스텝 폼을 위해 TableSetupPage의 commponents 파일 이동

* feat: 테이블 수정을 모달에서 멀티스텝 폼 변경으로 인한 수정

* refactor: 더미 데이터 제거

* feat: composition 라우터 추가

* fix: 응답값에 맞게 msw 수정

* feat: 테이블 조회에 api 훅 추가

* refactor: 모달에서 멀티스텝폼 변경으로 인한 컴포넌트 명 변경

* fix: agenda와 type의 혼동으로 type 문제 수정

* fix: TableComposition 구현으로 인한 불필요한 파일 삭제

* fix: Type 타입을 영어로 수정

* fix: import 경로 수정

* feat: 테스트 mock을 위한 vitest 설정

* test: TableComposition 구현으로 인한 수정사항 반영

* feat: 버튼에 aria-label 추가

* chore: storybook msw 사용가능하게 설정 추가

* fix: stace 오타 변경

* test: storybook 경로 변경

* test: TableCompositon 스토리북 코드 작성

* fix: TableSetup삭제로 인한 라우터 변경

* chore: cleanup 함수 추가

* feat: 인터페이스 명 수정

* refactor: 한글에서 영어로 상수 변경

* refactor: NEUTRAL Stance 타입 변경

* refactor: typeMapping을 constants로 분리

* refactor: DebatePanel의 DebateTypeToString 수정

* refactor: type 값을 영어 상수로 변경

* [CHORE] 배포 파이프라인 자동화 구축 (#60)

* feat: useMutation 사용하여 restAPI post요청 구현

* refactor: useLoginUser 훅으로 분리

* chore: setting Up a Deployment Automation Pipeline

* chore: cd 파일 pr branch 명 변경

* fix: 불필요한 코드 지우기

* build: 패키지 매니저 변경

* build: pr types 추가

* fix: handleLogin 에 '/table' 경로로 라우팅 추가하여 test코드 통과

* fix: 올바른 test코드 위한 수정

* fix: mockServiceWorker 에서 불필요한 코드 삭제

* fix: mockServiceWorekr 필요없는 코드 삭제

* fix: 오류 해결을 위해 build 다시 생성

* fix: eslintignore 와 stylelintignore 설정을 통해 불필요한 검사 제외

* chore: gitignore 에 /dist 추가하여 빌드파일 제외

* chore: stylelintignore eol 추가

* chore: .eslintignore 삭제 및 eslint.config.js 파일 안 ignore 추가

* chore: dist 디렉토리 삭제

* chore: CD 파일에 pr types 에 'synchronize', 'reopened' 제거

* fix: 병합과정에 충돌 오류 수정

---------

Co-authored-by: jaeml06 <jaeml0630@gmail.com>

* hotfix: 에러바운더리 코드가 삭제된 것에 대한 반영 (#69)

* [REFACTOR] 타이머 기능 개선 외 (#66)

* refactor: Applied several changes

- Changed interval to 1000 ms (1 sec)
- Added function that changes background to remove duplication of same codes
- Removed isRunning not necessary

* feat: Made TimerPage be able to catch parameters

* fix: Recovered deleted ErrorBoundary related files

* fix: Set icon size on 'size' argument instead of 'className'

* refactor: Separated loading component to page

* refactor: Applied several changes

- Moved TimerLoadingPage to /src/TimerPage from /src/TimerPage/component
- Set css file to print CR/LF correctly
- Changed 'useQuery' to 'useGetParliamentaryTableData' hook

* refactor: Deleted unneccesary codes

* [FEAT] 닉네임 기반 로그인 구현 (#71)

* feat: 로그인 시, memberId를 반환하도록 변경

* feat: memberId를 session 스토리지에 저장하도록 util 함수 작성

* fix: currentStep을 영문으로 변경

* feat: 정적으로 선언되 memberId를 스토리지에서 가져오도록 변경

* refactor: route.tsx 위치를 routes 폴더로 변경

* feat: ProtectedRoute 구현

* feat:  ProtectedRoute 적용

* refactor: routes위치 변경에 따른 import 수정

* feat: 토론하기 클릭 시, TimerPage 연결

* refactor: 라우터 변경에 따른 수정사항 반영

---------

Co-authored-by: Shawn Kang <77564014+i-meant-to-be@users.noreply.github.com>

* [FEAT] 추가 작전 시간 타이머 구현 외 (#77)

* feat: Changed API base url to deployed server

* feat: Implemented AdditionalTimerComponent

* fix: Recovered horizontal padding of useModal wrapper

* feat: Deleted top margin of AdditionalTimerSummaryItem

* fix: Fixed linting errors

* fix: Removed hard-coded URL on source codes

* fix: Make app get server URL from .env file

* chore: Deleted .env files

* chore: Updated .gitignore file to ignore .env files

* [CHORE] 배포 최적화 및 배포 환경 구분 (#82)

* chore: Separated deploy environments and variables

* chore: Applined vite-plugin-compressions2 to compress builds

* chore: Changed job name

* fix: Added quotes on target path of Cloudfront cache invalidation

* chore: Changed web page title

* chore: Removed compression-related packages and codes

* [FIX] QA에서 식별한 버그 해결 - 숀 (#92)

* feat: Fixed header's elements at the correct position

* fix: Fixed bugs identified at QA

* fix: Let TimerPage print error text when app failed to load data

* fix: Fixed test codes affected by last commits

* refactor: StickyTriSectionHeader변경에 따른 UI 수정

* feat: TableOverview 홈화면 버튼 추가

---------

Co-authored-by: jaeml06 <jaeml0630@gmail.com>

* [FIX] QA에서 식별한 버그 해결 - 치코 (#93)

* feat: 토론주제를 정상적으로 서버에 전달하도록 변경

* fix: 테이블 수정에서 상수로 되어있던 데이터 초기화 수정

* fix: 쿼리파라미터를 유지하도록 수정

* chore: preview 포트 3000으로 수정

* feat: 테이블을 없을시, 제출 버튼 블록처리 추가

* test: 테이블 추가하기 diabled상황 추가에 따른 테스트 수정

* [FIX] QA에서 식별한 버그 해결 - 엘 (#94)

* fix: TableList 화면에서 토론 유형이 영어(PARLIAMENTARY)로 표시되는 문제 해결

* fix: TableList 화면에서 토론 시간이 초가 아니라 분으로 표시되는 문제 해결

* fit: TableList 화면에서 테이블을 삭제한 후 화면이 다시 렌더링되지 않는 문제 해결

* fix: CI Test 를 통과하기 위해 test code 수정

* refactor: typeMapping 메소드 이용하여 토론 유형 매칭

* [FIX, CHORE] mock에서 드래그앤 드롭 UI가 깨지는 문제 수정, Storybook 자동 배포 yml 작성 (#81)

* fix: msw 모킹값 변경

* fix: 키값을 더 고유한 값으로 변경

* chore: storybook 자동 배포 yml 작성

---------

Co-authored-by: Shawn Kang <77564014+i-meant-to-be@users.noreply.github.com>

* [CHORE] main 브랜치로 배포 (#87) (#97)

* Update issue templates

* docs: 파일명 수정

* docs: PR 템플릿 생성 (#2)

* docs: 자동 issue 설정 할당

* docs: 불필요한 주석 제거

* docs: 이슈 프로젝트 권한 추가

* docs: 자동할당 로직 변경

* feat: 권한 문제로 자동 Project할당 제거

* docs: PR 자동할당 yml 작성

* docs: 불필요한 Project 정보 제거

* docs: Discord comment 알림 yml 작성

* chore: 프로젝트 초기 세팅

* chore: prettier 설정 추가

* feat: 3개의 영역으로 구분된 header(StickyTriSectionHeader) 구현

* feat: 하단에 고정되어 있는 footer wrapper 구현

* feat: main 레이아웃 구현

* feat: 중첩 컴포넌트로 기본 레이아웃 구현

* design: layout의 ContentContanier 가운데 정렬 추가

* design: layout의 ContentContanier padding 추가

* feat: PropsAndConsTitle 구현

* feat: TimerCreationButton 구현

* feat: 테이블 타입 작성

* feat: 초를 분, 초로 포맷팅하는 함수 구현

* feat: DebatePanel 구현

* feat: 테이블 구성 페이지 초기 UI rngus

* feat: Pretendard 웹폰트  추가

* chore:  storybook 설정 추가

* test: DebatePanel 스토리 북 작성

* test: PropsAndConsTitle 스토리북 테스트 작성

* test: TimerCreationButton 스토리북 테스트 작성

* fix: 파일명에 불필요한 공백 제거

* [FEAT] 페이지 라우팅 적용 (#22)

* chore: install react-router-dom

* feat: App.tsx와 main.tsx 에서 라우팅 설정

* refactor: createBrowerRouter 방식 적용
- router.tsx 파일 생성하여 라우터 적용
- main.tsx 에서     <RouterProvider router={router} /> 적용

* chore: 불필요한 App.tsx 컴포넌트 삭제

* chore: eol prettier 적용

* [FEAT] 타이머 박스 생성 모달 구현 (#17)

* feat: 포털 렌더링 관리를 위한 GlobalPortal 컴포넌트 추가

* feat: 모달 생성을 위한 modal 커스텀 훅 구현

* feat: GlobalPortal 적용

* feat: 제출 이벤트, 버튼 추가

* feat: uesModal 구조 변경

* feat: Stance, DebateType에 export 추가

* test: useModal 테스트 코드 작성

* feat: 타이머 박스 생성 모달 구현

* feat: 타임 테이블 구성 페이지 피그마 UI에 맞게 구성

* refactor: 불필요한 테스트 파일 삭제

* test: 타임 테이블 구성 페이지 스토리북 작성

* test: 타임 테이블 구성 페이지 테스트 코드 작성

* refactor: params변경에 따른 수정

* test: GlbalPortal 추가

* chore: chromatic 추가

* fix: 파일명에 불필요한 공백 제거

* chore: 크로매틱 배포 토큰 변경

* [FEAT] 로그인 페이지 구현 (#24)

* feat: 로그인 페이지 전체 레이아웃

* feat: 로그인 버튼 구현

* feat: 닉네임 별 페이지 목록 페이지 라우팅 설정

* refactor: scale 효과 추가 및 font 굵기 조절

* refactor: tailwind css 가독성 향상 및 개선

* refactor: LinkButton 재사용성 향상
- url과 title을 props로 넘김

* chore: eslint 자동 정렬 설정

* chore: LoginPage eslint 자동 정렬 적용

* refactor: input placeholder 가독성 향상을 위해 글꼴 색깔 변경

* chore: lint와 test를 넣은 CI yml 파일 작성 (#27)

* [FEAT] 테이블 목록화면 구현 (#26)

* feat: TableListPage 와이어 프레임 구현

* refactor: grid 가운데 정렬 및 gap 추가

* feat: Table 컴포넌트 구현

* feat: AddTable 컴포넌트 구현
- 클릭 시 새로운 토론 생성

* feat: TableProps 추가

* 페이지 테이블 모달 구현

* refactor: 모달 와이어프레임 구현

* feat: 토론 시간 이름 및 토론 유형 UI 구현

* feat: 토론 유형 선택 토글 구현

* refactor: 토론 유형 토글 선택 기능 구현

* refactor: 토론 유형 토글 컴포넌트로 분리

* style: UI 색상 변경
- amber-500

* feat: CreateTableButton 컴포넌트 구현
- 테이블 만들기 버튼 클릭 시 '/' 로 이동

* refactor: Table 컴포넌트 라우팅 적용

* chore: dummy data 제거

* chore: dummy data 주석처리

* chore: dummy data 추가

* refactor: TableProps 타입 분리

* refactor: 닫기 버튼 가독성을 위해  위치 변경 및 크기 변경

* refactor: ModalProps 타입 분리

* chore: Table 컴포넌트에 시간 단위 '분' 추가

* refactor: Modal props 컴포넌트 안에 배치

* refactor: useModal 훅에 esc 닫는 기능 추가

* refactor: useModal 적용하여 기존 모달 리팩토링

* refactor: 모달 닫기 버튼 사이즈 변경

* refactor: TimerCreationContent Padding 증가

* refactor: Modal 닫기 버튼 위치 조정 및 사이즈 변경

* refactor: TableProps 분리 제거

* refactor: Modal 컴포넌트를 ModalWrapper 감싸기

* refactor: responsive Table UI 로 리팩토링

* refactor: responsive Modal UI 리팩토링

* refactor: Table 타입 분리 및 Type네이밍 변경

* [TEST] 로그인 페이지 Storybook 테스트코드 구현 (#31)

* feat: TableListPage 와이어 프레임 구현

* refactor: grid 가운데 정렬 및 gap 추가

* feat: Table 컴포넌트 구현

* feat: AddTable 컴포넌트 구현
- 클릭 시 새로운 토론 생성

* feat: TableProps 추가

* 페이지 테이블 모달 구현

* refactor: 모달 와이어프레임 구현

* feat: 토론 시간 이름 및 토론 유형 UI 구현

* feat: 토론 유형 선택 토글 구현

* refactor: 토론 유형 토글 선택 기능 구현

* refactor: 토론 유형 토글 컴포넌트로 분리

* style: UI 색상 변경
- amber-500

* feat: CreateTableButton 컴포넌트 구현
- 테이블 만들기 버튼 클릭 시 '/' 로 이동

* refactor: Table 컴포넌트 라우팅 적용

* chore: dummy data 제거

* chore: dummy data 주석처리

* chore: dummy data 추가

* refactor: TableProps 타입 분리

* refactor: 닫기 버튼 가독성을 위해  위치 변경 및 크기 변경

* refactor: ModalProps 타입 분리

* chore: Table 컴포넌트에 시간 단위 '분' 추가

* refactor: Modal props 컴포넌트 안에 배치

* refactor: useModal 훅에 esc 닫는 기능 추가

* refactor: useModal 적용하여 기존 모달 리팩토링

* refactor: 모달 닫기 버튼 사이즈 변경

* refactor: TimerCreationContent Padding 증가

* refactor: Modal 닫기 버튼 위치 조정 및 사이즈 변경

* refactor: TableProps 분리 제거

* refactor: Modal 컴포넌트를 ModalWrapper 감싸기

* refactor: responsive Table UI 로 리팩토링

* refactor: responsive Modal UI 리팩토링

* feat: LoginPage Storybook 구현

* test: LinkButton 스토리북 구현

* [FIX] 타임 테이블 구성 페이지 피드백 사항 반영 (#29)

* fix: 텍스트를 더 자세하게 수정

* feat: 최상단 컴포넌트에 GlobalPortal추가

* fix: 하단 버튼에 main의 content가 가려지던 문제 수정

* refactor: formatSecondsToMinutes 반환 값 변경

* feat: 선택 진영에 따라 모달 제목 텍스트 색상 변경

* feat: input을 select로 변경

* feat: stace에 따른 색상 변경 함수 구현

* feat: debateType가 중립일 경우 stance을 값을 빈문자열로 표시

* feat: input Numer의 leading zero삭제

* feat: 초기값을 이전 설정한 값으로 설정되게 변경

* feat: stace가 중립일 speakerNumber 수정 불가능하게 변경

* feat: 이전 데이터가 중립일 경우 debateType이 이전 데이터를 반영하지 않도록 변경

* [TEST] 테이블 목록 컴포넌트 Storybook 테스트코드 구현 (#35)

* test: Table 컴포넌트 Storybook 구현

* test: TableListPage 페이지 Storybook 구현

* test: DropdownForDebateType 컴포넌트 Storybook 구현

* fix: test 코드 통과를 위해 코드 h2 tag 수정

* [FEAT] 테이블 조회 화면 구현 (#34)

* refactor: PropsAndConsTitle의 재사용에 따른 폴더 위치 변경

* feat: 테이블 선택 페이지 기본 레이아웃 구현

* fix: footerWrapper을 flex정렬 방향 변경

* refactor: FixedFooterWrapper position 속정 변경에 따른 컴포넌트 명 수정

* feat: TableOverview 라우터 추가

* test: TableOverview 스토리북 작성

* test: PropsAndConsTitle의 위치 변경

* feat: 불필요한 주석 제거

* feat: 버튼 text 수정

* test: MemoryRouter추가

* fix: 사용되지 않은 getStanceColor 수정

* [TEST] 로그인 및 테이블 조회 컴포넌트 테스트코드 구현 (#37)

* [CHORE] API 처리를 위해 패키지 추가 (#39)

* chore: Added API-related packages to the project

* chore: Added and modified codes for API

- 가상 API 사용을 위한 msw 관련 파일 추가
- TanStack Query 및 msw 대응하여 main.tsx 수정

* chore: Let msw only enabled on 'dev-mock' mode

* chore: Added one blank line at end of package.json

* chore: Added EOL at end of environment variable files

* [FEAT] 테이블 수정 및 삭제 구현 (#44)

* chore: 수정 및 삭제 아이콘을 위해 react-icons 추가

* feat: Table 컴포넌트에 Icons 추가

* feat: implement handleDelete method

* feat: implement EditModalButton to edit Tables

* refactor: stopPropagation method with MouseEvent 추가
- 버튼 클릭 이벤트가 상위로 전파되는 것을 막기 위해서 추가함

* feat: Edit 버튼 눌렀을 때, CreateTableModal 나오게 구현

* chore: unused closeModal function 삭제

* feat: Table 삭제를 위해 DeleteModalButton 구현

* feat: EditTableModal 구현

* feat: EditTableButton 구현
- 이후 수정 RestAPI 로직 추가 필요

* refactor: Edit 관련 컴포넌트에 name 매개변수 추가

* refactor: DebateTable 타입에 extends하여 delete 타입 추가

* refactor: 토론 유형 수정 불가

* refactor: 토론유형 hover: curser-not-allowed 추가

* refactor: handleDelete 함수형 업데이트로 수정

* refactor: EditTableButton 컴포넌트에 closeModal 매개변수 추가

* fix: TableListPage 테스트코드 수정

* [FEAT] 타임박스에 수정 및 삭제 UI 추가 (#42)

* chore: 수정, 삭제 아이콘 이용을 위한 react-icons 추가

* style: 컴포넌트 간의 간경을 더 좁게 수정

* feat: 수정, 삭제 버튼을 합친 EditDeleteButtons 컴포넌트 구현

* style: 분기에 따른 컴포넌트의 높이를 동일하게 수정

* feat: 수정, 삭제 handler 함수 작성

* refactor: 가독성을 위해 중첩된 삼항연산자 분리

* feat: 삭제 버튼 클릭 시, 삭제 확인 모달 구현

* feat: EditDeleteButtons에 aria-label 추가

* test: EditDeleteButtons 스토리북 코드 작성

* feat: TableSetup 테스트에 수정, 삭제 기능 테스트 추가

* [FEAT] API 요청 관련 기능 구현 (#45)

* feat: Added API mocking handler

* feat: Implemented API request logics

- 추가로, BE API 명세서의 반환 예시에 맞추어 일부 변수 이름을 수정

* refactor: Applied some minor changes

- URL 생성 함수가 슬래시(/)를 여러 개 포함하는 문제 수정
- 모든 API 함수를 apis.ts에 통합 (추후 메소드 많아지면 분리)

* feat: Let msw handler catch arguments

그 외 변경사항으로, API 함수들에서 경로 매개변수(path parameters)가 생략되어 있었던 문제를 해결

* refactor: 주석 추가

* fix: DebateTable 인터페이스 변경에 따른 일부 오류 수정

* feat: Added string identifier for 'useQuery' function

---------



* [FEAT] 타임박스의 수정을 드래그앤드롭으로 변경하는 기능 구현 (#47)

* feat: 이벤트 발생 비용 감소를 위한 useThrottle 작성

* faet: 타임박스 드래그앤 드롭을 위한 useDragAndDrop 구현

* feat: 타임박스에 드래그앤드롭 영역 지정

* feat: TableSetup에 드래그앤 드롭 선언

* refactor: 불필요한 주석 삭제

* fix: 병합과정에서 발생한 오류 수정

* [CHORE] storybook에 전역적인 decorators 설정 추가 (#50)

* chore: 라우터, GlobalPortal설정을 전역 설정에 decorators로 추가

* chore: storybook에 msw 설정 추가

* [FIX] Mock Handler 파일에서 타입 에러 해결  (#54)

* feat: Table 타입인 TableInfo 정의

* refactor: result 객체에 속핸 info의 타입을 명시하기 위해 request에 TableInfo 타입 명시

* chore: 이미 정의되있던 PostDebateTableResponseType 타입 사용

* [CHORE] VS Code 작업 영역에 대한 설정 파일 추가 #62

* [FEAT] 타이머 화면 구현 (#58)

* feat: Implemented TimerPage

* feat: Applied sound effect

And applied minor design changed

* refactor: Let TimerComponent change TimerPage's background

* fix: NEUTRAL 항목에 불필요한 아이콘 뜨는 오류 수정

* feat: Added keyboard event listener on Timer

* fix: 토론 순서 조작 시 발생하는 인덱스 초과 오버플로우 해결

* feat: 피드백에 따른 디자인 변경 사항 반영

* feat: Added loading and error screen on TimerPage

* feat: Applied feedbacks from PR

* fix: 타이머가 현재 debateInfo의 index를 불러오지 못하는 오류 수정

* refactor: 콘솔 로깅 비활성화

* fix: Storybook 출력되지 않는 문제 수정

- use-sound 패키지 제거하고 HTML 태그로 소리 출력
- 별도 컴포넌트를 거치지 않고 직접 gif 파일을 불러와 출력

* refactor: Removed unnecessary codes and comments

* refactor: Hoisted all data and functions to the root page

* fix: Cleared focus on button when space bar pressed

* [FEAT] `ErrorBoundary` 도입 (#65)

* feat: ErrorBoundary 도입

* feat: Wrapped router with ErrorBoundaryWrapper

* feat: Enabled 'throwOnError' option on QueryClient

* feat: Added refresh button on ErrorPage

* refactor: Applied feedbacks from PR review

- Declared string constants for ErrorBoundary
- Set icon size on 'size' parameter instead of TailwindCSS 'className'

* [FEAT] API 연결과 테이블 생성과 수정을 위해 funnel 패턴을 이용하여 멀티 스텝 폼 구현 (#57)

* fix: 응답 타입을 문서에 맞게 수정

* feat: Agenda 타입 추가

* feat: 테이블을 추가하는 api 훅 추가

* feat: 테이블을 삭제하는 api 훅 추가

* feat: 사용자를 추가하는 api 훅 추가

* feat: 의회식 토론을 수정하는 api 훅 추가

* feat: 토론 리스트를 가져오는 api 훅 추가

* feat: 의호식 토론 정보를 가져오는 api 훅 추가

* style: 컴포넌트간의 간격 추가

* feat: multi-step form 구현을 위한 useFunnel 작성

* feat: multi-step form동안에 새로고침시에도 상태 유지를 위한 useBrowserStorage 구현

* feat: DropdownForDebateType의 로직 변경

* feat: 멀티 스텝을 이용한 방식으로 수정으로 인한 생성 모달, TableSetupPage를 변경

* feat: 테이블 생성과 수정을 위한 멀티 스텝 폼, TableComposition 구현

* feat: 테이블 form 정보 커스텀 훅 구현

* feat: 로그인 페이지에 상태와 api훅 추가

* fix: 타임박스 ui 버그 수정

* feat: 멀티 스텝 폼을 위해 TableSetupPage의 commponents 파일 이동

* feat: 테이블 수정을 모달에서 멀티스텝 폼 변경으로 인한 수정

* refactor: 더미 데이터 제거

* feat: composition 라우터 추가

* fix: 응답값에 맞게 msw 수정

* feat: 테이블 조회에 api 훅 추가

* refactor: 모달에서 멀티스텝폼 변경으로 인한 컴포넌트 명 변경

* fix: agenda와 type의 혼동으로 type 문제 수정

* fix: TableComposition 구현으로 인한 불필요한 파일 삭제

* fix: Type 타입을 영어로 수정

* fix: import 경로 수정

* feat: 테스트 mock을 위한 vitest 설정

* test: TableComposition 구현으로 인한 수정사항 반영

* feat: 버튼에 aria-label 추가

* chore: storybook msw 사용가능하게 설정 추가

* fix: stace 오타 변경

* test: storybook 경로 변경

* test: TableCompositon 스토리북 코드 작성

* fix: TableSetup삭제로 인한 라우터 변경

* chore: cleanup 함수 추가

* feat: 인터페이스 명 수정

* refactor: 한글에서 영어로 상수 변경

* refactor: NEUTRAL Stance 타입 변경

* refactor: typeMapping을 constants로 분리

* refactor: DebatePanel의 DebateTypeToString 수정

* refactor: type 값을 영어 상수로 변경

* [CHORE] 배포 파이프라인 자동화 구축 (#60)

* feat: useMutation 사용하여 restAPI post요청 구현

* refactor: useLoginUser 훅으로 분리

* chore: setting Up a Deployment Automation Pipeline

* chore: cd 파일 pr branch 명 변경

* fix: 불필요한 코드 지우기

* build: 패키지 매니저 변경

* build: pr types 추가

* fix: handleLogin 에 '/table' 경로로 라우팅 추가하여 test코드 통과

* fix: 올바른 test코드 위한 수정

* fix: mockServiceWorker 에서 불필요한 코드 삭제

* fix: mockServiceWorekr 필요없는 코드 삭제

* fix: 오류 해결을 위해 build 다시 생성

* fix: eslintignore 와 stylelintignore 설정을 통해 불필요한 검사 제외

* chore: gitignore 에 /dist 추가하여 빌드파일 제외

* chore: stylelintignore eol 추가

* chore: .eslintignore 삭제 및 eslint.config.js 파일 안 ignore 추가

* chore: dist 디렉토리 삭제

* chore: CD 파일에 pr types 에 'synchronize', 'reopened' 제거

* fix: 병합과정에 충돌 오류 수정

---------



* hotfix: 에러바운더리 코드가 삭제된 것에 대한 반영 (#69)

* [REFACTOR] 타이머 기능 개선 외 (#66)

* refactor: Applied several changes

- Changed interval to 1000 ms (1 sec)
- Added function that changes background to remove duplication of same codes
- Removed isRunning not necessary

* feat: Made TimerPage be able to catch parameters

* fix: Recovered deleted ErrorBoundary related files

* fix: Set icon size on 'size' argument instead of 'className'

* refactor: Separated loading component to page

* refactor: Applied several changes

- Moved TimerLoadingPage to /src/TimerPage from /src/TimerPage/component
- Set css file to print CR/LF correctly
- Changed 'useQuery' to 'useGetParliamentaryTableData' hook

* refactor: Deleted unneccesary codes

* [HOTFIX] GitHub Actions 빌드 실패 문제 해결 (#73)

- TableCompositionStep 상수 값을 한글(타임박스입력)에서 영어(TimeBox)로 바꾸며 발생한 문제 수정
- Type 상수 값을 한글(의회식 토론)에서 영어(PARLIAMENTARY)로 바꾸며 발생한 문제 수정

* [FEAT] AWS S3 및 FrontCloud dev, prod 각각 분리 배포 및 github action 구축 (#76)

* feat: useMutation 사용하여 restAPI post요청 구현

* refactor: useLoginUser 훅으로 분리

* chore: setting Up a Deployment Automation Pipeline

* chore: cd 파일 pr branch 명 변경

* fix: 불필요한 코드 지우기

* build: 패키지 매니저 변경

* build: pr types 추가

* fix: handleLogin 에 '/table' 경로로 라우팅 추가하여 test코드 통과

* fix: 올바른 test코드 위한 수정

* fix: mockServiceWorker 에서 불필요한 코드 삭제

* fix: mockServiceWorekr 필요없는 코드 삭제

* fix: 오류 해결을 위해 build 다시 생성

* fix: eslintignore 와 stylelintignore 설정을 통해 불필요한 검사 제외

* chore: gitignore 에 /dist 추가하여 빌드파일 제외

* chore: stylelintignore eol 추가

* chore: .eslintignore 삭제 및 eslint.config.js 파일 안 ignore 추가

* chore: dist 디렉토리 삭제

* chore: CD 파일에 pr types 에 'synchronize', 'reopened' 제거

* feat: dev 배포를 위한 deploy 코드 작성

* feat: prod 배포를 위한 deploy 코드 작성

* chore: merge 후 생성된 불 필요한 코드 삭제

* chore: dev 배포 명료성을 위해 access key 및 secret key 네이밍 변경

* chore: Dev 배포 관련 yml파일에서 bucket 네이밍 변경

* [FEAT] 닉네임 기반 로그인 구현 (#71)

* feat: 로그인 시, memberId를 반환하도록 변경

* feat: memberId를 session 스토리지에 저장하도록 util 함수 작성

* fix: currentStep을 영문으로 변경

* feat: 정적으로 선언되 memberId를 스토리지에서 가져오도록 변경

* refactor: route.tsx 위치를 routes 폴더로 변경

* feat: ProtectedRoute 구현

* feat:  ProtectedRoute 적용

* refactor: routes위치 변경에 따른 import 수정

* feat: 토론하기 클릭 시, TimerPage 연결

* refactor: 라우터 변경에 따른 수정사항 반영

---------



* [FEAT] 추가 작전 시간 타이머 구현 외 (#77)

* feat: Changed API base url to deployed server

* feat: Implemented AdditionalTimerComponent

* fix: Recovered horizontal padding of useModal wrapper

* feat: Deleted top margin of AdditionalTimerSummaryItem

* fix: Fixed linting errors

* fix: Removed hard-coded URL on source codes

* fix: Make app get server URL from .env file

* chore: Deleted .env files

* chore: Updated .gitignore file to ignore .env files

* [CHORE] 배포 최적화 및 배포 환경 구분 (#82)

* chore: Separated deploy environments and variables

* chore: Applined vite-plugin-compressions2 to compress builds

* chore: Changed job name

* fix: Added quotes on target path of Cloudfront cache invalidation

* chore: Changed web page title

* chore: Removed compression-related packages and codes

* [HOTFIX] 배포된 앱이 서버와 통신하지 못하는 문제 수정 (#84)

* [FIX] PostUserResponseType타입 수정, TableOverview에서 tableId를 url에서 정상적으로 가져오도록 수정 (#86)

* fix: PostUserResponseType 타입 변경

* fix: 정적 navigate 제거

* fix: 불필요한 console.log제거

* fix: tableId를 정상적으로 불러오도록 수정

---------

Co-authored-by: Shawn Kang <77564014+i-meant-to-be@users.noreply.github.com>
Co-authored-by: EunWoo <eunwoo1341@gmail.com>

* [FEAT] invalidateQueries 사용하여 Table 삭제 시 즉시 업데이트 반영 (#99)

* feat: invalidateQueries를 사용하여 Table를 삭제한 후 성공할 시 최신 데이터를 반영

* feat: setTimeout을 사용하여 먼저 UI를 갱신한 후 alert을 표시하여 사용자경험(UX)를 향상

* [REFACTOR] 1차 UT에 있었던 1, 2순위 수정 사항 반영 (#102)

* refactor: 생성, 수정 환경에서 문구 구분

* refactor: 드래그앤드롭 바 디자인 변경

* fix: 타임박스가 헤더 영역을 침범하는 문제 수정

* test: 문구 변경에 따른 테스트 수정

* Update issue templates

* docs: 파일명 수정

* docs: PR 자동할당 yml 작성

* docs: 불필요한 Project 정보 제거

* chore: 프로젝트 초기 세팅

* feat: 중첩 컴포넌트로 기본 레이아웃 구현

* chore:  storybook 설정 추가

* [FEAT] 페이지 라우팅 적용 (#22)

* chore: install react-router-dom

* feat: App.tsx와 main.tsx 에서 라우팅 설정

* refactor: createBrowerRouter 방식 적용
- router.tsx 파일 생성하여 라우터 적용
- main.tsx 에서     <RouterProvider router={router} /> 적용

* chore: 불필요한 App.tsx 컴포넌트 삭제

* chore: eol prettier 적용

* [FEAT] 타이머 박스 생성 모달 구현 (#17)

* feat: 포털 렌더링 관리를 위한 GlobalPortal 컴포넌트 추가

* feat: 모달 생성을 위한 modal 커스텀 훅 구현

* feat: GlobalPortal 적용

* feat: 제출 이벤트, 버튼 추가

* feat: uesModal 구조 변경

* feat: Stance, DebateType에 export 추가

* test: useModal 테스트 코드 작성

* feat: 타이머 박스 생성 모달 구현

* feat: 타임 테이블 구성 페이지 피그마 UI에 맞게 구성

* refactor: 불필요한 테스트 파일 삭제

* test: 타임 테이블 구성 페이지 스토리북 작성

* test: 타임 테이블 구성 페이지 테스트 코드 작성

* refactor: params변경에 따른 수정

* test: GlbalPortal 추가

* chore: chromatic 추가

* fix: 파일명에 불필요한 공백 제거

* chore: 크로매틱 배포 토큰 변경

* [FEAT] 로그인 페이지 구현 (#24)

* feat: 로그인 페이지 전체 레이아웃

* feat: 로그인 버튼 구현

* feat: 닉네임 별 페이지 목록 페이지 라우팅 설정

* refactor: scale 효과 추가 및 font 굵기 조절

* refactor: tailwind css 가독성 향상 및 개선

* refactor: LinkButton 재사용성 향상
- url과 title을 props로 넘김

* chore: eslint 자동 정렬 설정

* chore: LoginPage eslint 자동 정렬 적용

* refactor: input placeholder 가독성 향상을 위해 글꼴 색깔 변경

* [FEAT] 테이블 목록화면 구현 (#26)

* feat: TableListPage 와이어 프레임 구현

* refactor: grid 가운데 정렬 및 gap 추가

* feat: Table 컴포넌트 구현

* feat: AddTable 컴포넌트 구현
- 클릭 시 새로운 토론 생성

* feat: TableProps 추가

* 페이지 테이블 모달 구현

* refactor: 모달 와이어프레임 구현

* feat: 토론 시간 이름 및 토론 유형 UI 구현

* feat: 토론 유형 선택 토글 구현

* refactor: 토론 유형 토글 선택 기능 구현

* refactor: 토론 유형 토글 컴포넌트로 분리

* style: UI 색상 변경
- amber-500

* feat: CreateTableButton 컴포넌트 구현
- 테이블 만들기 버튼 클릭 시 '/' 로 이동

* refactor: Table 컴포넌트 라우팅 적용

* chore: dummy data 제거

* chore: dummy data 주석처리

* chore: dummy data 추가

* refactor: TableProps 타입 분리

* refactor: 닫기 버튼 가독성을 위해  위치 변경 및 크기 변경

* refactor: ModalProps 타입 분리

* chore: Table 컴포넌트에 시간 단위 '분' 추가

* refactor: Modal props 컴포넌트 안에 배치

* refactor: useModal 훅에 esc 닫는 기능 추가

* refactor: useModal 적용하여 기존 모달 리팩토링

* refactor: 모달 닫기 버튼 사이즈 변경

* refactor: TimerCreationContent Padding 증가

* refactor: Modal 닫기 버튼 위치 조정 및 사이즈 변경

* refactor: TableProps 분리 제거

* refactor: Modal 컴포넌트를 ModalWrapper 감싸기

* refactor: responsive Table UI 로 리팩토링

* refactor: responsive Modal UI 리팩토링

* refactor: Table 타입 분리 및 Type네이밍 변경

* [FIX] 타임 테이블 구성 페이지 피드백 사항 반영 (#29)

* fix: 텍스트를 더 자세하게 수정

* feat: 최상단 컴포넌트에 GlobalPortal추가

* fix: 하단 버튼에 main의 content가 가려지던 문제 수정

* refactor: formatSecondsToMinutes 반환 값 변경

* feat: 선택 진영에 따라 모달 제목 텍스트 색상 변경

* feat: input을 select로 변경

* feat: stace에 따른 색상 변경 함수 구현

* feat: debateType가 중립일 경우 stance을 값을 빈문자열로 표시

* feat: input Numer의 leading zero삭제

* feat: 초기값을 이전 설정한 값으로 설정되게 변경

* feat: stace가 중립일 speakerNumber 수정 불가능하게 변경

* feat: 이전 데이터가 중립일 경우 debateType이 이전 데이터를 반영하지 않도록 변경

* [TEST] 테이블 목록 컴포넌트 Storybook 테스트코드 구현 (#35)

* test: Table 컴포넌트 Storybook 구현

* test: TableListPage 페이지 Storybook 구현

* test: DropdownForDebateType 컴포넌트 Storybook 구현

* fix: test 코드 통과를 위해 코드 h2 tag 수정

* [FEAT] 테이블 조회 화면 구현 (#34)

* refactor: PropsAndConsTitle의 재사용에 따른 폴더 위치 변경

* feat: 테이블 선택 페이지 기본 레이아웃 구현

* fix: footerWrapper을 flex정렬 방향 변경

* refactor: FixedFooterWrapper position 속정 변경에 따른 컴포넌트 명 수정

* feat: TableOverview 라우터 추가

* test: TableOverview 스토리북 작성

* test: PropsAndConsTitle의 위치 변경

* feat: 불필요한 주석 제거

* feat: 버튼 text 수정

* test: MemoryRouter추가

* fix: 사용되지 않은 getStanceColor 수정

* [CHORE] API 처리를 위해 패키지 추가 (#39)

* chore: Added API-related packages to the project

* chore: Added and modified codes for API

- 가상 API 사용을 위한 msw 관련 파일 추가
- TanStack Query 및 msw 대응하여 main.tsx 수정

* chore: Let msw only enabled on 'dev-mock' mode

* chore: Added one blank line at end of package.json

* chore: Added EOL at end of environment variable files

* [FEAT] 테이블 수정 및 삭제 구현 (#44)

* chore: 수정 및 삭제 아이콘을 위해 react-icons 추가

* feat: Table 컴포넌트에 Icons 추가

* feat: implement handleDelete method

* feat: implement EditModalButton to edit Tables

* refactor: stopPropagation method with MouseEvent 추가
- 버튼 클릭 이벤트가 상위로 전파되는 것을 막기 위해서 추가함

* feat: Edit 버튼 눌렀을 때, CreateTableModal 나오게 구현

* chore: unused closeModal function 삭제

* feat: Table 삭제를 위해 DeleteModalButton 구현

* feat: EditTableModal 구현

* feat: EditTableButton 구현
- 이후 수정 RestAPI 로직 추가 필요

* refactor: Edit 관련 컴포넌트에 name 매개변수 추가

* refactor: DebateTable 타입에 extends하여 delete 타입 추가

* refactor: 토론 유형 수정 불가

* refactor: 토론유형 hover: curser-not-allowed 추가

* refactor: handleDelete 함수형 업데이트로 수정

* refactor: EditTableButton 컴포넌트에 closeModal 매개변수 추가

* fix: TableListPage 테스트코드 수정

* [FEAT] 타임박스에 수정 및 삭제 UI 추가 (#42)

* chore: 수정, 삭제 아이콘 이용을 위한 react-icons 추가

* style: 컴포넌트 간의 간경을 더 좁게 수정

* feat: 수정, 삭제 버튼을 합친 EditDeleteButtons 컴포넌트 구현

* style: 분기에 따른 컴포넌트의 높이를 동일하게 수정

* feat: 수정, 삭제 handler 함수 작성

* refactor: 가독성을 위해 중첩된 삼항연산자 분리

* feat: 삭제 버튼 클릭 시, 삭제 확인 모달 구현

* feat: EditDeleteButtons에 aria-label 추가

* test: EditDeleteButtons 스토리북 코드 작성

* feat: TableSetup 테스트에 수정, 삭제 기능 테스트 추가

* [FEAT] API 요청 관련 기능 구현 (#45)

* feat: Added API mocking handler

* feat: Implemented API request logics

- 추가로, BE API 명세서의 반환 예시에 맞추어 일부 변수 이름을 수정

* refactor: Applied some minor changes

- URL 생성 함수가 슬래시(/)를 여러 개 포함하는 문제 수정
- 모든 API 함수를 apis.ts에 통합 (추후 메소드 많아지면 분리)

* feat: Let msw handler catch arguments

그 외 변경사항으로, API 함수들에서 경로 매개변수(path parameters)가 생략되어 있었던 문제를 해결

* refactor: 주석 추가

* fix: DebateTable 인터페이스 변경에 따른 일부 오류 수정

* feat: Added string identifier for 'useQuery' function

---------

Co-authored-by: jaeml06 <jaeml0630@gmail.com>

* [FEAT] 타임박스의 수정을 드래그앤드롭으로 변경하는 기능 구현 (#47)

* feat: 이벤트 발생 비용 감소를 위한 useThrottle 작성

* faet: 타임박스 드래그앤 드롭을 위한 useDragAndDrop 구현

* feat: 타임박스에 드래그앤드롭 영역 지정

* feat: TableSetup에 드래그앤 드롭 선언

* refactor: 불필요한 주석 삭제

* fix: 병합과정에서 발생한 오류 수정

* [CHORE] storybook에 전역적인 decorators 설정 추가 (#50)

* chore: 라우터, GlobalPortal설정을 전역 설정에 decorators로 추가

* chore: storybook에 msw 설정 추가

* [FEAT] 타이머 화면 구현 (#58)

* feat: Implemented TimerPage

* feat: Applied sound effect

And applied minor design changed

* refactor: Let TimerComponent change TimerPage's background

* fix: NEUTRAL 항목에 불필요한 아이콘 뜨는 오류 수정

* feat: Added keyboard event listener on Timer

* fix: 토론 순서 조작 시 발생하는 인덱스 초과 오버플로우 해결

* feat: 피드백에 따른 디자인 변경 사항 반영

* feat: Added loading and error screen on TimerPage

* feat: Applied feedbacks from PR

* fix: 타이머가 현재 debateInfo의 index를 불러오지 못하는 오류 수정

* refactor: 콘솔 로깅 비활성화

* fix: Storybook 출력되지 않는 문제 수정

- use-sound 패키지 제거하고 HTML 태그로 소리 출력
- 별도 컴포넌트를 거치지 않고 직접 gif 파일을 불러와 출력

* refactor: Removed unnecessary codes and comments

* refactor: Hoisted all data and functions to the root page

* fix: Cleared focus on button when space bar pressed

* [FEAT] `ErrorBoundary` 도입 (#65)

* feat: ErrorBoundary 도입

* feat: Wrapped router with ErrorBoundaryWrapper

* feat: Enabled 'throwOnError' option on QueryClient

* feat: Added refresh button on ErrorPage

* refactor: Applied feedbacks from PR review

- Declared string constants for ErrorBoundary
- Set icon size on 'size' parameter instead of TailwindCSS 'className'

* [FEAT] API 연결과 테이블 생성과 수정을 위해 funnel 패턴을 이용하여 멀티 스텝 폼 구현 (#57)

* fix: 응답 타입을 문서에 맞게 수정

* feat: Agenda 타입 추가

* feat: 테이블을 추가하는 api 훅 추가

* feat: 테이블을 삭제하는 api 훅 추가

* feat: 사용자를 추가하는 api 훅 추가

* feat: 의회식 토론을 수정하는 api 훅 추가

* feat: 토론 리스트를 가져오는 api 훅 추가

* feat: 의호식 토론 정보를 가져오는 api 훅 추가

* style: 컴포넌트간의 간격 추가

* feat: multi-step form 구현을 위한 useFunnel 작성

* feat: multi-step form동안에 새로고침시에도 상태 유지를 위한 useBrowserStorage 구현

* feat: DropdownForDebateType의 로직 변경

* feat: 멀티 스텝을 이용한 방식으로 수정으로 인한 생성 모달, TableSetupPage를 변경

* feat: 테이블 생성과 수정을 위한 멀티 스텝 폼, TableComposition 구현

* feat: 테이블 form 정보 커스텀 훅 구현

* feat: 로그인 페이지에 상태와 api훅 추가

* fix: 타임박스 ui 버그 수정

* feat: 멀티 스텝 폼을 위해 TableSetupPage의 commponents 파일 이동

* feat: 테이블 수정을 모달에서 멀티스텝 폼 변경으로 인한 수정

* refactor: 더미 데이터 제거

* feat: composition 라우터 추가

* fix: 응답값에 맞게 msw 수정

* feat: 테이블 조회에 api 훅 추가

* refactor: 모달에서 멀티스텝폼 변경으로 인한 컴포넌트 명 변경

* fix: agenda와 type의 혼동으로 type 문제 수정

* fix: TableComposition 구현으로 인한 불필요한 파일 삭제

* fix: Type 타입을 영어로 수정

* fix: import 경로 수정

* feat: 테스트 mock을 위한 vitest 설정

* test: TableComposition 구현으로 인한 수정사항 반영

* feat: 버튼에 aria-label 추가

* chore: storybook msw 사용가능하게 설정 추가

* fix: stace 오타 변경

* test: storybook 경로 변경

* test: TableCompositon 스토리북 코드 작성

* fix: TableSetup삭제로 인한 라우터 변경

* chore: cleanup 함수 추가

* feat: 인터페이스 명 수정

* refactor: 한글에서 영어로 상수 변경

* refactor: NEUTRAL Stance 타입 변경

* refactor: typeMapping을 constants로 분리

* refactor: DebatePanel의 DebateTypeToString 수정

* refactor: type 값을 영어 상수로 변경

* [CHORE] 배포 파이프라인 자동화 구축 (#60)

* feat: useMutation 사용하여 restAPI post요청 구현

* refactor: useLoginUser 훅으로 분리

* chore: setting Up a Deployment Automation Pipeline

* chore: cd 파일 pr branch 명 변경

* fix: 불필요한 코드 지우기

* build: 패키지 매니저 변경

* build: pr types 추가

* fix: handleLogin 에 '/table' 경로로 라우팅 추가하여 test코드 통과

* fix: 올바른 test코드 위한 수정

* fix: mockServiceWorker 에서 불필요한 코드 삭제

* fix: mockServiceWorekr 필요없는 코드 삭제

* fix: 오류 해결을 위해 build 다시 생성

* fix: eslintignore 와 stylelintignore 설정을 통해 불필요한 검사 제외

* chore: gitignore 에 /dist 추가하여 빌드파일 제외

* chore: stylelintignore eol 추가

* chore: .eslintignore 삭제 및 eslint.config.js 파일 안 ignore 추가

* chore: dist 디렉토리 삭제

* chore: CD 파일에 pr types 에 'synchronize', 'reopened' 제거

* fix: 병합과정에 충돌 오류 수정

---------

Co-authored-by: jaeml06 <jaeml0630@gmail.com>

* hotfix: 에러바운더리 코드가 삭제된 것에 대한 반영 (#69)

* [REFACTOR] 타이머 기능 개선 외 (#66)

* refactor: Applied several changes

- Changed interval to 1000 ms (1 sec)
- Added function that changes background to remove duplication of same codes
- Removed isRunning not necessary

* feat: Made TimerPage be able to catch parameters

* fix: Recovered deleted ErrorBoundary related files

* fix: Set icon size on 'size' argument instead of 'className'

* refactor: Separated loading component to page

* refactor: Applied several changes

- Moved TimerLoadingPage to /src/TimerPage from /src/TimerPage/component
- Set css file to print CR/LF correctly
- Changed 'useQuery' to 'useGetParliamentaryTableData' hook

* refactor: Deleted unneccesary codes

* [FEAT] 닉네임 기반 로그인 구현 (#71)

* feat: 로그인 시, memberId를 반환하도록 변경

* feat: memberId를 session 스토리지에 저장하도록 util 함수 작성

* fix: currentStep을 영문으로 변경

* feat: 정적으로 선언되 memberId를 스토리지에서 가져오도록 변경

* refactor: route.tsx 위치를 routes 폴더로 변경

* feat: ProtectedRoute 구현

* feat:  ProtectedRoute 적용

* refactor: routes위치 변경에 따른 import 수정

* feat: 토론하기 클릭 시, TimerPage 연결

* refactor: 라우터 변경에 따른 수정사항 반영

---------

Co-authored-by: Shawn Kang <77564014+i-meant-to-be@users.noreply.github.com>

* [FEAT] 추가 작전 시간 타이머 구현 외 (#77)

* feat: Changed API base url to deployed server

* feat: Implemented AdditionalTimerComponent

* fix: Recovered horizontal padding of useModal wrapper

* feat: Deleted top margin of AdditionalTimerSummaryItem

* fix: Fixed linting errors

* fix: Removed hard-coded URL on source codes

* fix: Make app get server URL from .env file

* chore: Deleted .env files

* chore: Updated .gitignore file to ignore .env files

* [CHORE] 배포 최적화 및 배포 환경 구분 (#82)

* chore: Separated deploy environments and variables

* chore: Applined vite-plugin-compressions2 to compress builds

* chore: Changed job name

* fix: Added quotes on target path of Cloudfront cache invalidation

* chore: Changed web page title

* chore: Removed compression-related packages and codes

* [CHORE] main 브랜치로 배포 (#87) (#97)

* Update issue templates

* docs: 파일명 수정

* docs: PR 템플릿 생성 (#2)

* docs: 자동 issue 설정 할당

* docs: 불필요한 주석 제거

* docs: 이슈 프로젝트 권한 추가

* docs: 자동할당 로직 변경

* feat: 권한 문제로 자동 Project할당 제거

* docs: PR 자동할당 yml 작성

* docs: 불필요한 Project 정보 제거

* docs: Discord comment 알림 yml 작성

* chore: 프로젝트 초기 세팅

* chore: prettier 설정 추가

* feat: 3개의 영역으로 구분된 header(StickyTriSectionHeader) 구현

* feat: 하단에 고정되어 있는 footer wrapper 구현

* feat: main 레이아웃 구현

* feat: 중첩 컴포넌트로 기본 레이아웃 구현

* design: layout의 ContentContanier 가운데 정렬 추가

* design: layout의 ContentContanier padding 추가

* feat: PropsAndConsTitle 구현

* feat: TimerCreationButton 구현

* feat: 테이블 타입 작성

* feat: 초를 분, 초로 포맷팅하는 함수 구현

* feat: DebatePanel 구현

* feat: 테이블 구성 페이지 초기 UI rngus

* feat: Pretendard 웹폰트  추가

* chore:  storybook 설정 추가

* test: DebatePanel 스토리 북 작성

* test: PropsAndConsTitle 스토리북 테스트 작성

* test: TimerCreationButton 스토리북 테스트 작성

* fix: 파일명에 불필요한 공백 제거

* [FEAT] 페이지 라우팅 적용 (#22)

* chore: install react-router-dom

* feat: App.tsx와 main.tsx 에서 라우팅 설정

* refactor: createBrowerRouter 방식 적용
- router.tsx 파일 생성하여 라우터 적용
- main.tsx 에서     <RouterProvider router={router} /> 적용

* chore: 불필요한 App.tsx 컴포넌트 삭제

* chore: eol prettier 적용

* [FEAT] 타이머 박스 생성 모달 구현 (#17)

* feat: 포털 렌더링 관리를 위한 GlobalPortal 컴포넌트 추가

* feat: 모달 생성을 위한 modal 커스텀 훅 구현

* feat: GlobalPortal 적용

* feat: 제출 이벤트, 버튼 추가

* feat: uesModal 구조 변경

* feat: Stance, DebateType에 export 추가

* test: useModal 테스트 코드 작성

* feat: 타이머 박스 생성 모달 구현

* feat: 타임 테이블 구성 페이지 피그마 UI에 맞게 구성

* refactor: 불필요한 테스트 파일 삭제

* test: 타임 테이블 구성 페이지 스토리북 작성

* test: 타임 테이블 구성 페이지 테스트 코드 작성

* refactor: params변경에 따른 수정

* test: GlbalPortal 추가

* chore: chromatic 추가

* fix: 파일명에 불필요한 공백 제거

* chore: 크로매틱 배포 토큰 변경

* [FEAT] 로그인 페이지 구현 (#24)

* feat: 로그인 페이지 전체 레이아웃

* feat: 로그인 버튼 구현

* feat: 닉네임 별 페이지 목록 페이지 라우팅 설정

* refactor: scale 효과 추가 및 font 굵기 조절

* refactor: tailwind css 가독성 향상 및 개선

* refactor: LinkButton 재사용성 향상
- url과 title을 props로 넘김

* chore: eslint 자동 정렬 설정

* chore: LoginPage eslint 자동 정렬 적용

* refactor: input placeholder 가독성 향상을 위해 글꼴 색깔 변경

* chore: lint와 test를 넣은 CI yml 파일 작성 (#27)

* [FEAT] 테이블 목록화면 구현 (#26)

* feat: TableListPage 와이어 프레임 구현

* refactor: grid 가운데 정렬 및 gap 추가

* feat: Table 컴포넌트 구현

* feat: AddTable 컴포넌트 구현
- 클릭 시 새로운 토론 생성

* feat: TableProps 추가

* 페이지 테이블 모달 구현

* refactor: 모달 와이어프레임 구현

* feat: 토론 시간 이름 및 토론 유형 UI 구현

* feat: 토론 유형 선택 토글 구현

* refactor: 토론 유형 토글 선택 기능 구현

* refactor: 토론 유형 토글 컴포넌트로 분리

* style: UI 색상 변경
- amber-500

* feat: CreateTableButton 컴포넌트 구현
- 테이블 만들기 버튼 클릭 시 '/' 로 이동

* refactor: Table 컴포넌트 라우팅 적용

* chore: dummy data 제거

* chore: dummy data 주석처리

* chore: dummy data 추가

* refactor: TableProps 타입 분리

* refactor: 닫기 버튼 가독성을 위해  위치 변경 및 크기 변경

* refactor: ModalProps 타입 분리

* chore: Table 컴포넌트에 시간 단위 '분' 추가

* refactor: Modal props 컴포넌트 안에 배치

* refactor: useModal 훅에 esc 닫는 기능 추가

* refactor: useModal 적용하여 기존 모달 리팩토링

* refactor: 모달 닫기 버튼 사이즈 변경

* refactor: TimerCreationContent Padding 증가

* refactor: Modal 닫기 버튼 위치 조정 및 사이즈 변경

* refactor: TableProps 분리 제거

* refactor: Modal 컴포넌트를 ModalWrapper 감싸기

* refactor: responsive Table UI 로 리팩토링

* refactor: responsive Modal UI 리팩토링

* refactor: Table 타입 분리 및 Type네이밍 변경

* [TEST] 로그인 페이지 Storybook 테스트코드 구현 (#31)

* feat: TableListPage 와이어 프레임 구현

* refactor: grid 가운데 정렬 및 gap 추가

* feat: Table 컴포넌트 구현

* feat: AddTable 컴포넌트 구현
- 클릭 시 새로운 토론 생성

* feat: TableProps 추가

* 페이지 테이블 모달 구현

* refactor: 모달 와이어프레임 구현

* feat: 토론 시간 이름 및 토론 유형 UI 구현

* feat: 토론 유형 선택 토글 구현

* refactor: 토론 유형 토글 선택 기능 구현

* refactor: 토론 유형 토글 컴포넌트로 분리

* style: UI 색상 변경
- amber-500

* feat: CreateTableButton 컴포넌트 구현
- 테이블 만들기 버튼 클릭 시 '/' 로 이동

* refactor: Table 컴포넌트 라우팅 적용

* chore: dummy data 제거

* chore: dummy data 주석처리

* chore: dummy data 추가

* refactor: TableProps 타입 분리

* refactor: 닫…
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

deploy develop에서 main으로의 배포

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

4 participants