Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FIX] 검색 픽 중복 표시 #518

Merged
merged 1 commit into from
Nov 21, 2024
Merged

[FIX] 검색 픽 중복 표시 #518

merged 1 commit into from
Nov 21, 2024

Conversation

dmdgpdi
Copy link
Collaborator

@dmdgpdi dmdgpdi commented Nov 21, 2024

What is this PR? 🔍

  • 기능 :
    최초 로드시에 픽 중복 검색 막았습니다.
    디자인의 경우 다른 곳을 먼저 변경한 뒤에 검색 작업이 수행됩니다.
  • issue : [bug] 검색 픽 표시 버그 #517

Changes 📝

Precaution

@dmdgpdi dmdgpdi self-assigned this Nov 21, 2024
@dmdgpdi dmdgpdi added frontend 프론트 관련 fix 🔥 bug 수정을 포함한 변경 사항 labels Nov 21, 2024
Copy link
Collaborator

@kimminkyeu kimminkyeu left a comment

Choose a reason for hiding this comment

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

LGTM

@dmdgpdi dmdgpdi merged commit d962b1c into frontend Nov 21, 2024
1 check passed
dmdgpdi added a commit that referenced this pull request Nov 22, 2024
* chore: 세팅중인 상태

* fix: vanilla-extract 설정 변경

* fix: storybook 실행 안되는 오류 해결

@chromatic-com/storybook이 문제였음.

* chore: storybook tset 확인

* chore: eslint 예외 추가

* chore: eslint, prettier 설정

* chore: DS_Store ignore

* chore: husky 테스트

* chore: husky 적용 중

* chore: husky 적용

* chore: 테스트용 컴포넌트 삭제

* chore: jest 적용

* chore: ts를 devDependencies로 이동

* chore: sample test 파일 삭제

* chore: add files to gitignore

* chore: vscode setting 추가

* chore: playwright example test code 삭제

* chore: e2e test github action 추가

* fix: action 오타 수정

* fix: 깃허브 액션 오타 수정

* chore: add corepack

* chore: 실행 순서 변경

* chore: browser 설치

* chore: playwright-report path 변경

* chore: �액션 if문 제거

* fix: 액션 탭 간격 변경

* chore: github action 테스트를 위한 싶패 테스트

* chore: 항상 report를 뽑을 수 있게 변경

* chore: github action 테스트를 위한 성공 테스트

* chore: vanilla-extract storybook 적용

* chore: 프로젝트 세팅을 위한 필요없는 파일 없애기

* chore: playwright yarn script 추가

* chore: react-hot-toast 적용

* feat: 깃허브 액션 테스트용 PR (#4)

* chore: 세팅중인 상태

* fix: vanilla-extract 설정 변경

* fix: storybook 실행 안되는 오류 해결

@chromatic-com/storybook이 문제였음.

* chore: storybook tset 확인

* chore: eslint 예외 추가

* chore: eslint, prettier 설정

* chore: DS_Store ignore

* chore: husky 테스트

* chore: husky 적용 중

* chore: husky 적용

* chore: 테스트용 컴포넌트 삭제

* chore: jest 적용

* chore: ts를 devDependencies로 이동

* chore: sample test 파일 삭제

* chore: add files to gitignore

* chore: vscode setting 추가

* chore: playwright example test code 삭제

* chore: github action 테스트를 위한 싶패 테스트

* chore: github action 테스트를 위한 성공 테스트

* chore: vanilla-extract storybook 적용

* chore: 프로젝트 세팅을 위한 필요없는 파일 없애기

* chore: playwright yarn script 추가

* chore: react-hot-toast 적용

---------

Co-authored-by: Jason <[email protected]>

* chore: 프로젝트 구조 세팅 (#11)

* chore: 필요없는 파일 제거

* fix: 파일명 오타 수정

* feat: 기본 디렉토리 추가

* chore: yarn set version berry (#12)

* chore: 깃허브 액션 변경

* feat: 모노레포 분리 (#28)

* chore: 서비스 디렉토리 이동

* chore: eslint 적용중

* fix: eslint 설정

* chore: extension 프로젝트 세팅 중 husky 충돌

* fix: pre-commit 동작 수정

* chore: backup

* chore: backup

* chore: backup2

* chore: setting

* chore: ignore 설정

* chore: husky 설치

* chore: monorepo로 변경된 뒤 액션 변경

* chore: husky 설치

---------

Co-authored-by: Jason <[email protected]>

* chore: 폴더명 변경에 따른 액션 변경

* chore: 폴더명 변경 (#37)

* Front/feat/#35 (#40)

* chore: 폴더명 변경
* build: 크롬 익스텐션 빌드 설정
* feat: css 파일 제거
* build: 파일 수정시마다 build되는 스크립트 추가
* chore: 의존성 설치
@tanstack/react-query, @vanilla-extract/css, react-router-dom, zustand
* feat: 디렉토리 생성
* feat: router 추가
* feat: react-query provider 설정
* feat: vanilla-extract 세팅

* feat: 현재 탭에서 데이터 가져오기 (#50)

* feat: 북마크 페이지 생성
* chore: 절대경로 수정
* build: build시에는 빌드를 한번하게 변경
* feat: 새로운 링크로 이동할 시 og image가져오는 동작 추
* feat: tab 열 때 마다 og image 가져오기
* refactor: 쓰지 않는 코드 제거
* chore: 주석 제거
* feat: 파비콘 가져오기
* feat: 서비스워커를 이용해서 동작하는 것으로 변경
* refactor: useGetTabInfo hook으로 분리
* refactor: background.ts 제거
* feat: og:description 가져오기
* chore: 쓰지 않는 상수 제거

* feat: 페이지 기본 요소 렌더링 (#52)

* chore: init

* design: theme 설정

* design: dirView 구조 정의

* chore: downgrade version - yarn 4.3.1 / typescript 5.5.4

* feat: react-arborist 적용 및 테스트 완료

* feat: 디렉토리 구성 및 아이콘 추가

* chore: use-resize-observer 라이브러리 추가

* design: tree 높이 동적 조절되도록 수정

* feat: 우측 view에 folder 및 link 표시

* chore: 컴포넌트 분리

* chore: 불필요한 주석 제거

* chore: 4.3.1 cjs 추가

* refactor: pr 수정요청사항 적용

* chore: import 수정

* chore: index.ts 추가

* chore: index.ts 추가

* chore: conflict 해결

* refactor: barrel exports pattern 적용

* refactor: icon export 처리

* refactor: directoryNode export 처리

* refactor: icon 이동

* refactor: icon을 public으로 이동

* chore: 불필요한 index 제거

* chore: 이름 변경

* chore: 이름 변경

* chore: 이름 변경

* chore: 이름 변경

* chore: 이름 변경

* [FEAT] 익스텐션 태그 인풋 핵심 로직 구현 (#126)

* feat: 북마크 페이지 생성
* chore: 절대경로 수정
* build: build시에는 빌드를 한번하게 변경
* feat: 새로운 링크로 이동할 시 og image가져오는 동작 추가
* feat: tab 열 때 마다 og image 가져오기
* refactor: 쓰지 않는 코드 제거
* chore: 주석 제거
* feat: 파비콘 가져오기
* feat: 서비스워커를 이용해서 동작하는 것으로 변경
* refactor: useGetTabInfo hook으로 분리
* refactor: background.ts 제거
* feat: og:description 가져오기
* chore: 쓰지 않는 상수 제거
* feat: cmdk 적용
* feat: 현재 선택한 태그가 보이도록 변경
* feat: 비동기 호출 흉내내서 라벨 데이터 가져오기
* chore: immer 설치
* feat: tagStore CRUD 구현
* chore: lucide icon 설치
* feat: deselect button ui 추가
* feat: deselect 기능 추가
* feat: SelectedTag ui 개선
* chore: todo 주석 제거
* feat: 동일한 태그가 없을 때 생성 아이템 추가
* feat: 태그 생성 로직 구현
* chore: 폴더 변경
* feat: TagInfoPopover 간단한 UI 구현
* feat: tag update 기능 추가
* chore: tagStore 폴더 변경
* chore: @radix-ui/react-dialog 설치
* chore: showDeleteTagDialogButton 파일 변경
* feat: DeleteTagDialog 상태 관리 구현
* chore: 다음 작업에 할 Todo 내용 추가
* feat: DeleteTag 관련 컴포넌트 구현
* chore: Command.Dialog css 변경
* refactor: useEffect내 함수 기명함수로 변경
* refactor: 분리되어있던 컴포넌트 SelectedTagItem폴더로 이동
* chore: components 에서 ui로 폴더명 변경
* refactor: TagInput컴포넌트에서 TagSelectionDialog컴포넌트 분리
* refactor: TagInput에서 TagPicker로 컴포넌트명 변경
* refactor: TagAutocompleteDialog로 컴포넌트명 변경
* refactor: TagPicker css명 변경
* refactor: css classname 변경
* refactor: 분리되어있던 css 합치기
* refactor: onSelectTag함수로 반복되는 함수 호출 합침
* refactor: 문자열 상수로 변경
* chore: 주석 추가
* feat: enter키 입력시 popover 켜지게 변경
* refactor: PopoverTriggerButton으로 분리
* chore: 사용하지 않는 index.ts 제거
* chore: 폴더명 components에서 ui로 변경
* chore: 폴더명 변경
* chore: tsbuildinfo update
* chore: 폴더 위치 이동
* chore: 폴더 이동
* chore: git pull frontend
* chore: todo 주석 추가

* [FEAT] Drag&Drop 구현: Directory (#117)

* test: mockdata 동적 생성

* chore: react-dnd, react-dnd-html5-backend 추가

* feat: dragDropManager 적용

* feat: dragDropManager 적용

* feat: Drag&Drop 시 mockData도 변경되도록 수정

* feat: treeData를 전역 상태로 관리

* design: LinkEditorSection 렌더링 요소 변경

* design: hover 시 음영 추가

* refactor: type 변경

* feat: 현재 위치에 폴더가 없으면 표시하지 않도록 변경

* fix: 아래로 이동 시 한칸씩 밀리는 버그 수정

* feat: FolderSection에 dnd 적용

* feat: LinkEditorSection 에서 DirectoryTreeSection 으로 Folder Drag and Drop 가능

* fix: DirectorySection에서 동일 부모의 자식 간 순서 변경 시 폴더를 아래쪽으로 이동할 경우 두칸씩 움직이는 문제 해결

* feat: DirectorySection에서 Folder를 이동 시 폴더 사라지는 로직 추가

* feat: LinkEditorSection에서 Pick Dnd 가능

* refactor: 중복 코드 hook으로 분리

* refactor: 이름 변경

* refactor: 이름 변경

* design: Lucid Icon 적용

* refactor: 중복 코드 제거

* chore: marged branch frontend

* chore: yarn cache clean and re-installed

* [FEAT] 우측으로 dnd 작업 가능 (#145)

* design: theme 변경시 icon 색상도 변경되도록 수정

* feat: LinkEditorSection 상단에 Directory Name 동적 변화

* design: 선택된 항목 강조 표시

* fix: DirectorySection 내부에서 dnd 작업 시 우측에도 반영되도록 수정

* fix: DirectorySection 내부에서 dnd 작업 시 우측에도 반영되도록 수정: 순서 변경 적용

* fix: DirectorySection 내부에서 dnd 작업 시 우측에도 반영되도록 수정: 순서 변경 적용

* fix: 순서 변경 시 인덱스 오차 수정

* feat: 폴더 클릭 시 해당 폴더로 이동

* fix: 내부에 요소가 없으면 빈 화면 표시

* feat: 좌측->우측 dnd 가능

* fix: 최초 로드 시 treeApi를 받아오지 못하는 문제 해결

* �[FEAT] .env 파일 설정 및 서버와 연결 확인 (#158)

* feat: 환경변수로 도메인 저장
* feat: 간단한 login 페이지 생성 및 .env파일 세팅

* �[FEAT] 크롬 익스텐션 로그인 링크 페이지 구현 (#167)

* build: dev 모드, production 모드에 따라 환경변수 주입
* build: build시에 manifest.json에 환경변수 주입
* fix: mode에 따른 환경변수 주입
* fix: script 오타 수정
* chore: ky 종속성 설치
* feat: ky를 이용한 baseApi 생성
* feat: 로그인 여부 파악 후 페이지 렌더링
* chore: tsbuildinfo 삭제
* chore: 주석 제거
* feat: Text 컴포넌트 구현
* feat: Button 컴포넌트 구현
* feat: 로그인 링크 페이지 구현
* feat: 상수로 적용
* fix: 상수대신 .env 직접 적용
- 해당 코드에서 에러가 생겨서 추후 수정할 예정
* chore: 주석 추가

* [FEAT] Swagger의 api-doc을 이용한 type 생성 (#177)

* feat: type 생성
* chore: root의 ts version 원상 복구

* [CI] 프론트엔드 서버 배포 스크립트 (#202)

* 🚀 프론트 서버 배포 설정

* 🚀 프론트 브랜치와 연결

* 🚀 docker image 빌드 전 환경변수 생성(for next build)

* build: 필요하지 않은 github action script 제거

* fix: cd script 원상 복구

---------

Co-authored-by: dmdgpdi <[email protected]>

* [FEAT] 북마크 생성 페이지 디자인 및 태그 API 연결, (#210)

* chore: 북마크 페이지 폴더 내로 이동

* feat: 북마크 페이지 기초적인 레이아웃 설정

* refactor: BookmarkHeader 컴포넌트 분리

* feat: Gap 컴포넌트 구현

* feat: Gap 컴포넌트 default값 변경

* feat: 북마크 페이지 style 분리

* feat: ogImage 가져오기

* feat: ThumbnailImage 컴포넌트 구현

* feat: 이미지 로딩 시 애니메이션 적용

* chore: 주석 제거

* refactor: ThumbnailImage 컴포넌트 수정

* feat: input tag css 적용

* feat: TagPicker tab 및 focus 애니메이션 적용

* refactor: onKeyDown 함수 뺴기

* chore: 인풋 값 확인

* feat: 위, 아래 화살표에 따라 focus를 변경하는 hook 생성

* feat: 화살표따라 탭 포커스 이동 적용

* feat: props에 따라 고정된 속성 제공

* chore: SelectedTagListLayout 폴더 이동

* feat: 공통 스타일 적용

* feat: SelectedTagList의 스타일 추가

* chore: 간단한 색 변경

* chore: 필요없는 data-desc 제거

* feat: 팝오버 버튼 tab 이동 막기, 엔터 키 제거

* chore: style 변경

* feat: 태그픽커 및 다이얼로그에 style 적용

* feat: radix-ui popover 를 floating-ui로 대체

* feat: 팝오버 버튼 디자인 구현

* feat: 태그 삭제 모달 디자인 추가

* feat: tag 목록이 길 때 스타일 변경

* �chore: 스크롤바 제거 globalStyle에 적용

* feat: 선택한 라벨 높이에 따라 commandListHeight 변경

* chore: css 제거

* feat: CommandList 로딩 화면 추가

* chore: randomcolor 라이브러리 설치

* chore: pre-commit command 수정

* fix: pre-commit command 수정

* feat: numberColor 함수 구현 및 태그 생성시 적용

* feat: randomColor style 적용

* chore: type 생성

* fix: 태그 다이얼로그에서 공백 입력시 아무것도 뜨지 않게 변경

* chore: schema를 위한 절대 경로 추가

* feat: 실제 서버의 타입으로 변경

* fix: 태그 리스트가 없을 때, Command.Empty가 보이게 조건문 변경

* fix: �적용되지 않는 함수 제거

* feat: 태그 생성 api 연결

* refactor: 태그 선택 취소 시에 id값만 이용

* feat: delete tag api 연결

* feat: updateTag api 연결

* chore: schema 타입 최신화

* fix: tagName 수정 후 enter key 입력시 모달창 생기는 버그 수정

* feat: 사용하지 않는 CurrentTabInfo 컴포넌트 삭제

* refactor: useGetTabInfo 폴더 이동

* refactor: api 적용을 위해 default value 변경

* fear: create pick api 연결

* chore: react hot toast 라이브러리 설치

* chore: 사용하지 않는 SAMPLE_DATA 제거

* feat: toast 라이브러리 적용

* feat: ApiErrorBody type 선언

* chore: todo 제거

* feat: post api 통신 에러 핸들링 추가

* feat: deleteTag optimistic update 추가

* feat: update tag optimistic update 추가

* refactor: useCalculateCommandListHeight hook으로 분리

* refactor: onSelectCreatableTag 함수 분리

* chore: 쓰지 않는 return 제거

* feat: enter key로 태그 삭제 및 취소 가능

* feat: 간단한 에러 페이지 생성

* feat: 에러 핸들링 추가

* [FEAT] sanitizeHtml에서 DOMPurify로 교체 (#213)

* fix: 런타임 에러 해결(잘못된 변수 접근) (#215)

* [FEAT] 크롬 익스텐션 픽 수정 기능 구현 (#229)

* chore: schema 최신화
* feat: getLinkByUrl api 추가
* feat: useHasLink hook 구현
* chore: API 변경에 따른 type 최신화
* feat: CreatePickForm, UpdatePickForm 분리
* feat: chore: Pick API 변경에 따른 type 최신화
* feat: link api 삭제
* feat: getPickByUrl api 추가
* feat: useHasPick 변경
* chore: ThumbnailImage backgroundColor 변경
* feat: updateForm 구현
* feat: 로딩 상태 시의 Skeleton 구현
* feat: DeferredComponent 구현
* feat: 로딩화면 구현
* chore: 주석 제거

* [FEAT] Backend api 연결 및 ux 미세조정 (#227)

* design: flex wrap 설정

* design: flex wrap 이중 줄바꿈 문제 수정

* feat: 우클릭 시 context menu 표시

* chore: 주석 제거

* chore: alt 이름 변경

* feat: treeRef 추가

* feat: mockData create 가능

* feat: api 연동: create&move

* feat: api 연동: dnd move 동작 확인

* refactor: 핸들러 함수 hook으로 분리

* feat: edit ux 추가 및 arborist node outline 제거

* feat: folder rename 연결 완료

* feat: folder delete(move to recyclebin) 연결 완료

* feat: create 로직 수정

* feat: 초기 로드 시 recycleBin 생성(향후 수정 예정)

* feat: Tree 컴포넌트 추가 전 커밋

* chore: popover Demo 추가

* design: 버튼 및 팝오버 디자인 수정

* feat: 휴지통 붙임:수정예정

* feat: 휴지통 숨김 설정

* design: 전체적인 디자인 미세 조정

* feat: 로그아웃 버튼 추가 및 디렉토리 조정

* feat: client 로그인 검증로직 추가

* design: 로그인 페이지 디자인 추가

* refactor: 폴더 create 로직 수정

* refactor: 폴더 create 로직 수정2

* refactor: 필요없어진 popover제거

* fix: 중첩 폴더 구조에서 폴더 생성 불가한 문제 해결

* design: 에러 토스트 메시지 추가

* refactor: 삭제 로직 수정(id 부여 방식)

* feat: 휴지통에서 폴더 완전삭제 가능

* [FEAT] 익스텐션 테마 적용 (#241)

* feat: theme을 techpick-shared 모노레포로 분리
* feat: theme 적용
* design: 익스텐션 테마 적용
* fix: peerDependencies제거
* design: techpick의 theme을 techpick-shared에 의존하게 변경
* feat: techpick reset.css 수정
* feat: git pull 이후 필요없는 파일 삭제
* feat: theme 동기화

* [FEAT] 카드 컴포넌트 디자인 구현 (#246)

* fix: ky middleware credentials속성 올바르게 적용

* feat: teckpick-service와 동일하게 id 변경

* feat: techpick-shared의 export 추가

* feat: images모든 url을 허용 및 next.config.mjs제거

* chore: 의존성 설치

* chore: @/schema 절대 경로 추가

* chore: portalContainer id 변경

* feat: pickCard 컴포넌트 디자인 및 레이아웃 구현

* feat: TagPicker 컴포넌트 복사

* [FEAT] 버그 수정, 휴지통 복원, context menu, pr 요청사항 적용 (#247)

* fix: 한글 입력시 폴더 두번 생성되는 문제 해결

* fix: 생성중인 폴더가 있을 때, 폴더 추가생성 방지로직 추가

* refactor: 폴더 위치 변경 및 Input 테마 적용

* fix: 노드 클릭 시 2개의 트리 중 한 노드만 focus되도록 수정

* refactor: 프로젝트 디렉토리 및 파일 구조 수정

* refactor: 프로젝트 디렉토리 및 파일 구조 수정2

* feat: recycleBin에서 contextmenu 사용 가능

* feat: recycleBin에서 restore 가능

* refactor: 이전 코드리뷰 comment 반영

* fix: 폴더 생성시 input이 사라지는 문제 수정

* fix: 폴더 삭제 시 우측 화면 업데이트 안되는 문제 수정

* fix: DirectorySection ui 틀어짐 수정

* feat: 휴지통 내부 dnd 가능

* fix: 좌측 디렉토리 절반만 표시되는 문제 수정

* fix: 간격 수정

* fix: 휴지통 dnd 비활성화

* fix: 생성 또는 이름변경 실패 이후 + 버튼클릭 안되는 버그 수정

* feat: 우측 folder contextMenu 이용가능
*버그 수정 필요(recycleBin menu 출력되는 문제)*

* fix: 우측 contextMenu 버그 수정

* fix: 우측 context 수정중

* chore:충돌 방지용 git pull

* [CI] 도커 이미지 build 관련 버그 수정 (#252)

* build: Dockerfile yarn berry 적용 및 필요한 파일 추가
* chore: 주석 변경

* fix: tag 생성 연속 입력 문제 해결 (#257)

* [FIX] 로그인된 상태일 때 메인 페이지로 리다이렉트 (#260)

* [FEAT] unclassified 표시 가능 (#261)

* feat: unclassifiedPicks api 호출 코드 추가

* feat: unclassified 표시됨

* [FEAT] PickCard API 연결 (#266)

* chore: 주석 추가

* feat: PickCard 이미지 스타일 수정

* chore: 쓰지 않는 apis 폴더 삭제

* refactor: 중복된 api middleware 제거

* fix: ky middleware content-type 추가

* feat: getPick api 연결

* design: 디자인 변경

* chore: import 순서 변경

* feat: updatePick api 연결

* feat: selected Tag 태그 삭제시 상태 변경

* chore: 주석제거

---------

Co-authored-by: Jason <[email protected]>

* feat: skelton 적용 (#268)

* feat: skelton 적용

* feat: link 추가 및 tagPicker 동작 수정

* [FIX] 태그 생성 후 창 유지후에 수정 했을 때, 생성한게 추가가 안되는 로직 (#270)

* [FEAT] pick dnd (#272)

* feat: nodeApi로 변환 로직 추가

* fix: 임시 디바운싱 적용

* fix: api 교체

* fix: 간헐적으로 unclassified 안보이는 문제 수정

* feat: pick 휴지통, 복원, 삭제 api 연결완료

* fix: 이름 길어지면 ...으로 표시

* fix: 가상 미분류 폴더 렌더링 방지 처리

* fix: 버그유발 기능 비활성화

* fix: fix

* fix: fix2

* [REFACTOR] 폴더구조 변경 (#308)

* refactor: shared 폴더 제거

* refactor: entities/pick 폴더 제거

* refactor: entities/tag 제거

* refactor: features/tag 제거

* refactor: features/userManagement 제거

* refactor: features/themeManagement 제거

* refactor: features/nodeManagement 제거

* refactor: widgets 제거

* [REFACTOR] import 순서 변경 (#311)

* chore: eslint import 순서 정리
* reafactor: import 순서 변경

* feat: 디자인 토큰 추가

* feat: 디자인 토큰 적용

* feat: �commontThemeContract 삭제

* fix: ThemeProvider 변경사항 적용

* fix: 위치 조정

* [FEAT] 디자인 토큰 추가

* [FEAT] 같은 계층일 때, 폴더 multi select 구현 (#332)

* chore: dnd-kit 설치 및 tree 페이지 생성

* feat: jest 설정추가

* fix: jest monorepo별 적용

* chore: root jest config 삭제

* feat: 같은 부모 밑에서 1개씩 폴더 이동

* design: tree page margin 변경

* test: 복수의 폴더 이동 테스트코트 작성

* feat: 현재 드래그 여부 상태 zustand에 추가

* feat: 폴더 다중 선택 기능 추가

* feat: DragOverlay추가

* design: primary color로 변경

* fix: test문 it.only 제거

* refactor: dndTreeStore에 hasIndex 적용

* [FEAT] 검색창 및 리스트 로직 설계 (#333)

* feat: 검색 위젯 로직 구현

* feat: 유틸리티 클래스 구현 (파싱, 필터링)

* doc: 유틸리티 참고 이미지 및 설명

* feat: zustand, react query 추가

* feat: 뷰포트 리액트 컴포넌트

* refactor: esToolkit import

* refactor: useViewScope 변경

* refactor: useQuery 함수명 파일명 변경

* refactor: useQuery 함수명 파일명 변경

* refactor: Util 함수 리팩토링

* [FEAT] 픽 리스트 - 사용자 설정 필터 & 뷰 템플릿 (#348)

* feat: 검색 위젯 로직 구현

* feat: 유틸리티 클래스 구현 (파싱, 필터링)

* doc: 유틸리티 참고 이미지 및 설명

* feat: zustand, react query 추가

* feat: 뷰포트 리액트 컴포넌트

* refactor: esToolkit import

* refactor: useViewScope 변경

* refactor: useQuery 함수명 파일명 변경

* refactor: useQuery 함수명 파일명 변경

* refactor: Util 함수 리팩토링

* chore: 파일 제거 및 위치 이동

* chore: use-Immer 패키지 추가

* feat: 유틸리티 (Stream, Tokenizer) 리팩토링 및 개선

* chore: 공통 타입 추가 및 일부 변경

* feat: 태그 아이템 UI 컴포넌트 (익스텐션에서 가져옴)

* feat: 최상단 컴포넌트 (뷰어) 및 상태 구현

* test: 쿼리 더미 데이터 추가

* feat: 옵션 리스트 위젯 및 상태 구현

* feat: 검색창 위젯 구현

* feat: 필터 옵션 기능 구현

* feat: 뷰 템플릿 (리스트 vs 그리드) 옵션 구현

* chore: 디렉토리 이름 변경, 기존 폴더 제거

* chore: dummy data 업데이트

* ♻️ refactor: 코드 리뷰 기반으로 리팩토링 진행

* [REFACTOR] Drag & Drop 함수 및 컴포넌트 분리  (#351)

* test: moveFolder test code 삭제

* feat: mockdata 변경에 따른 로직 변경

* refactor: 중앙 스토어에서 로직 분리

* design: treePageWrapper css 변경

* feat: shift + click시에 active가 부모 폴더가 다르면 초기화

* feat: 다른 폴더간 이동 구현

* chore: 테스트코드 예제 삭제

* refactor: reorderFolderInSameParent 함수명 수정

* refactor: SelectedFolderListType으로 대체

* refactor: handleClick 함수 분리

* chore: tree 컴포넌트를 components 폴더로 이동

* [FEAT] 공통 테마에 jsdoc 추가 (#354)

* [FIX] drag & drop 후 정렬 변경 (#360)

* fix: drag & drop 후 정렬 변경

* refactor: isSameParentFolder parameter 변경(동일한 값)

* [FEAT] 폴더 생성 UI 및 상태 관리 로직 변경 (#365)

* design: 작업 전 디자인 변경

* design: CreateFolderInput 디자인 추가

* feat: 폴더 생성 UI 구현

* design: FolderTree 전체적인 레이아웃 변경

* design: 폴더 트리 디자인 개선

* feat: CreateFolderInput 생성시 focus 이동

* design: createFolderInputLayout 디자인 변경

* [FEAT] 폴더 이름 변경 UI 및 로직 구현 (#367)

* feat: CreateFolderInput, FolderInput 컴포넌트로 추출

* design: 공통 테마 사이즈 추가

* chore: PORTAL_CONTAINER_ID 상수로 변경

* feat: 폴더 이름 변경 UI 및 로직 연결

* feat: 우클릭시에 포커스되는 폴더 변경

* [FEAT]: 삭제 UI 및 로직 추가 (#369)

* [CI/CD] nextjs docker image 사이즈 감소 (#380)

* [FEAT] Folder API 연결 (#399)

* chore: api 변경에 따른 스키마 업데이트

* feat: 폴더 관련 api 타입 지정

* refactor: api 변경에 따른 타입 변환

* feat: top level error 추가

* feat: folder crud api 추가

* chore: api 변경에 따른 타입 변경

* feat: 폴더 드래그 앤 드랍 api 연결

* feat: 폴더 이름 변경 api 연결

* feat: 휴지통 이동 api 연결

* refactor: -1 매직넘버 상수로 변경

* chore: mockdata 삭제

* chore: re-resizable 의존성 설치

* faet: FolderTree 크기 조정 가능하게 변경

* chore: api 변경에 따른 타입 최신화

* feat: createFolder api 연결

* refactor: getFolders, getBasicFolders 로 함수명 변경

* reafactor: getRootFolderList로 변경

* [FEAT] 폴더 클릭에 따른 라우팅 변경 (#405)

* feat: 라우팅 설정 변경

* chore: root 폴더에서 tsc 동작시 build된 파일 생성 차단

* chore: legacy 삭제

* feat: 폴더 클릭시마다 라우팅 이동

* feat: useTreeStore subscribeWithSelector 적용

* refactor: FolderInfoItem 컴포넌트 분리

* feat: url을 이용해 folder 선택하게 변경

* feat: route 경로 추가

* feat: middleware redirect url 변경

* feat: 휴지통 및 미분류 폴더 추가

* design: 최초 로딩시에 사이드바 사이즈 지정

* design: 사이드바 디자인 조정

* chore: 쓰지 않는 props 제거

* refactor: useEffect 함수명 추가

* [FEAT] 검색 위젯 기능 구현 및 미사용 필터 제거 (#410)

* chore: 중간 작업 공유

* chore: 타입 변경 및 기존 SearchWidget.tsx 리팩토링

* chore: 타입 변경 및 기존 SearchWidget.tsx 리팩토링

* feat: 기존 로직에서 미사용하는 필터 제거

* feat: dndTreeStore 병합 작업

* [FEAT] 검색창 자동 완성 (#418)

* refactor: PrefixTokenizer 구현 수정

* refactor: PrefixTokenizer 구현 수정

* feat: 검색 위젯 토큰화 구현

* chore: 화면 테스트를 위한 뷰어 패널 코드 수정 (반영 안될 수 있는 커밋)

* feat: 토큰 검색창 CSS 설정

* chore: 일부 주석 추가 및 코드 위치 변경

* chore: yarn.lock 파일 커밋

* [FEAT] 같은 폴더 내에서 Pick Drag&Drop 구현 (#420)

* chore: 백엔드 api 타입 최신화

* chore: util 스펠링 정확하게 변경

* feat: pickType 추가

* feat: getPicksByFolderId 추가

* refactor: viewTemplate 코드 변경

* refactor: 바로 호출이 아닌, useEffect 내에서 비동기함수 호출

* chore: git pull을 위한 커밋

* refactor: pickCardListViewer로 PickCard 컴포넌트 이동

* design: card link style 변경

* feat: 더블 클릭시 링크 이동

* feat: dnd가 가능한 list와 그렇지 않은 list분리

* refactor: dnd여부에 따라 PickListViewer분리

* refactor: DnDCurrentType을 dnd.type으로 이동

* refactor: 공통 utils함수로 추출

* feat: 픽에서 픽으로 이동(api 미연결)

* feat: pick multi-select 구현

* feat: multi-select drag&drop 구현(api 미연결)

* feat: 같은 폴더 내 픽 drag&drop api 연결

* [FIX] 깃허브 액션 API 테스트

* [FIX] 검색창 버그 수정 및 URL 업데이트 (#424)

* 🚨 fix: useSearchParams 사용처에 <Suspence> 추가

* [DESIGN] 폴더 영역 디자인 개선 (#430)

* [FEAT] 픽을 폴더로 이동하는 기능 추가 (#432)

* refactor: draggable type에 따라 검증 함수 분리

* chore: store barrel export 추가

* feat: pick to folder를 위한 dnd context 생성

* fix: dnd context 변경에 따른 로직 변경

* refactor: 컴포넌트명 변경

* refactor: useGetDndContextSensor로 로직 분리

* fix: 로직에 따라 pickId 문자열 대신 정수로 수정

* feat: PickDraggableObjectType에 부모 폴더 id 추가

* feat: 드래깅하는 카드 정보 store에 추가

* feat: pick to pick 시 overlay 카드 생성

* feat: folder drag시 folder overlay 보이도록 변경

* design: 카드 드래그 시 크기 줄이기

* feat: pick to folder drag over시 폴더 색상 변경

* refactor: movePicksToEqualFolder로 함수명 변경

* feat: 휴지통 및 미분류로 픽 이동 감지

* feat: 다른 폴더로 픽 이동 로직 추가

* feat: 폴더 디테일 페이지 뷰 연결

* feat: �휴지통 페이지 카드 렌더링

* [FIX] DragOver 수정 및 휴지통 이동 로직 변경 (#441)

* fix: DragOver 개선

* refactor: 백엔드 API 변경에 따른 휴지통 이동 로직 변경

* [FIX] 현재 포커스된 폴더 삭제 시에 미분류 페이지로 리다이렉트 (#446)

* fix: 현재 포커스된 폴더 삭제 시에 미분류 페이지로 리다이렉트

* design: 드래그시 outline 제거

* [FEAT] 로그인 리다이렉트 URL 추가 (#450)

* chore: sample 대신 관용적으로 사용되는 example로 변경

* feat: 로그인 redirect url 추가

* ci/cd: github Actions secrets 추가 및 적용

* [REFACTOR] 익스텐션 폴더 구조 변경 및 API 최신화 (#458)

* feat: 익스텐션 로그인 페이지 디자인 변경

* chore: 백엔드 타입 최신화

* chore: 백엔드 타입 최신화

* refactor: type은 types폴더로 이동

* chore: 백엔드 타입 최신화

* refactor: api 호출 함수 변경

* refactor: api url 상수로 관리

* feat: barrel export에서 값과 함수 제거

* refactor: 도메인 의존성 없는 컴포넌트 lib폴더로 이동

* refactor: toast 관련 함수 lib 폴더로 이동

* refactor: store는 store폴더로 이동

* chore: 사용하지 않는 타입 제거

* refactor: util함수 util 폴더로 이동

* refactor: 페이지 폴더 제거

* refactor: 컴포넌트는 컴포넌트 폴더로 이동

* fix: returnErrorFromHTTPError에 await 문구 추가

* chore: 백엔드 api 변경에 따른 타입 변경

* [FIX] 로그인 이후 뒤로가기 시 로그인 화면으로 이동하지 못하게 수정 (#453)

* [fix] 픽 검색 API 페이지네이션 적용 (#460)

* chore: 무한스크롤 라이브러리 추가

* chore: 무한스크롤 라이브러리 추가

* feat: 무한 스크롤 구현

* chore: pick 조회 스토어 함수 수정

* chore: 불필요한 코드 수정

* [FEAT] radix-color 추가 (#462)

* feat: radix-color 추가

* chore: radix-color 추가 변경사항 적용

* chore: route 변수 수정

* feat:  breadcrumb 적용

* chore: 기타 스타일링

* chore: 입력창 스타일링

* feat: 무한 스크롤 다듬기 작업

* feat: 검색창 변수 수정

* [DESIGN] 검색 바 디자인 개선 (#463)

* chore: route 변수 수정

* feat:  breadcrumb 적용

* chore: 기타 스타일링

* chore: 입력창 스타일링

* feat: 무한 스크롤 다듬기 작업

* feat: 검색창 변수 수정

* fix: useSearchParams는 suspense로 반드시 감싸야 한다.

* [FEAT] 메모 제거, 폴더 선택 추가(API 미연결), 우클릭시 사이트 이동 (#473)

* feat: 익스텐션 아이콘 추가

* feat: 로그인 로고 변경

* feat: 북마크 페이지 아이콘 변경 및 링크로 이동

* chore: 오타 수정

* feat: theme 추가

* feat: 메모 제거

* feat: 로그인 페이지 삭제

* chore: radix select 설치

* feat: 폴더 선택 select 간단한 컴포넌트 구현

* feat: createPick시에 폴더 선택 기능 구현

* feat: update시에도 폴더 선택 기능 추가(api 미연결)

* feat: 크롬 익스텐션 우클릭시에 서비스 링크로 이동

* feat: 로딩 화면 추가

* [DESIGN] 익스텐션 디자인 변경 (#479)

* chore: title 설정

* chore: 아이콘 변경 및 안쓰는 아이콘 제거

* feat: radix-ui 의존성 설치

* design: 테마 추가

* design: globalStyle a tag 제거

* design: TagPicker 디자인 변경

* refactor: numberToRandomColor 변경

* design: folder select 디자인 변경

* design: TagPicker placeholder 추가

* design: ThumbnailImage css 변경

* design: CreatePickForm 변경

* feat: BookmarkHeader 제거

* feat: useCalculateCommandListHeight 삭제

* design: 업데이트 및 로딩 화면 디자인 변경 적용

* design: 로딩 화면 변경 적용

* refactor: loginGuard 로직 변경

* feat: FolderSelect 화살표 이동 추가

* chore: 사용하지 않는 헤더 삭제

* [FEAT] error 메세지 전송 및 폰트 적용방식 변경 (#482)

* feat: 에러 메세지 명세

* feat: error 메세지 명세

* feat: 폰트 적용 방식 변경

* chore: react-router-dom 버전 변경

v7 점진적으로 도입하는 버전이라 warning log가 떠서 변경

* [�FEAT] 익스텐션 배포 전, 수정 (#489)

* fix: 디자인 변경

* chore: 익스텐션에서 사용하지 않는 의존성 제거

* fix: 휴지통 보이지 않게 하기

* feat: 서버 에러시 toast 알림

* feat: 정상 동작 시 창닫기

* feat: error message 추가

* feat: 폴더 최신순 정렬

* design: 색 추가 및 적용

* design: 인풋 디자인 변경

* feat: font 재적용

* fix: http로 시작하지않으면 저장 안되게 수정

* fix: update시에 폴더 추가

* design: footer 디자인 추가

* docs: manifest.json description 추가

* hotfix: 익스텐션 design 변경

* fix: zip파일 제거

* [fix] refetch 검색 안되는 문제 해결 (#496)

* [FEAT] 픽 렌더링 카드에서 리스트 아이템으로 교체 (#501)

* feat: PickRenderModeState 구현

* feat: PickRecordListLayout 컴포넌트 구현

* feat: PickCard대신 PickRecord 렌더링으로 변경

* feat: usePickRenderModeStore 의존성 제거

* [DESIGN] 디자인 변경 (#500)

* [FEAT] 파비콘 추가 및 title 변경 (#503)

* [FEAT] PickRecord 컴포넌트 구현 및 pick 수정(태그, 타이틀)기능 구현 (#513)

* feat: PickRecord에서 PickListItem 분리

* refactor: TagPicker 크롬 익스텐션 코드 가져오기

* design: list item 줄어들 때, textoverflow 적용

* fix: li 내부에 li가 들어갈 수 없음

* refactor: pick 수정 api 변경

* feat: updatePickInfo 로직 구현

* feat: updatePickInfoStore 구현

* feat: 픽 제목 수정 기능 구현

* chore: 나중에 할 todo 등록

@todo: 현재 SearchWidget이 사용되는 페이지에 전체적으로 적용되고 있음.

* chore: @radix-ui/react-separator 설치

* refactor: PickRecord PickSearchRecord로 변경

* feat: PickRecord로 대체

* feat: tagStore 안쓰는 함수 삭제

* refactor: tag 관련 api 함수 호출 경로 수정

* design: 안보이는 색 변경

* feat: TagPicker CRUD 적용

* design: 디자인 변경

* [FEAT] 픽 휴지통 이동 및 휴지통에서 픽 삭제 구현, 픽 포커스 변경 (#515)

* feat: PickRecord에서 PickListItem 분리

* refactor: TagPicker 크롬 익스텐션 코드 가져오기

* design: list item 줄어들 때, textoverflow 적용

* fix: li 내부에 li가 들어갈 수 없음

* refactor: pick 수정 api 변경

* feat: updatePickInfo 로직 구현

* feat: updatePickInfoStore 구현

* feat: 픽 제목 수정 기능 구현

* chore: 나중에 할 todo 등록

@todo: 현재 SearchWidget이 사용되는 페이지에 전체적으로 적용되고 있음.

* chore: @radix-ui/react-separator 설치

* refactor: PickRecord PickSearchRecord로 변경

* feat: PickRecord로 대체

* feat: tagStore 안쓰는 함수 삭제

* refactor: tag 관련 api 함수 호출 경로 수정

* design: 안보이는 색 변경

* feat: TagPicker CRUD 적용

* design: 디자인 변경

* feat: deletePicks api 함수 구현

* design: TagPicker 화면 짤림 수정

* feat: 우클릭 휴지통 이동 및 삭제 구현

* feat: PickRecord로 렌더링 변경

* feat: 페이지 이동시, pick item 외부 클릭시 선택된 요소 초기화

* design: tag 생성이나 삭제 시에 TagAutocompleteDialog 위치 조정 (#520)

* [FIX] 두번 useEffect 호출 되는 거 방지 (#518)

* chore: 로그인 페이지 작업 (#508)

* [DESIGN] 디자인 작업 (#524)

* chore: 로그인 페이지 작업

* feat: 디자인 작업 반영

* fix: 미사용 import 제거

* fix: 서치 버그 해결

* [DESIGN] 배포전 PR (#529)

* design: tag 생성이나 삭제 시에 TagAutocompleteDialog 위치 조정

* feat: Gap 컴포넌트 변경

* design: PickRecord 이미지 영역 사이즈 변경

* design: 헤더 Image table 명명

* design: flex-shrink 적용

* chore: 코드 스타일 변경

* fix: TagPicker 컴포넌트 floating element style 변경

* design: TagRecord Input 디자인 변경

* design: font 모든 부분에 동일하게 적용

* refactor: moveFolderToRecycleBin refactoring

* design: 디자인 변경

* design:2차변경

* design: 버튼 color 추가

* feat: PickSearchRecord 추가

* feat: 링크 추가

---------

Co-authored-by: Jason <[email protected]>
Co-authored-by: Jason <[email protected]>
Co-authored-by: Minky <[email protected]>
dmdgpdi added a commit that referenced this pull request Nov 22, 2024
* chore: 세팅중인 상태

* fix: vanilla-extract 설정 변경

* fix: storybook 실행 안되는 오류 해결

@chromatic-com/storybook이 문제였음.

* chore: storybook tset 확인

* chore: eslint 예외 추가

* chore: eslint, prettier 설정

* chore: DS_Store ignore

* chore: husky 테스트

* chore: husky 적용 중

* chore: husky 적용

* chore: 테스트용 컴포넌트 삭제

* chore: jest 적용

* chore: ts를 devDependencies로 이동

* chore: sample test 파일 삭제

* chore: add files to gitignore

* chore: vscode setting 추가

* chore: playwright example test code 삭제

* chore: e2e test github action 추가

* fix: action 오타 수정

* fix: 깃허브 액션 오타 수정

* chore: add corepack

* chore: 실행 순서 변경

* chore: browser 설치

* chore: playwright-report path 변경

* chore: �액션 if문 제거

* fix: 액션 탭 간격 변경

* chore: github action 테스트를 위한 싶패 테스트

* chore: 항상 report를 뽑을 수 있게 변경

* chore: github action 테스트를 위한 성공 테스트

* chore: vanilla-extract storybook 적용

* chore: 프로젝트 세팅을 위한 필요없는 파일 없애기

* chore: playwright yarn script 추가

* chore: react-hot-toast 적용

* feat: 깃허브 액션 테스트용 PR (#4)

* chore: 세팅중인 상태

* fix: vanilla-extract 설정 변경

* fix: storybook 실행 안되는 오류 해결

@chromatic-com/storybook이 문제였음.

* chore: storybook tset 확인

* chore: eslint 예외 추가

* chore: eslint, prettier 설정

* chore: DS_Store ignore

* chore: husky 테스트

* chore: husky 적용 중

* chore: husky 적용

* chore: 테스트용 컴포넌트 삭제

* chore: jest 적용

* chore: ts를 devDependencies로 이동

* chore: sample test 파일 삭제

* chore: add files to gitignore

* chore: vscode setting 추가

* chore: playwright example test code 삭제

* chore: github action 테스트를 위한 싶패 테스트

* chore: github action 테스트를 위한 성공 테스트

* chore: vanilla-extract storybook 적용

* chore: 프로젝트 세팅을 위한 필요없는 파일 없애기

* chore: playwright yarn script 추가

* chore: react-hot-toast 적용

---------

Co-authored-by: Jason <[email protected]>

* chore: 프로젝트 구조 세팅 (#11)

* chore: 필요없는 파일 제거

* fix: 파일명 오타 수정

* feat: 기본 디렉토리 추가

* chore: yarn set version berry (#12)

* chore: 깃허브 액션 변경

* feat: 모노레포 분리 (#28)

* chore: 서비스 디렉토리 이동

* chore: eslint 적용중

* fix: eslint 설정

* chore: extension 프로젝트 세팅 중 husky 충돌

* fix: pre-commit 동작 수정

* chore: backup

* chore: backup

* chore: backup2

* chore: setting

* chore: ignore 설정

* chore: husky 설치

* chore: monorepo로 변경된 뒤 액션 변경

* chore: husky 설치

---------

Co-authored-by: Jason <[email protected]>

* chore: 폴더명 변경에 따른 액션 변경

* chore: 폴더명 변경 (#37)

* Front/feat/#35 (#40)

* chore: 폴더명 변경
* build: 크롬 익스텐션 빌드 설정
* feat: css 파일 제거
* build: 파일 수정시마다 build되는 스크립트 추가
* chore: 의존성 설치
@tanstack/react-query, @vanilla-extract/css, react-router-dom, zustand
* feat: 디렉토리 생성
* feat: router 추가
* feat: react-query provider 설정
* feat: vanilla-extract 세팅

* feat: 현재 탭에서 데이터 가져오기 (#50)

* feat: 북마크 페이지 생성
* chore: 절대경로 수정
* build: build시에는 빌드를 한번하게 변경
* feat: 새로운 링크로 이동할 시 og image가져오는 동작 추
* feat: tab 열 때 마다 og image 가져오기
* refactor: 쓰지 않는 코드 제거
* chore: 주석 제거
* feat: 파비콘 가져오기
* feat: 서비스워커를 이용해서 동작하는 것으로 변경
* refactor: useGetTabInfo hook으로 분리
* refactor: background.ts 제거
* feat: og:description 가져오기
* chore: 쓰지 않는 상수 제거

* feat: 페이지 기본 요소 렌더링 (#52)

* chore: init

* design: theme 설정

* design: dirView 구조 정의

* chore: downgrade version - yarn 4.3.1 / typescript 5.5.4

* feat: react-arborist 적용 및 테스트 완료

* feat: 디렉토리 구성 및 아이콘 추가

* chore: use-resize-observer 라이브러리 추가

* design: tree 높이 동적 조절되도록 수정

* feat: 우측 view에 folder 및 link 표시

* chore: 컴포넌트 분리

* chore: 불필요한 주석 제거

* chore: 4.3.1 cjs 추가

* refactor: pr 수정요청사항 적용

* chore: import 수정

* chore: index.ts 추가

* chore: index.ts 추가

* chore: conflict 해결

* refactor: barrel exports pattern 적용

* refactor: icon export 처리

* refactor: directoryNode export 처리

* refactor: icon 이동

* refactor: icon을 public으로 이동

* chore: 불필요한 index 제거

* chore: 이름 변경

* chore: 이름 변경

* chore: 이름 변경

* chore: 이름 변경

* chore: 이름 변경

* [FEAT] 익스텐션 태그 인풋 핵심 로직 구현 (#126)

* feat: 북마크 페이지 생성
* chore: 절대경로 수정
* build: build시에는 빌드를 한번하게 변경
* feat: 새로운 링크로 이동할 시 og image가져오는 동작 추가
* feat: tab 열 때 마다 og image 가져오기
* refactor: 쓰지 않는 코드 제거
* chore: 주석 제거
* feat: 파비콘 가져오기
* feat: 서비스워커를 이용해서 동작하는 것으로 변경
* refactor: useGetTabInfo hook으로 분리
* refactor: background.ts 제거
* feat: og:description 가져오기
* chore: 쓰지 않는 상수 제거
* feat: cmdk 적용
* feat: 현재 선택한 태그가 보이도록 변경
* feat: 비동기 호출 흉내내서 라벨 데이터 가져오기
* chore: immer 설치
* feat: tagStore CRUD 구현
* chore: lucide icon 설치
* feat: deselect button ui 추가
* feat: deselect 기능 추가
* feat: SelectedTag ui 개선
* chore: todo 주석 제거
* feat: 동일한 태그가 없을 때 생성 아이템 추가
* feat: 태그 생성 로직 구현
* chore: 폴더 변경
* feat: TagInfoPopover 간단한 UI 구현
* feat: tag update 기능 추가
* chore: tagStore 폴더 변경
* chore: @radix-ui/react-dialog 설치
* chore: showDeleteTagDialogButton 파일 변경
* feat: DeleteTagDialog 상태 관리 구현
* chore: 다음 작업에 할 Todo 내용 추가
* feat: DeleteTag 관련 컴포넌트 구현
* chore: Command.Dialog css 변경
* refactor: useEffect내 함수 기명함수로 변경
* refactor: 분리되어있던 컴포넌트 SelectedTagItem폴더로 이동
* chore: components 에서 ui로 폴더명 변경
* refactor: TagInput컴포넌트에서 TagSelectionDialog컴포넌트 분리
* refactor: TagInput에서 TagPicker로 컴포넌트명 변경
* refactor: TagAutocompleteDialog로 컴포넌트명 변경
* refactor: TagPicker css명 변경
* refactor: css classname 변경
* refactor: 분리되어있던 css 합치기
* refactor: onSelectTag함수로 반복되는 함수 호출 합침
* refactor: 문자열 상수로 변경
* chore: 주석 추가
* feat: enter키 입력시 popover 켜지게 변경
* refactor: PopoverTriggerButton으로 분리
* chore: 사용하지 않는 index.ts 제거
* chore: 폴더명 components에서 ui로 변경
* chore: 폴더명 변경
* chore: tsbuildinfo update
* chore: 폴더 위치 이동
* chore: 폴더 이동
* chore: git pull frontend
* chore: todo 주석 추가

* [FEAT] Drag&Drop 구현: Directory (#117)

* test: mockdata 동적 생성

* chore: react-dnd, react-dnd-html5-backend 추가

* feat: dragDropManager 적용

* feat: dragDropManager 적용

* feat: Drag&Drop 시 mockData도 변경되도록 수정

* feat: treeData를 전역 상태로 관리

* design: LinkEditorSection 렌더링 요소 변경

* design: hover 시 음영 추가

* refactor: type 변경

* feat: 현재 위치에 폴더가 없으면 표시하지 않도록 변경

* fix: 아래로 이동 시 한칸씩 밀리는 버그 수정

* feat: FolderSection에 dnd 적용

* feat: LinkEditorSection 에서 DirectoryTreeSection 으로 Folder Drag and Drop 가능

* fix: DirectorySection에서 동일 부모의 자식 간 순서 변경 시 폴더를 아래쪽으로 이동할 경우 두칸씩 움직이는 문제 해결

* feat: DirectorySection에서 Folder를 이동 시 폴더 사라지는 로직 추가

* feat: LinkEditorSection에서 Pick Dnd 가능

* refactor: 중복 코드 hook으로 분리

* refactor: 이름 변경

* refactor: 이름 변경

* design: Lucid Icon 적용

* refactor: 중복 코드 제거

* chore: marged branch frontend

* chore: yarn cache clean and re-installed

* [FEAT] 우측으로 dnd 작업 가능 (#145)

* design: theme 변경시 icon 색상도 변경되도록 수정

* feat: LinkEditorSection 상단에 Directory Name 동적 변화

* design: 선택된 항목 강조 표시

* fix: DirectorySection 내부에서 dnd 작업 시 우측에도 반영되도록 수정

* fix: DirectorySection 내부에서 dnd 작업 시 우측에도 반영되도록 수정: 순서 변경 적용

* fix: DirectorySection 내부에서 dnd 작업 시 우측에도 반영되도록 수정: 순서 변경 적용

* fix: 순서 변경 시 인덱스 오차 수정

* feat: 폴더 클릭 시 해당 폴더로 이동

* fix: 내부에 요소가 없으면 빈 화면 표시

* feat: 좌측->우측 dnd 가능

* fix: 최초 로드 시 treeApi를 받아오지 못하는 문제 해결

* �[FEAT] .env 파일 설정 및 서버와 연결 확인 (#158)

* feat: 환경변수로 도메인 저장
* feat: 간단한 login 페이지 생성 및 .env파일 세팅

* �[FEAT] 크롬 익스텐션 로그인 링크 페이지 구현 (#167)

* build: dev 모드, production 모드에 따라 환경변수 주입
* build: build시에 manifest.json에 환경변수 주입
* fix: mode에 따른 환경변수 주입
* fix: script 오타 수정
* chore: ky 종속성 설치
* feat: ky를 이용한 baseApi 생성
* feat: 로그인 여부 파악 후 페이지 렌더링
* chore: tsbuildinfo 삭제
* chore: 주석 제거
* feat: Text 컴포넌트 구현
* feat: Button 컴포넌트 구현
* feat: 로그인 링크 페이지 구현
* feat: 상수로 적용
* fix: 상수대신 .env 직접 적용
- 해당 코드에서 에러가 생겨서 추후 수정할 예정
* chore: 주석 추가

* [FEAT] Swagger의 api-doc을 이용한 type 생성 (#177)

* feat: type 생성
* chore: root의 ts version 원상 복구

* [CI] 프론트엔드 서버 배포 스크립트 (#202)

* 🚀 프론트 서버 배포 설정

* 🚀 프론트 브랜치와 연결

* 🚀 docker image 빌드 전 환경변수 생성(for next build)

* build: 필요하지 않은 github action script 제거

* fix: cd script 원상 복구

---------

Co-authored-by: dmdgpdi <[email protected]>

* [FEAT] 북마크 생성 페이지 디자인 및 태그 API 연결, (#210)

* chore: 북마크 페이지 폴더 내로 이동

* feat: 북마크 페이지 기초적인 레이아웃 설정

* refactor: BookmarkHeader 컴포넌트 분리

* feat: Gap 컴포넌트 구현

* feat: Gap 컴포넌트 default값 변경

* feat: 북마크 페이지 style 분리

* feat: ogImage 가져오기

* feat: ThumbnailImage 컴포넌트 구현

* feat: 이미지 로딩 시 애니메이션 적용

* chore: 주석 제거

* refactor: ThumbnailImage 컴포넌트 수정

* feat: input tag css 적용

* feat: TagPicker tab 및 focus 애니메이션 적용

* refactor: onKeyDown 함수 뺴기

* chore: 인풋 값 확인

* feat: 위, 아래 화살표에 따라 focus를 변경하는 hook 생성

* feat: 화살표따라 탭 포커스 이동 적용

* feat: props에 따라 고정된 속성 제공

* chore: SelectedTagListLayout 폴더 이동

* feat: 공통 스타일 적용

* feat: SelectedTagList의 스타일 추가

* chore: 간단한 색 변경

* chore: 필요없는 data-desc 제거

* feat: 팝오버 버튼 tab 이동 막기, 엔터 키 제거

* chore: style 변경

* feat: 태그픽커 및 다이얼로그에 style 적용

* feat: radix-ui popover 를 floating-ui로 대체

* feat: 팝오버 버튼 디자인 구현

* feat: 태그 삭제 모달 디자인 추가

* feat: tag 목록이 길 때 스타일 변경

* �chore: 스크롤바 제거 globalStyle에 적용

* feat: 선택한 라벨 높이에 따라 commandListHeight 변경

* chore: css 제거

* feat: CommandList 로딩 화면 추가

* chore: randomcolor 라이브러리 설치

* chore: pre-commit command 수정

* fix: pre-commit command 수정

* feat: numberColor 함수 구현 및 태그 생성시 적용

* feat: randomColor style 적용

* chore: type 생성

* fix: 태그 다이얼로그에서 공백 입력시 아무것도 뜨지 않게 변경

* chore: schema를 위한 절대 경로 추가

* feat: 실제 서버의 타입으로 변경

* fix: 태그 리스트가 없을 때, Command.Empty가 보이게 조건문 변경

* fix: �적용되지 않는 함수 제거

* feat: 태그 생성 api 연결

* refactor: 태그 선택 취소 시에 id값만 이용

* feat: delete tag api 연결

* feat: updateTag api 연결

* chore: schema 타입 최신화

* fix: tagName 수정 후 enter key 입력시 모달창 생기는 버그 수정

* feat: 사용하지 않는 CurrentTabInfo 컴포넌트 삭제

* refactor: useGetTabInfo 폴더 이동

* refactor: api 적용을 위해 default value 변경

* fear: create pick api 연결

* chore: react hot toast 라이브러리 설치

* chore: 사용하지 않는 SAMPLE_DATA 제거

* feat: toast 라이브러리 적용

* feat: ApiErrorBody type 선언

* chore: todo 제거

* feat: post api 통신 에러 핸들링 추가

* feat: deleteTag optimistic update 추가

* feat: update tag optimistic update 추가

* refactor: useCalculateCommandListHeight hook으로 분리

* refactor: onSelectCreatableTag 함수 분리

* chore: 쓰지 않는 return 제거

* feat: enter key로 태그 삭제 및 취소 가능

* feat: 간단한 에러 페이지 생성

* feat: 에러 핸들링 추가

* [FEAT] sanitizeHtml에서 DOMPurify로 교체 (#213)

* fix: 런타임 에러 해결(잘못된 변수 접근) (#215)

* [FEAT] 크롬 익스텐션 픽 수정 기능 구현 (#229)

* chore: schema 최신화
* feat: getLinkByUrl api 추가
* feat: useHasLink hook 구현
* chore: API 변경에 따른 type 최신화
* feat: CreatePickForm, UpdatePickForm 분리
* feat: chore: Pick API 변경에 따른 type 최신화
* feat: link api 삭제
* feat: getPickByUrl api 추가
* feat: useHasPick 변경
* chore: ThumbnailImage backgroundColor 변경
* feat: updateForm 구현
* feat: 로딩 상태 시의 Skeleton 구현
* feat: DeferredComponent 구현
* feat: 로딩화면 구현
* chore: 주석 제거

* [FEAT] Backend api 연결 및 ux 미세조정 (#227)

* design: flex wrap 설정

* design: flex wrap 이중 줄바꿈 문제 수정

* feat: 우클릭 시 context menu 표시

* chore: 주석 제거

* chore: alt 이름 변경

* feat: treeRef 추가

* feat: mockData create 가능

* feat: api 연동: create&move

* feat: api 연동: dnd move 동작 확인

* refactor: 핸들러 함수 hook으로 분리

* feat: edit ux 추가 및 arborist node outline 제거

* feat: folder rename 연결 완료

* feat: folder delete(move to recyclebin) 연결 완료

* feat: create 로직 수정

* feat: 초기 로드 시 recycleBin 생성(향후 수정 예정)

* feat: Tree 컴포넌트 추가 전 커밋

* chore: popover Demo 추가

* design: 버튼 및 팝오버 디자인 수정

* feat: 휴지통 붙임:수정예정

* feat: 휴지통 숨김 설정

* design: 전체적인 디자인 미세 조정

* feat: 로그아웃 버튼 추가 및 디렉토리 조정

* feat: client 로그인 검증로직 추가

* design: 로그인 페이지 디자인 추가

* refactor: 폴더 create 로직 수정

* refactor: 폴더 create 로직 수정2

* refactor: 필요없어진 popover제거

* fix: 중첩 폴더 구조에서 폴더 생성 불가한 문제 해결

* design: 에러 토스트 메시지 추가

* refactor: 삭제 로직 수정(id 부여 방식)

* feat: 휴지통에서 폴더 완전삭제 가능

* [FEAT] 익스텐션 테마 적용 (#241)

* feat: theme을 techpick-shared 모노레포로 분리
* feat: theme 적용
* design: 익스텐션 테마 적용
* fix: peerDependencies제거
* design: techpick의 theme을 techpick-shared에 의존하게 변경
* feat: techpick reset.css 수정
* feat: git pull 이후 필요없는 파일 삭제
* feat: theme 동기화

* [FEAT] 카드 컴포넌트 디자인 구현 (#246)

* fix: ky middleware credentials속성 올바르게 적용

* feat: teckpick-service와 동일하게 id 변경

* feat: techpick-shared의 export 추가

* feat: images모든 url을 허용 및 next.config.mjs제거

* chore: 의존성 설치

* chore: @/schema 절대 경로 추가

* chore: portalContainer id 변경

* feat: pickCard 컴포넌트 디자인 및 레이아웃 구현

* feat: TagPicker 컴포넌트 복사

* [FEAT] 버그 수정, 휴지통 복원, context menu, pr 요청사항 적용 (#247)

* fix: 한글 입력시 폴더 두번 생성되는 문제 해결

* fix: 생성중인 폴더가 있을 때, 폴더 추가생성 방지로직 추가

* refactor: 폴더 위치 변경 및 Input 테마 적용

* fix: 노드 클릭 시 2개의 트리 중 한 노드만 focus되도록 수정

* refactor: 프로젝트 디렉토리 및 파일 구조 수정

* refactor: 프로젝트 디렉토리 및 파일 구조 수정2

* feat: recycleBin에서 contextmenu 사용 가능

* feat: recycleBin에서 restore 가능

* refactor: 이전 코드리뷰 comment 반영

* fix: 폴더 생성시 input이 사라지는 문제 수정

* fix: 폴더 삭제 시 우측 화면 업데이트 안되는 문제 수정

* fix: DirectorySection ui 틀어짐 수정

* feat: 휴지통 내부 dnd 가능

* fix: 좌측 디렉토리 절반만 표시되는 문제 수정

* fix: 간격 수정

* fix: 휴지통 dnd 비활성화

* fix: 생성 또는 이름변경 실패 이후 + 버튼클릭 안되는 버그 수정

* feat: 우측 folder contextMenu 이용가능
*버그 수정 필요(recycleBin menu 출력되는 문제)*

* fix: 우측 contextMenu 버그 수정

* fix: 우측 context 수정중

* chore:충돌 방지용 git pull

* [CI] 도커 이미지 build 관련 버그 수정 (#252)

* build: Dockerfile yarn berry 적용 및 필요한 파일 추가
* chore: 주석 변경

* fix: tag 생성 연속 입력 문제 해결 (#257)

* [FIX] 로그인된 상태일 때 메인 페이지로 리다이렉트 (#260)

* [FEAT] unclassified 표시 가능 (#261)

* feat: unclassifiedPicks api 호출 코드 추가

* feat: unclassified 표시됨

* [FEAT] PickCard API 연결 (#266)

* chore: 주석 추가

* feat: PickCard 이미지 스타일 수정

* chore: 쓰지 않는 apis 폴더 삭제

* refactor: 중복된 api middleware 제거

* fix: ky middleware content-type 추가

* feat: getPick api 연결

* design: 디자인 변경

* chore: import 순서 변경

* feat: updatePick api 연결

* feat: selected Tag 태그 삭제시 상태 변경

* chore: 주석제거

---------

Co-authored-by: Jason <[email protected]>

* feat: skelton 적용 (#268)

* feat: skelton 적용

* feat: link 추가 및 tagPicker 동작 수정

* [FIX] 태그 생성 후 창 유지후에 수정 했을 때, 생성한게 추가가 안되는 로직 (#270)

* [FEAT] pick dnd (#272)

* feat: nodeApi로 변환 로직 추가

* fix: 임시 디바운싱 적용

* fix: api 교체

* fix: 간헐적으로 unclassified 안보이는 문제 수정

* feat: pick 휴지통, 복원, 삭제 api 연결완료

* fix: 이름 길어지면 ...으로 표시

* fix: 가상 미분류 폴더 렌더링 방지 처리

* fix: 버그유발 기능 비활성화

* fix: fix

* fix: fix2

* [REFACTOR] 폴더구조 변경 (#308)

* refactor: shared 폴더 제거

* refactor: entities/pick 폴더 제거

* refactor: entities/tag 제거

* refactor: features/tag 제거

* refactor: features/userManagement 제거

* refactor: features/themeManagement 제거

* refactor: features/nodeManagement 제거

* refactor: widgets 제거

* [REFACTOR] import 순서 변경 (#311)

* chore: eslint import 순서 정리
* reafactor: import 순서 변경

* feat: 디자인 토큰 추가

* feat: 디자인 토큰 적용

* feat: �commontThemeContract 삭제

* fix: ThemeProvider 변경사항 적용

* fix: 위치 조정

* [FEAT] 디자인 토큰 추가

* [FEAT] 같은 계층일 때, 폴더 multi select 구현 (#332)

* chore: dnd-kit 설치 및 tree 페이지 생성

* feat: jest 설정추가

* fix: jest monorepo별 적용

* chore: root jest config 삭제

* feat: 같은 부모 밑에서 1개씩 폴더 이동

* design: tree page margin 변경

* test: 복수의 폴더 이동 테스트코트 작성

* feat: 현재 드래그 여부 상태 zustand에 추가

* feat: 폴더 다중 선택 기능 추가

* feat: DragOverlay추가

* design: primary color로 변경

* fix: test문 it.only 제거

* refactor: dndTreeStore에 hasIndex 적용

* [FEAT] 검색창 및 리스트 로직 설계 (#333)

* feat: 검색 위젯 로직 구현

* feat: 유틸리티 클래스 구현 (파싱, 필터링)

* doc: 유틸리티 참고 이미지 및 설명

* feat: zustand, react query 추가

* feat: 뷰포트 리액트 컴포넌트

* refactor: esToolkit import

* refactor: useViewScope 변경

* refactor: useQuery 함수명 파일명 변경

* refactor: useQuery 함수명 파일명 변경

* refactor: Util 함수 리팩토링

* [FEAT] 픽 리스트 - 사용자 설정 필터 & 뷰 템플릿 (#348)

* feat: 검색 위젯 로직 구현

* feat: 유틸리티 클래스 구현 (파싱, 필터링)

* doc: 유틸리티 참고 이미지 및 설명

* feat: zustand, react query 추가

* feat: 뷰포트 리액트 컴포넌트

* refactor: esToolkit import

* refactor: useViewScope 변경

* refactor: useQuery 함수명 파일명 변경

* refactor: useQuery 함수명 파일명 변경

* refactor: Util 함수 리팩토링

* chore: 파일 제거 및 위치 이동

* chore: use-Immer 패키지 추가

* feat: 유틸리티 (Stream, Tokenizer) 리팩토링 및 개선

* chore: 공통 타입 추가 및 일부 변경

* feat: 태그 아이템 UI 컴포넌트 (익스텐션에서 가져옴)

* feat: 최상단 컴포넌트 (뷰어) 및 상태 구현

* test: 쿼리 더미 데이터 추가

* feat: 옵션 리스트 위젯 및 상태 구현

* feat: 검색창 위젯 구현

* feat: 필터 옵션 기능 구현

* feat: 뷰 템플릿 (리스트 vs 그리드) 옵션 구현

* chore: 디렉토리 이름 변경, 기존 폴더 제거

* chore: dummy data 업데이트

* ♻️ refactor: 코드 리뷰 기반으로 리팩토링 진행

* [REFACTOR] Drag & Drop 함수 및 컴포넌트 분리  (#351)

* test: moveFolder test code 삭제

* feat: mockdata 변경에 따른 로직 변경

* refactor: 중앙 스토어에서 로직 분리

* design: treePageWrapper css 변경

* feat: shift + click시에 active가 부모 폴더가 다르면 초기화

* feat: 다른 폴더간 이동 구현

* chore: 테스트코드 예제 삭제

* refactor: reorderFolderInSameParent 함수명 수정

* refactor: SelectedFolderListType으로 대체

* refactor: handleClick 함수 분리

* chore: tree 컴포넌트를 components 폴더로 이동

* [FEAT] 공통 테마에 jsdoc 추가 (#354)

* [FIX] drag & drop 후 정렬 변경 (#360)

* fix: drag & drop 후 정렬 변경

* refactor: isSameParentFolder parameter 변경(동일한 값)

* [FEAT] 폴더 생성 UI 및 상태 관리 로직 변경 (#365)

* design: 작업 전 디자인 변경

* design: CreateFolderInput 디자인 추가

* feat: 폴더 생성 UI 구현

* design: FolderTree 전체적인 레이아웃 변경

* design: 폴더 트리 디자인 개선

* feat: CreateFolderInput 생성시 focus 이동

* design: createFolderInputLayout 디자인 변경

* [FEAT] 폴더 이름 변경 UI 및 로직 구현 (#367)

* feat: CreateFolderInput, FolderInput 컴포넌트로 추출

* design: 공통 테마 사이즈 추가

* chore: PORTAL_CONTAINER_ID 상수로 변경

* feat: 폴더 이름 변경 UI 및 로직 연결

* feat: 우클릭시에 포커스되는 폴더 변경

* [FEAT]: 삭제 UI 및 로직 추가 (#369)

* [CI/CD] nextjs docker image 사이즈 감소 (#380)

* [FEAT] Folder API 연결 (#399)

* chore: api 변경에 따른 스키마 업데이트

* feat: 폴더 관련 api 타입 지정

* refactor: api 변경에 따른 타입 변환

* feat: top level error 추가

* feat: folder crud api 추가

* chore: api 변경에 따른 타입 변경

* feat: 폴더 드래그 앤 드랍 api 연결

* feat: 폴더 이름 변경 api 연결

* feat: 휴지통 이동 api 연결

* refactor: -1 매직넘버 상수로 변경

* chore: mockdata 삭제

* chore: re-resizable 의존성 설치

* faet: FolderTree 크기 조정 가능하게 변경

* chore: api 변경에 따른 타입 최신화

* feat: createFolder api 연결

* refactor: getFolders, getBasicFolders 로 함수명 변경

* reafactor: getRootFolderList로 변경

* [FEAT] 폴더 클릭에 따른 라우팅 변경 (#405)

* feat: 라우팅 설정 변경

* chore: root 폴더에서 tsc 동작시 build된 파일 생성 차단

* chore: legacy 삭제

* feat: 폴더 클릭시마다 라우팅 이동

* feat: useTreeStore subscribeWithSelector 적용

* refactor: FolderInfoItem 컴포넌트 분리

* feat: url을 이용해 folder 선택하게 변경

* feat: route 경로 추가

* feat: middleware redirect url 변경

* feat: 휴지통 및 미분류 폴더 추가

* design: 최초 로딩시에 사이드바 사이즈 지정

* design: 사이드바 디자인 조정

* chore: 쓰지 않는 props 제거

* refactor: useEffect 함수명 추가

* [FEAT] 검색 위젯 기능 구현 및 미사용 필터 제거 (#410)

* chore: 중간 작업 공유

* chore: 타입 변경 및 기존 SearchWidget.tsx 리팩토링

* chore: 타입 변경 및 기존 SearchWidget.tsx 리팩토링

* feat: 기존 로직에서 미사용하는 필터 제거

* feat: dndTreeStore 병합 작업

* [FEAT] 검색창 자동 완성 (#418)

* refactor: PrefixTokenizer 구현 수정

* refactor: PrefixTokenizer 구현 수정

* feat: 검색 위젯 토큰화 구현

* chore: 화면 테스트를 위한 뷰어 패널 코드 수정 (반영 안될 수 있는 커밋)

* feat: 토큰 검색창 CSS 설정

* chore: 일부 주석 추가 및 코드 위치 변경

* chore: yarn.lock 파일 커밋

* [FEAT] 같은 폴더 내에서 Pick Drag&Drop 구현 (#420)

* chore: 백엔드 api 타입 최신화

* chore: util 스펠링 정확하게 변경

* feat: pickType 추가

* feat: getPicksByFolderId 추가

* refactor: viewTemplate 코드 변경

* refactor: 바로 호출이 아닌, useEffect 내에서 비동기함수 호출

* chore: git pull을 위한 커밋

* refactor: pickCardListViewer로 PickCard 컴포넌트 이동

* design: card link style 변경

* feat: 더블 클릭시 링크 이동

* feat: dnd가 가능한 list와 그렇지 않은 list분리

* refactor: dnd여부에 따라 PickListViewer분리

* refactor: DnDCurrentType을 dnd.type으로 이동

* refactor: 공통 utils함수로 추출

* feat: 픽에서 픽으로 이동(api 미연결)

* feat: pick multi-select 구현

* feat: multi-select drag&drop 구현(api 미연결)

* feat: 같은 폴더 내 픽 drag&drop api 연결

* [FIX] 깃허브 액션 API 테스트

* [FIX] 검색창 버그 수정 및 URL 업데이트 (#424)

* 🚨 fix: useSearchParams 사용처에 <Suspence> 추가

* [DESIGN] 폴더 영역 디자인 개선 (#430)

* [FEAT] 픽을 폴더로 이동하는 기능 추가 (#432)

* refactor: draggable type에 따라 검증 함수 분리

* chore: store barrel export 추가

* feat: pick to folder를 위한 dnd context 생성

* fix: dnd context 변경에 따른 로직 변경

* refactor: 컴포넌트명 변경

* refactor: useGetDndContextSensor로 로직 분리

* fix: 로직에 따라 pickId 문자열 대신 정수로 수정

* feat: PickDraggableObjectType에 부모 폴더 id 추가

* feat: 드래깅하는 카드 정보 store에 추가

* feat: pick to pick 시 overlay 카드 생성

* feat: folder drag시 folder overlay 보이도록 변경

* design: 카드 드래그 시 크기 줄이기

* feat: pick to folder drag over시 폴더 색상 변경

* refactor: movePicksToEqualFolder로 함수명 변경

* feat: 휴지통 및 미분류로 픽 이동 감지

* feat: 다른 폴더로 픽 이동 로직 추가

* feat: 폴더 디테일 페이지 뷰 연결

* feat: �휴지통 페이지 카드 렌더링

* [FIX] DragOver 수정 및 휴지통 이동 로직 변경 (#441)

* fix: DragOver 개선

* refactor: 백엔드 API 변경에 따른 휴지통 이동 로직 변경

* [FIX] 현재 포커스된 폴더 삭제 시에 미분류 페이지로 리다이렉트 (#446)

* fix: 현재 포커스된 폴더 삭제 시에 미분류 페이지로 리다이렉트

* design: 드래그시 outline 제거

* [FEAT] 로그인 리다이렉트 URL 추가 (#450)

* chore: sample 대신 관용적으로 사용되는 example로 변경

* feat: 로그인 redirect url 추가

* ci/cd: github Actions secrets 추가 및 적용

* [REFACTOR] 익스텐션 폴더 구조 변경 및 API 최신화 (#458)

* feat: 익스텐션 로그인 페이지 디자인 변경

* chore: 백엔드 타입 최신화

* chore: 백엔드 타입 최신화

* refactor: type은 types폴더로 이동

* chore: 백엔드 타입 최신화

* refactor: api 호출 함수 변경

* refactor: api url 상수로 관리

* feat: barrel export에서 값과 함수 제거

* refactor: 도메인 의존성 없는 컴포넌트 lib폴더로 이동

* refactor: toast 관련 함수 lib 폴더로 이동

* refactor: store는 store폴더로 이동

* chore: 사용하지 않는 타입 제거

* refactor: util함수 util 폴더로 이동

* refactor: 페이지 폴더 제거

* refactor: 컴포넌트는 컴포넌트 폴더로 이동

* fix: returnErrorFromHTTPError에 await 문구 추가

* chore: 백엔드 api 변경에 따른 타입 변경

* [FIX] 로그인 이후 뒤로가기 시 로그인 화면으로 이동하지 못하게 수정 (#453)

* [fix] 픽 검색 API 페이지네이션 적용 (#460)

* chore: 무한스크롤 라이브러리 추가

* chore: 무한스크롤 라이브러리 추가

* feat: 무한 스크롤 구현

* chore: pick 조회 스토어 함수 수정

* chore: 불필요한 코드 수정

* [FEAT] radix-color 추가 (#462)

* feat: radix-color 추가

* chore: radix-color 추가 변경사항 적용

* chore: route 변수 수정

* feat:  breadcrumb 적용

* chore: 기타 스타일링

* chore: 입력창 스타일링

* feat: 무한 스크롤 다듬기 작업

* feat: 검색창 변수 수정

* [DESIGN] 검색 바 디자인 개선 (#463)

* chore: route 변수 수정

* feat:  breadcrumb 적용

* chore: 기타 스타일링

* chore: 입력창 스타일링

* feat: 무한 스크롤 다듬기 작업

* feat: 검색창 변수 수정

* fix: useSearchParams는 suspense로 반드시 감싸야 한다.

* refactor: ApiFolderErrorCode 오타 수정 (#468)

* [FEAT] 메모 제거, 폴더 선택 추가(API 미연결), 우클릭시 사이트 이동 (#473)

* feat: 익스텐션 아이콘 추가

* feat: 로그인 로고 변경

* feat: 북마크 페이지 아이콘 변경 및 링크로 이동

* chore: 오타 수정

* feat: theme 추가

* feat: 메모 제거

* feat: 로그인 페이지 삭제

* chore: radix select 설치

* feat: 폴더 선택 select 간단한 컴포넌트 구현

* feat: createPick시에 폴더 선택 기능 구현

* feat: update시에도 폴더 선택 기능 추가(api 미연결)

* feat: 크롬 익스텐션 우클릭시에 서비스 링크로 이동

* feat: 로딩 화면 추가

* [REFACTOR] 픽 리팩토링, 검색 테스트 구현 (#474)

* refactor: FolderType label 수정

* refactor: 파라미터 idList -> pickIdList 명시적으로 변경

* refactor: folder 내부에 있는 pick_order 리스트에 pickId가 중복 생성되는 문제 해결

* refactor: root folder 검색 못하도록 예외 처리

* refactor: pick controller 메서드명 수정

* refactor: DB fleid 함수를 이용하여 정렬된 픽 리스트 조회할 수 있는 메서드 구현

* refactor: 픽 검색 시 폴더 리스트가 null인 경우 검증하지 않도록 변경, tag 검증 추가

* refactor: 테스트 코드 작성

* refactor: 테스트 코드 ParameterizedTest로 리팩토링 (#476)

* [DESIGN] 익스텐션 디자인 변경 (#479)

* chore: title 설정

* chore: 아이콘 변경 및 안쓰는 아이콘 제거

* feat: radix-ui 의존성 설치

* design: 테마 추가

* design: globalStyle a tag 제거

* design: TagPicker 디자인 변경

* refactor: numberToRandomColor 변경

* design: folder select 디자인 변경

* design: TagPicker placeholder 추가

* design: ThumbnailImage css 변경

* design: CreatePickForm 변경

* feat: BookmarkHeader 제거

* feat: useCalculateCommandListHeight 삭제

* design: 업데이트 및 로딩 화면 디자인 변경 적용

* design: 로딩 화면 변경 적용

* refactor: loginGuard 로직 변경

* feat: FolderSelect 화살표 이동 추가

* chore: 사용하지 않는 헤더 삭제

* [FIX] 픽 수정 리팩토링 및 검증로직 개선 (#477)

* refactor: 불필요한 초기값 제거

* fix: 엔티티를 list로 조회시 존재하지 않는 엔티티를 조회하려고 하면 NOT_FOUND 예외 발생

* fix: pick update시 부모폴더 id도 변경 가능하도록 수정, 누락된 검증 로직 추가

* fix: 기능 변경에 의한 테스트 코드 수정

* fix: idList로 폴더 조회시 존재하지 않는 폴더id로 조회하면 예외 발생

* refactor: 파라미터명 명확하게 수정 idList -> folderIdList

* [FEAT] error 메세지 전송 및 폰트 적용방식 변경 (#482)

* feat: 에러 메세지 명세

* feat: error 메세지 명세

* feat: 폰트 적용 방식 변경

* chore: react-router-dom 버전 변경

v7 점진적으로 도입하는 버전이라 warning log가 떠서 변경

* feat: 폴더 응답에 생성 수정 일자 추가 (#485)

* [�FEAT] 익스텐션 배포 전, 수정 (#489)

* fix: 디자인 변경

* chore: 익스텐션에서 사용하지 않는 의존성 제거

* fix: 휴지통 보이지 않게 하기

* feat: 서버 에러시 toast 알림

* feat: 정상 동작 시 창닫기

* feat: error message 추가

* feat: 폴더 최신순 정렬

* design: 색 추가 및 적용

* design: 인풋 디자인 변경

* feat: font 재적용

* fix: http로 시작하지않으면 저장 안되게 수정

* fix: update시에 폴더 추가

* design: footer 디자인 추가

* docs: manifest.json description 추가

* hotfix: 익스텐션 design 변경

* fix: zip파일 제거

* [FEAT] 에러 요청에 대한 로깅 구현 (#481)

* feat: error request logging 구현

* feat: 기존 예외처리 로직에 요청 로깅 추가

* chore: 주석 추가

* fix: 로깅 방식 변경 - application.log에 sql 로깅 제외

* fix: 누락된 로깅 로직 추가

* [fix] refetch 검색 안되는 문제 해결 (#496)

* [FEAT] 픽 렌더링 카드에서 리스트 아이템으로 교체 (#501)

* feat: PickRenderModeState 구현

* feat: PickRecordListLayout 컴포넌트 구현

* feat: PickCard대신 PickRecord 렌더링으로 변경

* feat: usePickRenderModeStore 의존성 제거

* �[FEAT] 폴더 export 기능 구현 (#504)

* feat: 폴더 export 기능 구현

* feat: url 수정

* [DESIGN] 디자인 변경 (#500)

* [FEAT] 파비콘 추가 및 title 변경 (#503)

* [FEAT] 픽 제목 최대 길이 검증 및 Validation 검증 리팩토링 (#499)

* refactor: 픽 제목 최대 길이 제약조건 추가

* feat: 픽 제목 최대 길이 제약조건 예외, 예외 코드 추가

* refactor: bean validation 예외 상세하게 반환하도록 수정

* refactor: tag 이동 시 리스트 길이보다 큰 인덱스로 이동 시 IndexOutOfBoundsException 발생하는 문제 해결

* fix: title이 null일 때 터지는 오류 해결

* fix: && 문법 오류 수정

* [BUG] 픽 태그 삭제 버그, 픽 수정 버그 수정 (#509)

* refactor: 픽에 사용되었던 유저 태그 삭제 시 500에러 해결

* refactor: pick unique index title 제거

* refactor: 픽을 휴지통으로 이동 시 폴더 내에 있는 픽 리스트 제거 및 가독성을 위해 로직 공통 처리

* refactor: 불필요한 메서드 제거 및 메서드명 변경

* refactor: 운영 환경에서 스웨거 접근 못하도록 하는 설정 추가

* refactor: 폴더 삭제 시 픽들이 휴지통으로 이동될 때 부모 폴더의 픽 리스트 수정이 필요하지 않음.

* refactor: 미분류, 휴지통 폴더에 폴더 생성하지 못하도록 변경, 에러 메세지 변경

* refactor: 메서드명 수정

* refactor: 픽 생성 시 타이틀이 없으면 터지는 예외 해결

* refactor: 데드락 문제 해결을 위해 트랜잭션 범위 최소화

* [FEAT] PickRecord 컴포넌트 구현 및 pick 수정(태그, 타이틀)기능 구현 (#513)

* feat: PickRecord에서 PickListItem 분리

* refactor: TagPicker 크롬 익스텐션 코드 가져오기

* design: list item 줄어들 때, textoverflow 적용

* fix: li 내부에 li가 들어갈 수 없음

* refactor: pick 수정 api 변경

* feat: updatePickInfo 로직 구현

* feat: updatePickInfoStore 구현

* feat: 픽 제목 수정 기능 구현

* chore: 나중에 할 todo 등록

@todo: 현재 SearchWidget이 사용되는 페이지에 전체적으로 적용되고 있음.

* chore: @radix-ui/react-separator 설치

* refactor: PickRecord PickSearchRecord로 변경

* feat: PickRecord로 대체

* feat: tagStore 안쓰는 함수 삭제

* refactor: tag 관련 api 함수 호출 경로 수정

* design: 안보이는 색 변경

* feat: TagPicker CRUD 적용

* design: 디자인 변경

* [BUG] 픽 태그 리스트 수정 시 데드락 문제 수정 (#514)

* refactor: 픽 생성 시 타이틀이 없으면 터지는 예외 해결

* refactor: 데드락 문제 해결을 위해 트랜잭션 범위 최소화

* hotfix: Pick 엔티티의 Link Lazy -> Eager

* [FEAT] 픽 휴지통 이동 및 휴지통에서 픽 삭제 구현, 픽 포커스 변경 (#515)

* feat: PickRecord에서 PickListItem 분리

* refactor: TagPicker 크롬 익스텐션 코드 가져오기

* design: list item 줄어들 때, textoverflow 적용

* fix: li 내부에 li가 들어갈 수 없음

* refactor: pick 수정 api 변경

* feat: updatePickInfo 로직 구현

* feat: updatePickInfoStore 구현

* feat: 픽 제목 수정 기능 구현

* chore: 나중에 할 todo 등록

@todo: 현재 SearchWidget이 사용되는 페이지에 전체적으로 적용되고 있음.

* chore: @radix-ui/react-separator 설치

* refactor: PickRecord PickSearchRecord로 변경

* feat: PickRecord로 대체

* feat: tagStore 안쓰는 함수 삭제

* refactor: tag 관련 api 함수 호출 경로 수정

* design: 안보이는 색 변경

* feat: TagPicker CRUD 적용

* design: 디자인 변경

* feat: deletePicks api 함수 구현

* design: TagPicker 화면 짤림 수정

* feat: 우클릭 휴지통 이동 및 삭제 구현

* feat: PickRecord로 렌더링 변경

* feat: 페이지 이동시, pick item 외부 클릭시 선택된 요소 초기화

* refactor: PickTag에 낙관적 락 설정

* refactor: Spring retry 추가

* [REFACTOR] PickTag 테이블에 낙관적 락 설정 (#519)

* refactor: PickTag에 낙관적 락 설정

* refactor: Spring retry 추가

* refactor: 픽태그 삭제 부분 수정

* design: tag 생성이나 삭제 시에 TagAutocompleteDialog 위치 조정 (#520)

* [FIX] 두번 useEffect 호출 되는 거 방지 (#518)

* refactor: pick 수정하는 부분에 비관적 락 추가 (#521)

* chore: 로그인 페이지 작업 (#508)

* [FEAT] 크롬 북마크 Import 기능 구현 (#522)

* fix: access token, JSESSIONID 로깅 안하도록 수정, multipart file 캐싱 안하도록 수정

* fix: 입력값이 공백 또는 null일 경우 update하지 않음, 기본값을 빈스트링("")으로 설정

* feat: ogTag 업데이트 구현 및 필요한 의존성 추가

* feat: chrome 북마크 import를 위한 메소드 추가

* feat: chrome 북마크 import export 구현

* refactor: 주석 수정

* refactor: swagger 설정 수정

* refactor: link의 title과 description 필드 text타입으로 수정

* chore: 주석 typo 수정

* refactor: typo 수정

* [DESIGN] 디자인 작업 (#524)

* chore: 로그인 페이지 작업

* feat: 디자인 작업 반영

* fix: 미사용 import 제거

* fix: 서치 버그 해결

* feat: og 태그 데이터 가져오는 api 구현 (#525)

* refactor: 운영 서버에서 스웨거 접근 못하도록 변경 (#527)

* [DESIGN] 배포전 PR (#529)

* design: tag 생성이나 삭제 시에 TagAutocompleteDialog 위치 조정

* feat: Gap 컴포넌트 변경

* design: PickRecord 이미지 영역 사이즈 변경

* design: 헤더 Image table 명명

* design: flex-shrink 적용

* chore: 코드 스타일 변경

* fix: TagPicker 컴포넌트 floating element style 변경

* design: TagRecord Input 디자인 변경

* design: font 모든 부분에 동일하게 적용

* refactor: moveFolderToRecycleBin refactoring

* design: 디자인 변경

* design:2차변경

* design: 버튼 color 추가

* feat: PickSearchRecord 추가

* feat: 링크 추가

* fix: url 수정 및 구현안된 기능 숨기기

---------

Co-authored-by: Jason <[email protected]>
Co-authored-by: Jason <[email protected]>
Co-authored-by: Minky <[email protected]>
Co-authored-by: Pak Su Hyung <[email protected]>
Co-authored-by: Sangwon Yang <[email protected]>
dmdgpdi added a commit that referenced this pull request Nov 22, 2024
* chore: 세팅중인 상태

* fix: vanilla-extract 설정 변경

* fix: storybook 실행 안되는 오류 해결

@chromatic-com/storybook이 문제였음.

* chore: storybook tset 확인

* chore: eslint 예외 추가

* chore: eslint, prettier 설정

* chore: DS_Store ignore

* chore: husky 테스트

* chore: husky 적용 중

* chore: husky 적용

* chore: 테스트용 컴포넌트 삭제

* chore: jest 적용

* chore: ts를 devDependencies로 이동

* chore: sample test 파일 삭제

* chore: add files to gitignore

* chore: vscode setting 추가

* chore: playwright example test code 삭제

* chore: e2e test github action 추가

* fix: action 오타 수정

* fix: 깃허브 액션 오타 수정

* chore: add corepack

* chore: 실행 순서 변경

* chore: browser 설치

* chore: playwright-report path 변경

* chore: �액션 if문 제거

* fix: 액션 탭 간격 변경

* chore: github action 테스트를 위한 싶패 테스트

* chore: 항상 report를 뽑을 수 있게 변경

* chore: github action 테스트를 위한 성공 테스트

* chore: vanilla-extract storybook 적용

* chore: 프로젝트 세팅을 위한 필요없는 파일 없애기

* chore: playwright yarn script 추가

* chore: react-hot-toast 적용

* feat: 깃허브 액션 테스트용 PR (#4)

* chore: 세팅중인 상태

* fix: vanilla-extract 설정 변경

* fix: storybook 실행 안되는 오류 해결

@chromatic-com/storybook이 문제였음.

* chore: storybook tset 확인

* chore: eslint 예외 추가

* chore: eslint, prettier 설정

* chore: DS_Store ignore

* chore: husky 테스트

* chore: husky 적용 중

* chore: husky 적용

* chore: 테스트용 컴포넌트 삭제

* chore: jest 적용

* chore: ts를 devDependencies로 이동

* chore: sample test 파일 삭제

* chore: add files to gitignore

* chore: vscode setting 추가

* chore: playwright example test code 삭제

* chore: github action 테스트를 위한 싶패 테스트

* chore: github action 테스트를 위한 성공 테스트

* chore: vanilla-extract storybook 적용

* chore: 프로젝트 세팅을 위한 필요없는 파일 없애기

* chore: playwright yarn script 추가

* chore: react-hot-toast 적용

---------

Co-authored-by: Jason <[email protected]>

* chore: 프로젝트 구조 세팅 (#11)

* chore: 필요없는 파일 제거

* fix: 파일명 오타 수정

* feat: 기본 디렉토리 추가

* chore: yarn set version berry (#12)

* chore: 깃허브 액션 변경

* feat: 모노레포 분리 (#28)

* chore: 서비스 디렉토리 이동

* chore: eslint 적용중

* fix: eslint 설정

* chore: extension 프로젝트 세팅 중 husky 충돌

* fix: pre-commit 동작 수정

* chore: backup

* chore: backup

* chore: backup2

* chore: setting

* chore: ignore 설정

* chore: husky 설치

* chore: monorepo로 변경된 뒤 액션 변경

* chore: husky 설치

---------

Co-authored-by: Jason <[email protected]>

* chore: 폴더명 변경에 따른 액션 변경

* chore: 폴더명 변경 (#37)

* Front/feat/#35 (#40)

* chore: 폴더명 변경
* build: 크롬 익스텐션 빌드 설정
* feat: css 파일 제거
* build: 파일 수정시마다 build되는 스크립트 추가
* chore: 의존성 설치
@tanstack/react-query, @vanilla-extract/css, react-router-dom, zustand
* feat: 디렉토리 생성
* feat: router 추가
* feat: react-query provider 설정
* feat: vanilla-extract 세팅

* feat: 현재 탭에서 데이터 가져오기 (#50)

* feat: 북마크 페이지 생성
* chore: 절대경로 수정
* build: build시에는 빌드를 한번하게 변경
* feat: 새로운 링크로 이동할 시 og image가져오는 동작 추
* feat: tab 열 때 마다 og image 가져오기
* refactor: 쓰지 않는 코드 제거
* chore: 주석 제거
* feat: 파비콘 가져오기
* feat: 서비스워커를 이용해서 동작하는 것으로 변경
* refactor: useGetTabInfo hook으로 분리
* refactor: background.ts 제거
* feat: og:description 가져오기
* chore: 쓰지 않는 상수 제거

* feat: 페이지 기본 요소 렌더링 (#52)

* chore: init

* design: theme 설정

* design: dirView 구조 정의

* chore: downgrade version - yarn 4.3.1 / typescript 5.5.4

* feat: react-arborist 적용 및 테스트 완료

* feat: 디렉토리 구성 및 아이콘 추가

* chore: use-resize-observer 라이브러리 추가

* design: tree 높이 동적 조절되도록 수정

* feat: 우측 view에 folder 및 link 표시

* chore: 컴포넌트 분리

* chore: 불필요한 주석 제거

* chore: 4.3.1 cjs 추가

* refactor: pr 수정요청사항 적용

* chore: import 수정

* chore: index.ts 추가

* chore: index.ts 추가

* chore: conflict 해결

* refactor: barrel exports pattern 적용

* refactor: icon export 처리

* refactor: directoryNode export 처리

* refactor: icon 이동

* refactor: icon을 public으로 이동

* chore: 불필요한 index 제거

* chore: 이름 변경

* chore: 이름 변경

* chore: 이름 변경

* chore: 이름 변경

* chore: 이름 변경

* [FEAT] 익스텐션 태그 인풋 핵심 로직 구현 (#126)

* feat: 북마크 페이지 생성
* chore: 절대경로 수정
* build: build시에는 빌드를 한번하게 변경
* feat: 새로운 링크로 이동할 시 og image가져오는 동작 추가
* feat: tab 열 때 마다 og image 가져오기
* refactor: 쓰지 않는 코드 제거
* chore: 주석 제거
* feat: 파비콘 가져오기
* feat: 서비스워커를 이용해서 동작하는 것으로 변경
* refactor: useGetTabInfo hook으로 분리
* refactor: background.ts 제거
* feat: og:description 가져오기
* chore: 쓰지 않는 상수 제거
* feat: cmdk 적용
* feat: 현재 선택한 태그가 보이도록 변경
* feat: 비동기 호출 흉내내서 라벨 데이터 가져오기
* chore: immer 설치
* feat: tagStore CRUD 구현
* chore: lucide icon 설치
* feat: deselect button ui 추가
* feat: deselect 기능 추가
* feat: SelectedTag ui 개선
* chore: todo 주석 제거
* feat: 동일한 태그가 없을 때 생성 아이템 추가
* feat: 태그 생성 로직 구현
* chore: 폴더 변경
* feat: TagInfoPopover 간단한 UI 구현
* feat: tag update 기능 추가
* chore: tagStore 폴더 변경
* chore: @radix-ui/react-dialog 설치
* chore: showDeleteTagDialogButton 파일 변경
* feat: DeleteTagDialog 상태 관리 구현
* chore: 다음 작업에 할 Todo 내용 추가
* feat: DeleteTag 관련 컴포넌트 구현
* chore: Command.Dialog css 변경
* refactor: useEffect내 함수 기명함수로 변경
* refactor: 분리되어있던 컴포넌트 SelectedTagItem폴더로 이동
* chore: components 에서 ui로 폴더명 변경
* refactor: TagInput컴포넌트에서 TagSelectionDialog컴포넌트 분리
* refactor: TagInput에서 TagPicker로 컴포넌트명 변경
* refactor: TagAutocompleteDialog로 컴포넌트명 변경
* refactor: TagPicker css명 변경
* refactor: css classname 변경
* refactor: 분리되어있던 css 합치기
* refactor: onSelectTag함수로 반복되는 함수 호출 합침
* refactor: 문자열 상수로 변경
* chore: 주석 추가
* feat: enter키 입력시 popover 켜지게 변경
* refactor: PopoverTriggerButton으로 분리
* chore: 사용하지 않는 index.ts 제거
* chore: 폴더명 components에서 ui로 변경
* chore: 폴더명 변경
* chore: tsbuildinfo update
* chore: 폴더 위치 이동
* chore: 폴더 이동
* chore: git pull frontend
* chore: todo 주석 추가

* [FEAT] Drag&Drop 구현: Directory (#117)

* test: mockdata 동적 생성

* chore: react-dnd, react-dnd-html5-backend 추가

* feat: dragDropManager 적용

* feat: dragDropManager 적용

* feat: Drag&Drop 시 mockData도 변경되도록 수정

* feat: treeData를 전역 상태로 관리

* design: LinkEditorSection 렌더링 요소 변경

* design: hover 시 음영 추가

* refactor: type 변경

* feat: 현재 위치에 폴더가 없으면 표시하지 않도록 변경

* fix: 아래로 이동 시 한칸씩 밀리는 버그 수정

* feat: FolderSection에 dnd 적용

* feat: LinkEditorSection 에서 DirectoryTreeSection 으로 Folder Drag and Drop 가능

* fix: DirectorySection에서 동일 부모의 자식 간 순서 변경 시 폴더를 아래쪽으로 이동할 경우 두칸씩 움직이는 문제 해결

* feat: DirectorySection에서 Folder를 이동 시 폴더 사라지는 로직 추가

* feat: LinkEditorSection에서 Pick Dnd 가능

* refactor: 중복 코드 hook으로 분리

* refactor: 이름 변경

* refactor: 이름 변경

* design: Lucid Icon 적용

* refactor: 중복 코드 제거

* chore: marged branch frontend

* chore: yarn cache clean and re-installed

* [FEAT] 우측으로 dnd 작업 가능 (#145)

* design: theme 변경시 icon 색상도 변경되도록 수정

* feat: LinkEditorSection 상단에 Directory Name 동적 변화

* design: 선택된 항목 강조 표시

* fix: DirectorySection 내부에서 dnd 작업 시 우측에도 반영되도록 수정

* fix: DirectorySection 내부에서 dnd 작업 시 우측에도 반영되도록 수정: 순서 변경 적용

* fix: DirectorySection 내부에서 dnd 작업 시 우측에도 반영되도록 수정: 순서 변경 적용

* fix: 순서 변경 시 인덱스 오차 수정

* feat: 폴더 클릭 시 해당 폴더로 이동

* fix: 내부에 요소가 없으면 빈 화면 표시

* feat: 좌측->우측 dnd 가능

* fix: 최초 로드 시 treeApi를 받아오지 못하는 문제 해결

* �[FEAT] .env 파일 설정 및 서버와 연결 확인 (#158)

* feat: 환경변수로 도메인 저장
* feat: 간단한 login 페이지 생성 및 .env파일 세팅

* �[FEAT] 크롬 익스텐션 로그인 링크 페이지 구현 (#167)

* build: dev 모드, production 모드에 따라 환경변수 주입
* build: build시에 manifest.json에 환경변수 주입
* fix: mode에 따른 환경변수 주입
* fix: script 오타 수정
* chore: ky 종속성 설치
* feat: ky를 이용한 baseApi 생성
* feat: 로그인 여부 파악 후 페이지 렌더링
* chore: tsbuildinfo 삭제
* chore: 주석 제거
* feat: Text 컴포넌트 구현
* feat: Button 컴포넌트 구현
* feat: 로그인 링크 페이지 구현
* feat: 상수로 적용
* fix: 상수대신 .env 직접 적용
- 해당 코드에서 에러가 생겨서 추후 수정할 예정
* chore: 주석 추가

* [FEAT] Swagger의 api-doc을 이용한 type 생성 (#177)

* feat: type 생성
* chore: root의 ts version 원상 복구

* [CI] 프론트엔드 서버 배포 스크립트 (#202)

* 🚀 프론트 서버 배포 설정

* 🚀 프론트 브랜치와 연결

* 🚀 docker image 빌드 전 환경변수 생성(for next build)

* build: 필요하지 않은 github action script 제거

* fix: cd script 원상 복구

---------

Co-authored-by: dmdgpdi <[email protected]>

* [FEAT] 북마크 생성 페이지 디자인 및 태그 API 연결, (#210)

* chore: 북마크 페이지 폴더 내로 이동

* feat: 북마크 페이지 기초적인 레이아웃 설정

* refactor: BookmarkHeader 컴포넌트 분리

* feat: Gap 컴포넌트 구현

* feat: Gap 컴포넌트 default값 변경

* feat: 북마크 페이지 style 분리

* feat: ogImage 가져오기

* feat: ThumbnailImage 컴포넌트 구현

* feat: 이미지 로딩 시 애니메이션 적용

* chore: 주석 제거

* refactor: ThumbnailImage 컴포넌트 수정

* feat: input tag css 적용

* feat: TagPicker tab 및 focus 애니메이션 적용

* refactor: onKeyDown 함수 뺴기

* chore: 인풋 값 확인

* feat: 위, 아래 화살표에 따라 focus를 변경하는 hook 생성

* feat: 화살표따라 탭 포커스 이동 적용

* feat: props에 따라 고정된 속성 제공

* chore: SelectedTagListLayout 폴더 이동

* feat: 공통 스타일 적용

* feat: SelectedTagList의 스타일 추가

* chore: 간단한 색 변경

* chore: 필요없는 data-desc 제거

* feat: 팝오버 버튼 tab 이동 막기, 엔터 키 제거

* chore: style 변경

* feat: 태그픽커 및 다이얼로그에 style 적용

* feat: radix-ui popover 를 floating-ui로 대체

* feat: 팝오버 버튼 디자인 구현

* feat: 태그 삭제 모달 디자인 추가

* feat: tag 목록이 길 때 스타일 변경

* �chore: 스크롤바 제거 globalStyle에 적용

* feat: 선택한 라벨 높이에 따라 commandListHeight 변경

* chore: css 제거

* feat: CommandList 로딩 화면 추가

* chore: randomcolor 라이브러리 설치

* chore: pre-commit command 수정

* fix: pre-commit command 수정

* feat: numberColor 함수 구현 및 태그 생성시 적용

* feat: randomColor style 적용

* chore: type 생성

* fix: 태그 다이얼로그에서 공백 입력시 아무것도 뜨지 않게 변경

* chore: schema를 위한 절대 경로 추가

* feat: 실제 서버의 타입으로 변경

* fix: 태그 리스트가 없을 때, Command.Empty가 보이게 조건문 변경

* fix: �적용되지 않는 함수 제거

* feat: 태그 생성 api 연결

* refactor: 태그 선택 취소 시에 id값만 이용

* feat: delete tag api 연결

* feat: updateTag api 연결

* chore: schema 타입 최신화

* fix: tagName 수정 후 enter key 입력시 모달창 생기는 버그 수정

* feat: 사용하지 않는 CurrentTabInfo 컴포넌트 삭제

* refactor: useGetTabInfo 폴더 이동

* refactor: api 적용을 위해 default value 변경

* fear: create pick api 연결

* chore: react hot toast 라이브러리 설치

* chore: 사용하지 않는 SAMPLE_DATA 제거

* feat: toast 라이브러리 적용

* feat: ApiErrorBody type 선언

* chore: todo 제거

* feat: post api 통신 에러 핸들링 추가

* feat: deleteTag optimistic update 추가

* feat: update tag optimistic update 추가

* refactor: useCalculateCommandListHeight hook으로 분리

* refactor: onSelectCreatableTag 함수 분리

* chore: 쓰지 않는 return 제거

* feat: enter key로 태그 삭제 및 취소 가능

* feat: 간단한 에러 페이지 생성

* feat: 에러 핸들링 추가

* [FEAT] sanitizeHtml에서 DOMPurify로 교체 (#213)

* fix: 런타임 에러 해결(잘못된 변수 접근) (#215)

* [FEAT] 크롬 익스텐션 픽 수정 기능 구현 (#229)

* chore: schema 최신화
* feat: getLinkByUrl api 추가
* feat: useHasLink hook 구현
* chore: API 변경에 따른 type 최신화
* feat: CreatePickForm, UpdatePickForm 분리
* feat: chore: Pick API 변경에 따른 type 최신화
* feat: link api 삭제
* feat: getPickByUrl api 추가
* feat: useHasPick 변경
* chore: ThumbnailImage backgroundColor 변경
* feat: updateForm 구현
* feat: 로딩 상태 시의 Skeleton 구현
* feat: DeferredComponent 구현
* feat: 로딩화면 구현
* chore: 주석 제거

* [FEAT] Backend api 연결 및 ux 미세조정 (#227)

* design: flex wrap 설정

* design: flex wrap 이중 줄바꿈 문제 수정

* feat: 우클릭 시 context menu 표시

* chore: 주석 제거

* chore: alt 이름 변경

* feat: treeRef 추가

* feat: mockData create 가능

* feat: api 연동: create&move

* feat: api 연동: dnd move 동작 확인

* refactor: 핸들러 함수 hook으로 분리

* feat: edit ux 추가 및 arborist node outline 제거

* feat: folder rename 연결 완료

* feat: folder delete(move to recyclebin) 연결 완료

* feat: create 로직 수정

* feat: 초기 로드 시 recycleBin 생성(향후 수정 예정)

* feat: Tree 컴포넌트 추가 전 커밋

* chore: popover Demo 추가

* design: 버튼 및 팝오버 디자인 수정

* feat: 휴지통 붙임:수정예정

* feat: 휴지통 숨김 설정

* design: 전체적인 디자인 미세 조정

* feat: 로그아웃 버튼 추가 및 디렉토리 조정

* feat: client 로그인 검증로직 추가

* design: 로그인 페이지 디자인 추가

* refactor: 폴더 create 로직 수정

* refactor: 폴더 create 로직 수정2

* refactor: 필요없어진 popover제거

* fix: 중첩 폴더 구조에서 폴더 생성 불가한 문제 해결

* design: 에러 토스트 메시지 추가

* refactor: 삭제 로직 수정(id 부여 방식)

* feat: 휴지통에서 폴더 완전삭제 가능

* [FEAT] 익스텐션 테마 적용 (#241)

* feat: theme을 techpick-shared 모노레포로 분리
* feat: theme 적용
* design: 익스텐션 테마 적용
* fix: peerDependencies제거
* design: techpick의 theme을 techpick-shared에 의존하게 변경
* feat: techpick reset.css 수정
* feat: git pull 이후 필요없는 파일 삭제
* feat: theme 동기화

* [FEAT] 카드 컴포넌트 디자인 구현 (#246)

* fix: ky middleware credentials속성 올바르게 적용

* feat: teckpick-service와 동일하게 id 변경

* feat: techpick-shared의 export 추가

* feat: images모든 url을 허용 및 next.config.mjs제거

* chore: 의존성 설치

* chore: @/schema 절대 경로 추가

* chore: portalContainer id 변경

* feat: pickCard 컴포넌트 디자인 및 레이아웃 구현

* feat: TagPicker 컴포넌트 복사

* [FEAT] 버그 수정, 휴지통 복원, context menu, pr 요청사항 적용 (#247)

* fix: 한글 입력시 폴더 두번 생성되는 문제 해결

* fix: 생성중인 폴더가 있을 때, 폴더 추가생성 방지로직 추가

* refactor: 폴더 위치 변경 및 Input 테마 적용

* fix: 노드 클릭 시 2개의 트리 중 한 노드만 focus되도록 수정

* refactor: 프로젝트 디렉토리 및 파일 구조 수정

* refactor: 프로젝트 디렉토리 및 파일 구조 수정2

* feat: recycleBin에서 contextmenu 사용 가능

* feat: recycleBin에서 restore 가능

* refactor: 이전 코드리뷰 comment 반영

* fix: 폴더 생성시 input이 사라지는 문제 수정

* fix: 폴더 삭제 시 우측 화면 업데이트 안되는 문제 수정

* fix: DirectorySection ui 틀어짐 수정

* feat: 휴지통 내부 dnd 가능

* fix: 좌측 디렉토리 절반만 표시되는 문제 수정

* fix: 간격 수정

* fix: 휴지통 dnd 비활성화

* fix: 생성 또는 이름변경 실패 이후 + 버튼클릭 안되는 버그 수정

* feat: 우측 folder contextMenu 이용가능
*버그 수정 필요(recycleBin menu 출력되는 문제)*

* fix: 우측 contextMenu 버그 수정

* fix: 우측 context 수정중

* chore:충돌 방지용 git pull

* [CI] 도커 이미지 build 관련 버그 수정 (#252)

* build: Dockerfile yarn berry 적용 및 필요한 파일 추가
* chore: 주석 변경

* fix: tag 생성 연속 입력 문제 해결 (#257)

* [FIX] 로그인된 상태일 때 메인 페이지로 리다이렉트 (#260)

* [FEAT] unclassified 표시 가능 (#261)

* feat: unclassifiedPicks api 호출 코드 추가

* feat: unclassified 표시됨

* [FEAT] PickCard API 연결 (#266)

* chore: 주석 추가

* feat: PickCard 이미지 스타일 수정

* chore: 쓰지 않는 apis 폴더 삭제

* refactor: 중복된 api middleware 제거

* fix: ky middleware content-type 추가

* feat: getPick api 연결

* design: 디자인 변경

* chore: import 순서 변경

* feat: updatePick api 연결

* feat: selected Tag 태그 삭제시 상태 변경

* chore: 주석제거

---------

Co-authored-by: Jason <[email protected]>

* feat: skelton 적용 (#268)

* feat: skelton 적용

* feat: link 추가 및 tagPicker 동작 수정

* [FIX] 태그 생성 후 창 유지후에 수정 했을 때, 생성한게 추가가 안되는 로직 (#270)

* [FEAT] pick dnd (#272)

* feat: nodeApi로 변환 로직 추가

* fix: 임시 디바운싱 적용

* fix: api 교체

* fix: 간헐적으로 unclassified 안보이는 문제 수정

* feat: pick 휴지통, 복원, 삭제 api 연결완료

* fix: 이름 길어지면 ...으로 표시

* fix: 가상 미분류 폴더 렌더링 방지 처리

* fix: 버그유발 기능 비활성화

* fix: fix

* fix: fix2

* [REFACTOR] 폴더구조 변경 (#308)

* refactor: shared 폴더 제거

* refactor: entities/pick 폴더 제거

* refactor: entities/tag 제거

* refactor: features/tag 제거

* refactor: features/userManagement 제거

* refactor: features/themeManagement 제거

* refactor: features/nodeManagement 제거

* refactor: widgets 제거

* [REFACTOR] import 순서 변경 (#311)

* chore: eslint import 순서 정리
* reafactor: import 순서 변경

* feat: 디자인 토큰 추가

* feat: 디자인 토큰 적용

* feat: �commontThemeContract 삭제

* fix: ThemeProvider 변경사항 적용

* fix: 위치 조정

* [FEAT] 디자인 토큰 추가

* [FEAT] 같은 계층일 때, 폴더 multi select 구현 (#332)

* chore: dnd-kit 설치 및 tree 페이지 생성

* feat: jest 설정추가

* fix: jest monorepo별 적용

* chore: root jest config 삭제

* feat: 같은 부모 밑에서 1개씩 폴더 이동

* design: tree page margin 변경

* test: 복수의 폴더 이동 테스트코트 작성

* feat: 현재 드래그 여부 상태 zustand에 추가

* feat: 폴더 다중 선택 기능 추가

* feat: DragOverlay추가

* design: primary color로 변경

* fix: test문 it.only 제거

* refactor: dndTreeStore에 hasIndex 적용

* [FEAT] 검색창 및 리스트 로직 설계 (#333)

* feat: 검색 위젯 로직 구현

* feat: 유틸리티 클래스 구현 (파싱, 필터링)

* doc: 유틸리티 참고 이미지 및 설명

* feat: zustand, react query 추가

* feat: 뷰포트 리액트 컴포넌트

* refactor: esToolkit import

* refactor: useViewScope 변경

* refactor: useQuery 함수명 파일명 변경

* refactor: useQuery 함수명 파일명 변경

* refactor: Util 함수 리팩토링

* [FEAT] 픽 리스트 - 사용자 설정 필터 & 뷰 템플릿 (#348)

* feat: 검색 위젯 로직 구현

* feat: 유틸리티 클래스 구현 (파싱, 필터링)

* doc: 유틸리티 참고 이미지 및 설명

* feat: zustand, react query 추가

* feat: 뷰포트 리액트 컴포넌트

* refactor: esToolkit import

* refactor: useViewScope 변경

* refactor: useQuery 함수명 파일명 변경

* refactor: useQuery 함수명 파일명 변경

* refactor: Util 함수 리팩토링

* chore: 파일 제거 및 위치 이동

* chore: use-Immer 패키지 추가

* feat: 유틸리티 (Stream, Tokenizer) 리팩토링 및 개선

* chore: 공통 타입 추가 및 일부 변경

* feat: 태그 아이템 UI 컴포넌트 (익스텐션에서 가져옴)

* feat: 최상단 컴포넌트 (뷰어) 및 상태 구현

* test: 쿼리 더미 데이터 추가

* feat: 옵션 리스트 위젯 및 상태 구현

* feat: 검색창 위젯 구현

* feat: 필터 옵션 기능 구현

* feat: 뷰 템플릿 (리스트 vs 그리드) 옵션 구현

* chore: 디렉토리 이름 변경, 기존 폴더 제거

* chore: dummy data 업데이트

* ♻️ refactor: 코드 리뷰 기반으로 리팩토링 진행

* [REFACTOR] Drag & Drop 함수 및 컴포넌트 분리  (#351)

* test: moveFolder test code 삭제

* feat: mockdata 변경에 따른 로직 변경

* refactor: 중앙 스토어에서 로직 분리

* design: treePageWrapper css 변경

* feat: shift + click시에 active가 부모 폴더가 다르면 초기화

* feat: 다른 폴더간 이동 구현

* chore: 테스트코드 예제 삭제

* refactor: reorderFolderInSameParent 함수명 수정

* refactor: SelectedFolderListType으로 대체

* refactor: handleClick 함수 분리

* chore: tree 컴포넌트를 components 폴더로 이동

* [FEAT] 공통 테마에 jsdoc 추가 (#354)

* [FIX] drag & drop 후 정렬 변경 (#360)

* fix: drag & drop 후 정렬 변경

* refactor: isSameParentFolder parameter 변경(동일한 값)

* [FEAT] 폴더 생성 UI 및 상태 관리 로직 변경 (#365)

* design: 작업 전 디자인 변경

* design: CreateFolderInput 디자인 추가

* feat: 폴더 생성 UI 구현

* design: FolderTree 전체적인 레이아웃 변경

* design: 폴더 트리 디자인 개선

* feat: CreateFolderInput 생성시 focus 이동

* design: createFolderInputLayout 디자인 변경

* [FEAT] 폴더 이름 변경 UI 및 로직 구현 (#367)

* feat: CreateFolderInput, FolderInput 컴포넌트로 추출

* design: 공통 테마 사이즈 추가

* chore: PORTAL_CONTAINER_ID 상수로 변경

* feat: 폴더 이름 변경 UI 및 로직 연결

* feat: 우클릭시에 포커스되는 폴더 변경

* [FEAT]: 삭제 UI 및 로직 추가 (#369)

* [CI/CD] nextjs docker image 사이즈 감소 (#380)

* [FEAT] Folder API 연결 (#399)

* chore: api 변경에 따른 스키마 업데이트

* feat: 폴더 관련 api 타입 지정

* refactor: api 변경에 따른 타입 변환

* feat: top level error 추가

* feat: folder crud api 추가

* chore: api 변경에 따른 타입 변경

* feat: 폴더 드래그 앤 드랍 api 연결

* feat: 폴더 이름 변경 api 연결

* feat: 휴지통 이동 api 연결

* refactor: -1 매직넘버 상수로 변경

* chore: mockdata 삭제

* chore: re-resizable 의존성 설치

* faet: FolderTree 크기 조정 가능하게 변경

* chore: api 변경에 따른 타입 최신화

* feat: createFolder api 연결

* refactor: getFolders, getBasicFolders 로 함수명 변경

* reafactor: getRootFolderList로 변경

* [FEAT] 폴더 클릭에 따른 라우팅 변경 (#405)

* feat: 라우팅 설정 변경

* chore: root 폴더에서 tsc 동작시 build된 파일 생성 차단

* chore: legacy 삭제

* feat: 폴더 클릭시마다 라우팅 이동

* feat: useTreeStore subscribeWithSelector 적용

* refactor: FolderInfoItem 컴포넌트 분리

* feat: url을 이용해 folder 선택하게 변경

* feat: route 경로 추가

* feat: middleware redirect url 변경

* feat: 휴지통 및 미분류 폴더 추가

* design: 최초 로딩시에 사이드바 사이즈 지정

* design: 사이드바 디자인 조정

* chore: 쓰지 않는 props 제거

* refactor: useEffect 함수명 추가

* [FEAT] 검색 위젯 기능 구현 및 미사용 필터 제거 (#410)

* chore: 중간 작업 공유

* chore: 타입 변경 및 기존 SearchWidget.tsx 리팩토링

* chore: 타입 변경 및 기존 SearchWidget.tsx 리팩토링

* feat: 기존 로직에서 미사용하는 필터 제거

* feat: dndTreeStore 병합 작업

* [FEAT] 검색창 자동 완성 (#418)

* refactor: PrefixTokenizer 구현 수정

* refactor: PrefixTokenizer 구현 수정

* feat: 검색 위젯 토큰화 구현

* chore: 화면 테스트를 위한 뷰어 패널 코드 수정 (반영 안될 수 있는 커밋)

* feat: 토큰 검색창 CSS 설정

* chore: 일부 주석 추가 및 코드 위치 변경

* chore: yarn.lock 파일 커밋

* [FEAT] 같은 폴더 내에서 Pick Drag&Drop 구현 (#420)

* chore: 백엔드 api 타입 최신화

* chore: util 스펠링 정확하게 변경

* feat: pickType 추가

* feat: getPicksByFolderId 추가

* refactor: viewTemplate 코드 변경

* refactor: 바로 호출이 아닌, useEffect 내에서 비동기함수 호출

* chore: git pull을 위한 커밋

* refactor: pickCardListViewer로 PickCard 컴포넌트 이동

* design: card link style 변경

* feat: 더블 클릭시 링크 이동

* feat: dnd가 가능한 list와 그렇지 않은 list분리

* refactor: dnd여부에 따라 PickListViewer분리

* refactor: DnDCurrentType을 dnd.type으로 이동

* refactor: 공통 utils함수로 추출

* feat: 픽에서 픽으로 이동(api 미연결)

* feat: pick multi-select 구현

* feat: multi-select drag&drop 구현(api 미연결)

* feat: 같은 폴더 내 픽 drag&drop api 연결

* [FIX] 깃허브 액션 API 테스트

* [FIX] 검색창 버그 수정 및 URL 업데이트 (#424)

* 🚨 fix: useSearchParams 사용처에 <Suspence> 추가

* [DESIGN] 폴더 영역 디자인 개선 (#430)

* [FEAT] 픽을 폴더로 이동하는 기능 추가 (#432)

* refactor: draggable type에 따라 검증 함수 분리

* chore: store barrel export 추가

* feat: pick to folder를 위한 dnd context 생성

* fix: dnd context 변경에 따른 로직 변경

* refactor: 컴포넌트명 변경

* refactor: useGetDndContextSensor로 로직 분리

* fix: 로직에 따라 pickId 문자열 대신 정수로 수정

* feat: PickDraggableObjectType에 부모 폴더 id 추가

* feat: 드래깅하는 카드 정보 store에 추가

* feat: pick to pick 시 overlay 카드 생성

* feat: folder drag시 folder overlay 보이도록 변경

* design: 카드 드래그 시 크기 줄이기

* feat: pick to folder drag over시 폴더 색상 변경

* refactor: movePicksToEqualFolder로 함수명 변경

* feat: 휴지통 및 미분류로 픽 이동 감지

* feat: 다른 폴더로 픽 이동 로직 추가

* feat: 폴더 디테일 페이지 뷰 연결

* feat: �휴지통 페이지 카드 렌더링

* [FIX] DragOver 수정 및 휴지통 이동 로직 변경 (#441)

* fix: DragOver 개선

* refactor: 백엔드 API 변경에 따른 휴지통 이동 로직 변경

* [FIX] 현재 포커스된 폴더 삭제 시에 미분류 페이지로 리다이렉트 (#446)

* fix: 현재 포커스된 폴더 삭제 시에 미분류 페이지로 리다이렉트

* design: 드래그시 outline 제거

* [FEAT] 로그인 리다이렉트 URL 추가 (#450)

* chore: sample 대신 관용적으로 사용되는 example로 변경

* feat: 로그인 redirect url 추가

* ci/cd: github Actions secrets 추가 및 적용

* [REFACTOR] 익스텐션 폴더 구조 변경 및 API 최신화 (#458)

* feat: 익스텐션 로그인 페이지 디자인 변경

* chore: 백엔드 타입 최신화

* chore: 백엔드 타입 최신화

* refactor: type은 types폴더로 이동

* chore: 백엔드 타입 최신화

* refactor: api 호출 함수 변경

* refactor: api url 상수로 관리

* feat: barrel export에서 값과 함수 제거

* refactor: 도메인 의존성 없는 컴포넌트 lib폴더로 이동

* refactor: toast 관련 함수 lib 폴더로 이동

* refactor: store는 store폴더로 이동

* chore: 사용하지 않는 타입 제거

* refactor: util함수 util 폴더로 이동

* refactor: 페이지 폴더 제거

* refactor: 컴포넌트는 컴포넌트 폴더로 이동

* fix: returnErrorFromHTTPError에 await 문구 추가

* chore: 백엔드 api 변경에 따른 타입 변경

* [FIX] 로그인 이후 뒤로가기 시 로그인 화면으로 이동하지 못하게 수정 (#453)

* [fix] 픽 검색 API 페이지네이션 적용 (#460)

* chore: 무한스크롤 라이브러리 추가

* chore: 무한스크롤 라이브러리 추가

* feat: 무한 스크롤 구현

* chore: pick 조회 스토어 함수 수정

* chore: 불필요한 코드 수정

* [FEAT] radix-color 추가 (#462)

* feat: radix-color 추가

* chore: radix-color 추가 변경사항 적용

* chore: route 변수 수정

* feat:  breadcrumb 적용

* chore: 기타 스타일링

* chore: 입력창 스타일링

* feat: 무한 스크롤 다듬기 작업

* feat: 검색창 변수 수정

* [DESIGN] 검색 바 디자인 개선 (#463)

* chore: route 변수 수정

* feat:  breadcrumb 적용

* chore: 기타 스타일링

* chore: 입력창 스타일링

* feat: 무한 스크롤 다듬기 작업

* feat: 검색창 변수 수정

* fix: useSearchParams는 suspense로 반드시 감싸야 한다.

* refactor: ApiFolderErrorCode 오타 수정 (#468)

* [FEAT] 메모 제거, 폴더 선택 추가(API 미연결), 우클릭시 사이트 이동 (#473)

* feat: 익스텐션 아이콘 추가

* feat: 로그인 로고 변경

* feat: 북마크 페이지 아이콘 변경 및 링크로 이동

* chore: 오타 수정

* feat: theme 추가

* feat: 메모 제거

* feat: 로그인 페이지 삭제

* chore: radix select 설치

* feat: 폴더 선택 select 간단한 컴포넌트 구현

* feat: createPick시에 폴더 선택 기능 구현

* feat: update시에도 폴더 선택 기능 추가(api 미연결)

* feat: 크롬 익스텐션 우클릭시에 서비스 링크로 이동

* feat: 로딩 화면 추가

* [REFACTOR] 픽 리팩토링, 검색 테스트 구현 (#474)

* refactor: FolderType label 수정

* refactor: 파라미터 idList -> pickIdList 명시적으로 변경

* refactor: folder 내부에 있는 pick_order 리스트에 pickId가 중복 생성되는 문제 해결

* refactor: root folder 검색 못하도록 예외 처리

* refactor: pick controller 메서드명 수정

* refactor: DB fleid 함수를 이용하여 정렬된 픽 리스트 조회할 수 있는 메서드 구현

* refactor: 픽 검색 시 폴더 리스트가 null인 경우 검증하지 않도록 변경, tag 검증 추가

* refactor: 테스트 코드 작성

* refactor: 테스트 코드 ParameterizedTest로 리팩토링 (#476)

* [DESIGN] 익스텐션 디자인 변경 (#479)

* chore: title 설정

* chore: 아이콘 변경 및 안쓰는 아이콘 제거

* feat: radix-ui 의존성 설치

* design: 테마 추가

* design: globalStyle a tag 제거

* design: TagPicker 디자인 변경

* refactor: numberToRandomColor 변경

* design: folder select 디자인 변경

* design: TagPicker placeholder 추가

* design: ThumbnailImage css 변경

* design: CreatePickForm 변경

* feat: BookmarkHeader 제거

* feat: useCalculateCommandListHeight 삭제

* design: 업데이트 및 로딩 화면 디자인 변경 적용

* design: 로딩 화면 변경 적용

* refactor: loginGuard 로직 변경

* feat: FolderSelect 화살표 이동 추가

* chore: 사용하지 않는 헤더 삭제

* [FIX] 픽 수정 리팩토링 및 검증로직 개선 (#477)

* refactor: 불필요한 초기값 제거

* fix: 엔티티를 list로 조회시 존재하지 않는 엔티티를 조회하려고 하면 NOT_FOUND 예외 발생

* fix: pick update시 부모폴더 id도 변경 가능하도록 수정, 누락된 검증 로직 추가

* fix: 기능 변경에 의한 테스트 코드 수정

* fix: idList로 폴더 조회시 존재하지 않는 폴더id로 조회하면 예외 발생

* refactor: 파라미터명 명확하게 수정 idList -> folderIdList

* [FEAT] error 메세지 전송 및 폰트 적용방식 변경 (#482)

* feat: 에러 메세지 명세

* feat: error 메세지 명세

* feat: 폰트 적용 방식 변경

* chore: react-router-dom 버전 변경

v7 점진적으로 도입하는 버전이라 warning log가 떠서 변경

* feat: 폴더 응답에 생성 수정 일자 추가 (#485)

* [�FEAT] 익스텐션 배포 전, 수정 (#489)

* fix: 디자인 변경

* chore: 익스텐션에서 사용하지 않는 의존성 제거

* fix: 휴지통 보이지 않게 하기

* feat: 서버 에러시 toast 알림

* feat: 정상 동작 시 창닫기

* feat: error message 추가

* feat: 폴더 최신순 정렬

* design: 색 추가 및 적용

* design: 인풋 디자인 변경

* feat: font 재적용

* fix: http로 시작하지않으면 저장 안되게 수정

* fix: update시에 폴더 추가

* design: footer 디자인 추가

* docs: manifest.json description 추가

* hotfix: 익스텐션 design 변경

* fix: zip파일 제거

* [FEAT] 에러 요청에 대한 로깅 구현 (#481)

* feat: error request logging 구현

* feat: 기존 예외처리 로직에 요청 로깅 추가

* chore: 주석 추가

* fix: 로깅 방식 변경 - application.log에 sql 로깅 제외

* fix: 누락된 로깅 로직 추가

* [fix] refetch 검색 안되는 문제 해결 (#496)

* [FEAT] 픽 렌더링 카드에서 리스트 아이템으로 교체 (#501)

* feat: PickRenderModeState 구현

* feat: PickRecordListLayout 컴포넌트 구현

* feat: PickCard대신 PickRecord 렌더링으로 변경

* feat: usePickRenderModeStore 의존성 제거

* �[FEAT] 폴더 export 기능 구현 (#504)

* feat: 폴더 export 기능 구현

* feat: url 수정

* [DESIGN] 디자인 변경 (#500)

* [FEAT] 파비콘 추가 및 title 변경 (#503)

* [FEAT] 픽 제목 최대 길이 검증 및 Validation 검증 리팩토링 (#499)

* refactor: 픽 제목 최대 길이 제약조건 추가

* feat: 픽 제목 최대 길이 제약조건 예외, 예외 코드 추가

* refactor: bean validation 예외 상세하게 반환하도록 수정

* refactor: tag 이동 시 리스트 길이보다 큰 인덱스로 이동 시 IndexOutOfBoundsException 발생하는 문제 해결

* fix: title이 null일 때 터지는 오류 해결

* fix: && 문법 오류 수정

* [BUG] 픽 태그 삭제 버그, 픽 수정 버그 수정 (#509)

* refactor: 픽에 사용되었던 유저 태그 삭제 시 500에러 해결

* refactor: pick unique index title 제거

* refactor: 픽을 휴지통으로 이동 시 폴더 내에 있는 픽 리스트 제거 및 가독성을 위해 로직 공통 처리

* refactor: 불필요한 메서드 제거 및 메서드명 변경

* refactor: 운영 환경에서 스웨거 접근 못하도록 하는 설정 추가

* refactor: 폴더 삭제 시 픽들이 휴지통으로 이동될 때 부모 폴더의 픽 리스트 수정이 필요하지 않음.

* refactor: 미분류, 휴지통 폴더에 폴더 생성하지 못하도록 변경, 에러 메세지 변경

* refactor: 메서드명 수정

* refactor: 픽 생성 시 타이틀이 없으면 터지는 예외 해결

* refactor: 데드락 문제 해결을 위해 트랜잭션 범위 최소화

* [FEAT] PickRecord 컴포넌트 구현 및 pick 수정(태그, 타이틀)기능 구현 (#513)

* feat: PickRecord에서 PickListItem 분리

* refactor: TagPicker 크롬 익스텐션 코드 가져오기

* design: list item 줄어들 때, textoverflow 적용

* fix: li 내부에 li가 들어갈 수 없음

* refactor: pick 수정 api 변경

* feat: updatePickInfo 로직 구현

* feat: updatePickInfoStore 구현

* feat: 픽 제목 수정 기능 구현

* chore: 나중에 할 todo 등록

@todo: 현재 SearchWidget이 사용되는 페이지에 전체적으로 적용되고 있음.

* chore: @radix-ui/react-separator 설치

* refactor: PickRecord PickSearchRecord로 변경

* feat: PickRecord로 대체

* feat: tagStore 안쓰는 함수 삭제

* refactor: tag 관련 api 함수 호출 경로 수정

* design: 안보이는 색 변경

* feat: TagPicker CRUD 적용

* design: 디자인 변경

* [BUG] 픽 태그 리스트 수정 시 데드락 문제 수정 (#514)

* refactor: 픽 생성 시 타이틀이 없으면 터지는 예외 해결

* refactor: 데드락 문제 해결을 위해 트랜잭션 범위 최소화

* hotfix: Pick 엔티티의 Link Lazy -> Eager

* [FEAT] 픽 휴지통 이동 및 휴지통에서 픽 삭제 구현, 픽 포커스 변경 (#515)

* feat: PickRecord에서 PickListItem 분리

* refactor: TagPicker 크롬 익스텐션 코드 가져오기

* design: list item 줄어들 때, textoverflow 적용

* fix: li 내부에 li가 들어갈 수 없음

* refactor: pick 수정 api 변경

* feat: updatePickInfo 로직 구현

* feat: updatePickInfoStore 구현

* feat: 픽 제목 수정 기능 구현

* chore: 나중에 할 todo 등록

@todo: 현재 SearchWidget이 사용되는 페이지에 전체적으로 적용되고 있음.

* chore: @radix-ui/react-separator 설치

* refactor: PickRecord PickSearchRecord로 변경

* feat: PickRecord로 대체

* feat: tagStore 안쓰는 함수 삭제

* refactor: tag 관련 api 함수 호출 경로 수정

* design: 안보이는 색 변경

* feat: TagPicker CRUD 적용

* design: 디자인 변경

* feat: deletePicks api 함수 구현

* design: TagPicker 화면 짤림 수정

* feat: 우클릭 휴지통 이동 및 삭제 구현

* feat: PickRecord로 렌더링 변경

* feat: 페이지 이동시, pick item 외부 클릭시 선택된 요소 초기화

* refactor: PickTag에 낙관적 락 설정

* refactor: Spring retry 추가

* [REFACTOR] PickTag 테이블에 낙관적 락 설정 (#519)

* refactor: PickTag에 낙관적 락 설정

* refactor: Spring retry 추가

* refactor: 픽태그 삭제 부분 수정

* design: tag 생성이나 삭제 시에 TagAutocompleteDialog 위치 조정 (#520)

* [FIX] 두번 useEffect 호출 되는 거 방지 (#518)

* refactor: pick 수정하는 부분에 비관적 락 추가 (#521)

* chore: 로그인 페이지 작업 (#508)

* [FEAT] 크롬 북마크 Import 기능 구현 (#522)

* fix: access token, JSESSIONID 로깅 안하도록 수정, multipart file 캐싱 안하도록 수정

* fix: 입력값이 공백 또는 null일 경우 update하지 않음, 기본값을 빈스트링("")으로 설정

* feat: ogTag 업데이트 구현 및 필요한 의존성 추가

* feat: chrome 북마크 import를 위한 메소드 추가

* feat: chrome 북마크 import export 구현

* refactor: 주석 수정

* refactor: swagger 설정 수정

* refactor: link의 title과 description 필드 text타입으로 수정

* chore: 주석 typo 수정

* refactor: typo 수정

* [DESIGN] 디자인 작업 (#524)

* chore: 로그인 페이지 작업

* feat: 디자인 작업 반영

* fix: 미사용 import 제거

* fix: 서치 버그 해결

* feat: og 태그 데이터 가져오는 api 구현 (#525)

* refactor: 운영 서버에서 스웨거 접근 못하도록 변경 (#527)

* [DESIGN] 배포전 PR (#529)

* design: tag 생성이나 삭제 시에 TagAutocompleteDialog 위치 조정

* feat: Gap 컴포넌트 변경

* design: PickRecord 이미지 영역 사이즈 변경

* design: 헤더 Image table 명명

* design: flex-shrink 적용

* chore: 코드 스타일 변경

* fix: TagPicker 컴포넌트 floating element style 변경

* design: TagRecord Input 디자인 변경

* design: font 모든 부분에 동일하게 적용

* refactor: moveFolderToRecycleBin refactoring

* design: 디자인 변경

* design:2차변경

* design: 버튼 color 추가

* feat: PickSearchRecord 추가

* feat: 링크 추가

* fix: url 수정 및 구현안된 기능 숨기기

---------

Co-authored-by: Jason <[email protected]>
Co-authored-by: Jason <[email protected]>
Co-authored-by: Minky <[email protected]>
Co-authored-by: Pak Su Hyung <[email protected]>
Co-authored-by: Sangwon Yang <[email protected]>
dmdgpdi added a commit that referenced this pull request Nov 22, 2024
* chore: 세팅중인 상태

* fix: vanilla-extract 설정 변경

* fix: storybook 실행 안되는 오류 해결

@chromatic-com/storybook이 문제였음.

* chore: storybook tset 확인

* chore: eslint 예외 추가

* chore: eslint, prettier 설정

* chore: DS_Store ignore

* chore: husky 테스트

* chore: husky 적용 중

* chore: husky 적용

* chore: 테스트용 컴포넌트 삭제

* chore: jest 적용

* chore: ts를 devDependencies로 이동

* chore: sample test 파일 삭제

* chore: add files to gitignore

* chore: vscode setting 추가

* chore: playwright example test code 삭제

* chore: e2e test github action 추가

* fix: action 오타 수정

* fix: 깃허브 액션 오타 수정

* chore: add corepack

* chore: 실행 순서 변경

* chore: browser 설치

* chore: playwright-report path 변경

* chore: �액션 if문 제거

* fix: 액션 탭 간격 변경

* chore: github action 테스트를 위한 싶패 테스트

* chore: 항상 report를 뽑을 수 있게 변경

* chore: github action 테스트를 위한 성공 테스트

* chore: vanilla-extract storybook 적용

* chore: 프로젝트 세팅을 위한 필요없는 파일 없애기

* chore: playwright yarn script 추가

* chore: react-hot-toast 적용

* feat: 깃허브 액션 테스트용 PR (#4)

* chore: 세팅중인 상태

* fix: vanilla-extract 설정 변경

* fix: storybook 실행 안되는 오류 해결

@chromatic-com/storybook이 문제였음.

* chore: storybook tset 확인

* chore: eslint 예외 추가

* chore: eslint, prettier 설정

* chore: DS_Store ignore

* chore: husky 테스트

* chore: husky 적용 중

* chore: husky 적용

* chore: 테스트용 컴포넌트 삭제

* chore: jest 적용

* chore: ts를 devDependencies로 이동

* chore: sample test 파일 삭제

* chore: add files to gitignore

* chore: vscode setting 추가

* chore: playwright example test code 삭제

* chore: github action 테스트를 위한 싶패 테스트

* chore: github action 테스트를 위한 성공 테스트

* chore: vanilla-extract storybook 적용

* chore: 프로젝트 세팅을 위한 필요없는 파일 없애기

* chore: playwright yarn script 추가

* chore: react-hot-toast 적용

---------

Co-authored-by: Jason <[email protected]>

* chore: 프로젝트 구조 세팅 (#11)

* chore: 필요없는 파일 제거

* fix: 파일명 오타 수정

* feat: 기본 디렉토리 추가

* chore: yarn set version berry (#12)

* chore: 깃허브 액션 변경

* feat: 모노레포 분리 (#28)

* chore: 서비스 디렉토리 이동

* chore: eslint 적용중

* fix: eslint 설정

* chore: extension 프로젝트 세팅 중 husky 충돌

* fix: pre-commit 동작 수정

* chore: backup

* chore: backup

* chore: backup2

* chore: setting

* chore: ignore 설정

* chore: husky 설치

* chore: monorepo로 변경된 뒤 액션 변경

* chore: husky 설치

---------

Co-authored-by: Jason <[email protected]>

* chore: 폴더명 변경에 따른 액션 변경

* chore: 폴더명 변경 (#37)

* Front/feat/#35 (#40)

* chore: 폴더명 변경
* build: 크롬 익스텐션 빌드 설정
* feat: css 파일 제거
* build: 파일 수정시마다 build되는 스크립트 추가
* chore: 의존성 설치
@tanstack/react-query, @vanilla-extract/css, react-router-dom, zustand
* feat: 디렉토리 생성
* feat: router 추가
* feat: react-query provider 설정
* feat: vanilla-extract 세팅

* feat: 현재 탭에서 데이터 가져오기 (#50)

* feat: 북마크 페이지 생성
* chore: 절대경로 수정
* build: build시에는 빌드를 한번하게 변경
* feat: 새로운 링크로 이동할 시 og image가져오는 동작 추
* feat: tab 열 때 마다 og image 가져오기
* refactor: 쓰지 않는 코드 제거
* chore: 주석 제거
* feat: 파비콘 가져오기
* feat: 서비스워커를 이용해서 동작하는 것으로 변경
* refactor: useGetTabInfo hook으로 분리
* refactor: background.ts 제거
* feat: og:description 가져오기
* chore: 쓰지 않는 상수 제거

* feat: 페이지 기본 요소 렌더링 (#52)

* chore: init

* design: theme 설정

* design: dirView 구조 정의

* chore: downgrade version - yarn 4.3.1 / typescript 5.5.4

* feat: react-arborist 적용 및 테스트 완료

* feat: 디렉토리 구성 및 아이콘 추가

* chore: use-resize-observer 라이브러리 추가

* design: tree 높이 동적 조절되도록 수정

* feat: 우측 view에 folder 및 link 표시

* chore: 컴포넌트 분리

* chore: 불필요한 주석 제거

* chore: 4.3.1 cjs 추가

* refactor: pr 수정요청사항 적용

* chore: import 수정

* chore: index.ts 추가

* chore: index.ts 추가

* chore: conflict 해결

* refactor: barrel exports pattern 적용

* refactor: icon export 처리

* refactor: directoryNode export 처리

* refactor: icon 이동

* refactor: icon을 public으로 이동

* chore: 불필요한 index 제거

* chore: 이름 변경

* chore: 이름 변경

* chore: 이름 변경

* chore: 이름 변경

* chore: 이름 변경

* [FEAT] 익스텐션 태그 인풋 핵심 로직 구현 (#126)

* feat: 북마크 페이지 생성
* chore: 절대경로 수정
* build: build시에는 빌드를 한번하게 변경
* feat: 새로운 링크로 이동할 시 og image가져오는 동작 추가
* feat: tab 열 때 마다 og image 가져오기
* refactor: 쓰지 않는 코드 제거
* chore: 주석 제거
* feat: 파비콘 가져오기
* feat: 서비스워커를 이용해서 동작하는 것으로 변경
* refactor: useGetTabInfo hook으로 분리
* refactor: background.ts 제거
* feat: og:description 가져오기
* chore: 쓰지 않는 상수 제거
* feat: cmdk 적용
* feat: 현재 선택한 태그가 보이도록 변경
* feat: 비동기 호출 흉내내서 라벨 데이터 가져오기
* chore: immer 설치
* feat: tagStore CRUD 구현
* chore: lucide icon 설치
* feat: deselect button ui 추가
* feat: deselect 기능 추가
* feat: SelectedTag ui 개선
* chore: todo 주석 제거
* feat: 동일한 태그가 없을 때 생성 아이템 추가
* feat: 태그 생성 로직 구현
* chore: 폴더 변경
* feat: TagInfoPopover 간단한 UI 구현
* feat: tag update 기능 추가
* chore: tagStore 폴더 변경
* chore: @radix-ui/react-dialog 설치
* chore: showDeleteTagDialogButton 파일 변경
* feat: DeleteTagDialog 상태 관리 구현
* chore: 다음 작업에 할 Todo 내용 추가
* feat: DeleteTag 관련 컴포넌트 구현
* chore: Command.Dialog css 변경
* refactor: useEffect내 함수 기명함수로 변경
* refactor: 분리되어있던 컴포넌트 SelectedTagItem폴더로 이동
* chore: components 에서 ui로 폴더명 변경
* refactor: TagInput컴포넌트에서 TagSelectionDialog컴포넌트 분리
* refactor: TagInput에서 TagPicker로 컴포넌트명 변경
* refactor: TagAutocompleteDialog로 컴포넌트명 변경
* refactor: TagPicker css명 변경
* refactor: css classname 변경
* refactor: 분리되어있던 css 합치기
* refactor: onSelectTag함수로 반복되는 함수 호출 합침
* refactor: 문자열 상수로 변경
* chore: 주석 추가
* feat: enter키 입력시 popover 켜지게 변경
* refactor: PopoverTriggerButton으로 분리
* chore: 사용하지 않는 index.ts 제거
* chore: 폴더명 components에서 ui로 변경
* chore: 폴더명 변경
* chore: tsbuildinfo update
* chore: 폴더 위치 이동
* chore: 폴더 이동
* chore: git pull frontend
* chore: todo 주석 추가

* [FEAT] Drag&Drop 구현: Directory (#117)

* test: mockdata 동적 생성

* chore: react-dnd, react-dnd-html5-backend 추가

* feat: dragDropManager 적용

* feat: dragDropManager 적용

* feat: Drag&Drop 시 mockData도 변경되도록 수정

* feat: treeData를 전역 상태로 관리

* design: LinkEditorSection 렌더링 요소 변경

* design: hover 시 음영 추가

* refactor: type 변경

* feat: 현재 위치에 폴더가 없으면 표시하지 않도록 변경

* fix: 아래로 이동 시 한칸씩 밀리는 버그 수정

* feat: FolderSection에 dnd 적용

* feat: LinkEditorSection 에서 DirectoryTreeSection 으로 Folder Drag and Drop 가능

* fix: DirectorySection에서 동일 부모의 자식 간 순서 변경 시 폴더를 아래쪽으로 이동할 경우 두칸씩 움직이는 문제 해결

* feat: DirectorySection에서 Folder를 이동 시 폴더 사라지는 로직 추가

* feat: LinkEditorSection에서 Pick Dnd 가능

* refactor: 중복 코드 hook으로 분리

* refactor: 이름 변경

* refactor: 이름 변경

* design: Lucid Icon 적용

* refactor: 중복 코드 제거

* chore: marged branch frontend

* chore: yarn cache clean and re-installed

* [FEAT] 우측으로 dnd 작업 가능 (#145)

* design: theme 변경시 icon 색상도 변경되도록 수정

* feat: LinkEditorSection 상단에 Directory Name 동적 변화

* design: 선택된 항목 강조 표시

* fix: DirectorySection 내부에서 dnd 작업 시 우측에도 반영되도록 수정

* fix: DirectorySection 내부에서 dnd 작업 시 우측에도 반영되도록 수정: 순서 변경 적용

* fix: DirectorySection 내부에서 dnd 작업 시 우측에도 반영되도록 수정: 순서 변경 적용

* fix: 순서 변경 시 인덱스 오차 수정

* feat: 폴더 클릭 시 해당 폴더로 이동

* fix: 내부에 요소가 없으면 빈 화면 표시

* feat: 좌측->우측 dnd 가능

* fix: 최초 로드 시 treeApi를 받아오지 못하는 문제 해결

* �[FEAT] .env 파일 설정 및 서버와 연결 확인 (#158)

* feat: 환경변수로 도메인 저장
* feat: 간단한 login 페이지 생성 및 .env파일 세팅

* �[FEAT] 크롬 익스텐션 로그인 링크 페이지 구현 (#167)

* build: dev 모드, production 모드에 따라 환경변수 주입
* build: build시에 manifest.json에 환경변수 주입
* fix: mode에 따른 환경변수 주입
* fix: script 오타 수정
* chore: ky 종속성 설치
* feat: ky를 이용한 baseApi 생성
* feat: 로그인 여부 파악 후 페이지 렌더링
* chore: tsbuildinfo 삭제
* chore: 주석 제거
* feat: Text 컴포넌트 구현
* feat: Button 컴포넌트 구현
* feat: 로그인 링크 페이지 구현
* feat: 상수로 적용
* fix: 상수대신 .env 직접 적용
- 해당 코드에서 에러가 생겨서 추후 수정할 예정
* chore: 주석 추가

* [FEAT] Swagger의 api-doc을 이용한 type 생성 (#177)

* feat: type 생성
* chore: root의 ts version 원상 복구

* [CI] 프론트엔드 서버 배포 스크립트 (#202)

* 🚀 프론트 서버 배포 설정

* 🚀 프론트 브랜치와 연결

* 🚀 docker image 빌드 전 환경변수 생성(for next build)

* build: 필요하지 않은 github action script 제거

* fix: cd script 원상 복구

---------

Co-authored-by: dmdgpdi <[email protected]>

* [FEAT] 북마크 생성 페이지 디자인 및 태그 API 연결, (#210)

* chore: 북마크 페이지 폴더 내로 이동

* feat: 북마크 페이지 기초적인 레이아웃 설정

* refactor: BookmarkHeader 컴포넌트 분리

* feat: Gap 컴포넌트 구현

* feat: Gap 컴포넌트 default값 변경

* feat: 북마크 페이지 style 분리

* feat: ogImage 가져오기

* feat: ThumbnailImage 컴포넌트 구현

* feat: 이미지 로딩 시 애니메이션 적용

* chore: 주석 제거

* refactor: ThumbnailImage 컴포넌트 수정

* feat: input tag css 적용

* feat: TagPicker tab 및 focus 애니메이션 적용

* refactor: onKeyDown 함수 뺴기

* chore: 인풋 값 확인

* feat: 위, 아래 화살표에 따라 focus를 변경하는 hook 생성

* feat: 화살표따라 탭 포커스 이동 적용

* feat: props에 따라 고정된 속성 제공

* chore: SelectedTagListLayout 폴더 이동

* feat: 공통 스타일 적용

* feat: SelectedTagList의 스타일 추가

* chore: 간단한 색 변경

* chore: 필요없는 data-desc 제거

* feat: 팝오버 버튼 tab 이동 막기, 엔터 키 제거

* chore: style 변경

* feat: 태그픽커 및 다이얼로그에 style 적용

* feat: radix-ui popover 를 floating-ui로 대체

* feat: 팝오버 버튼 디자인 구현

* feat: 태그 삭제 모달 디자인 추가

* feat: tag 목록이 길 때 스타일 변경

* �chore: 스크롤바 제거 globalStyle에 적용

* feat: 선택한 라벨 높이에 따라 commandListHeight 변경

* chore: css 제거

* feat: CommandList 로딩 화면 추가

* chore: randomcolor 라이브러리 설치

* chore: pre-commit command 수정

* fix: pre-commit command 수정

* feat: numberColor 함수 구현 및 태그 생성시 적용

* feat: randomColor style 적용

* chore: type 생성

* fix: 태그 다이얼로그에서 공백 입력시 아무것도 뜨지 않게 변경

* chore: schema를 위한 절대 경로 추가

* feat: 실제 서버의 타입으로 변경

* fix: 태그 리스트가 없을 때, Command.Empty가 보이게 조건문 변경

* fix: �적용되지 않는 함수 제거

* feat: 태그 생성 api 연결

* refactor: 태그 선택 취소 시에 id값만 이용

* feat: delete tag api 연결

* feat: updateTag api 연결

* chore: schema 타입 최신화

* fix: tagName 수정 후 enter key 입력시 모달창 생기는 버그 수정

* feat: 사용하지 않는 CurrentTabInfo 컴포넌트 삭제

* refactor: useGetTabInfo 폴더 이동

* refactor: api 적용을 위해 default value 변경

* fear: create pick api 연결

* chore: react hot toast 라이브러리 설치

* chore: 사용하지 않는 SAMPLE_DATA 제거

* feat: toast 라이브러리 적용

* feat: ApiErrorBody type 선언

* chore: todo 제거

* feat: post api 통신 에러 핸들링 추가

* feat: deleteTag optimistic update 추가

* feat: update tag optimistic update 추가

* refactor: useCalculateCommandListHeight hook으로 분리

* refactor: onSelectCreatableTag 함수 분리

* chore: 쓰지 않는 return 제거

* feat: enter key로 태그 삭제 및 취소 가능

* feat: 간단한 에러 페이지 생성

* feat: 에러 핸들링 추가

* [FEAT] sanitizeHtml에서 DOMPurify로 교체 (#213)

* fix: 런타임 에러 해결(잘못된 변수 접근) (#215)

* [FEAT] 크롬 익스텐션 픽 수정 기능 구현 (#229)

* chore: schema 최신화
* feat: getLinkByUrl api 추가
* feat: useHasLink hook 구현
* chore: API 변경에 따른 type 최신화
* feat: CreatePickForm, UpdatePickForm 분리
* feat: chore: Pick API 변경에 따른 type 최신화
* feat: link api 삭제
* feat: getPickByUrl api 추가
* feat: useHasPick 변경
* chore: ThumbnailImage backgroundColor 변경
* feat: updateForm 구현
* feat: 로딩 상태 시의 Skeleton 구현
* feat: DeferredComponent 구현
* feat: 로딩화면 구현
* chore: 주석 제거

* [FEAT] Backend api 연결 및 ux 미세조정 (#227)

* design: flex wrap 설정

* design: flex wrap 이중 줄바꿈 문제 수정

* feat: 우클릭 시 context menu 표시

* chore: 주석 제거

* chore: alt 이름 변경

* feat: treeRef 추가

* feat: mockData create 가능

* feat: api 연동: create&move

* feat: api 연동: dnd move 동작 확인

* refactor: 핸들러 함수 hook으로 분리

* feat: edit ux 추가 및 arborist node outline 제거

* feat: folder rename 연결 완료

* feat: folder delete(move to recyclebin) 연결 완료

* feat: create 로직 수정

* feat: 초기 로드 시 recycleBin 생성(향후 수정 예정)

* feat: Tree 컴포넌트 추가 전 커밋

* chore: popover Demo 추가

* design: 버튼 및 팝오버 디자인 수정

* feat: 휴지통 붙임:수정예정

* feat: 휴지통 숨김 설정

* design: 전체적인 디자인 미세 조정

* feat: 로그아웃 버튼 추가 및 디렉토리 조정

* feat: client 로그인 검증로직 추가

* design: 로그인 페이지 디자인 추가

* refactor: 폴더 create 로직 수정

* refactor: 폴더 create 로직 수정2

* refactor: 필요없어진 popover제거

* fix: 중첩 폴더 구조에서 폴더 생성 불가한 문제 해결

* design: 에러 토스트 메시지 추가

* refactor: 삭제 로직 수정(id 부여 방식)

* feat: 휴지통에서 폴더 완전삭제 가능

* [FEAT] 익스텐션 테마 적용 (#241)

* feat: theme을 techpick-shared 모노레포로 분리
* feat: theme 적용
* design: 익스텐션 테마 적용
* fix: peerDependencies제거
* design: techpick의 theme을 techpick-shared에 의존하게 변경
* feat: techpick reset.css 수정
* feat: git pull 이후 필요없는 파일 삭제
* feat: theme 동기화

* [FEAT] 카드 컴포넌트 디자인 구현 (#246)

* fix: ky middleware credentials속성 올바르게 적용

* feat: teckpick-service와 동일하게 id 변경

* feat: techpick-shared의 export 추가

* feat: images모든 url을 허용 및 next.config.mjs제거

* chore: 의존성 설치

* chore: @/schema 절대 경로 추가

* chore: portalContainer id 변경

* feat: pickCard 컴포넌트 디자인 및 레이아웃 구현

* feat: TagPicker 컴포넌트 복사

* [FEAT] 버그 수정, 휴지통 복원, context menu, pr 요청사항 적용 (#247)

* fix: 한글 입력시 폴더 두번 생성되는 문제 해결

* fix: 생성중인 폴더가 있을 때, 폴더 추가생성 방지로직 추가

* refactor: 폴더 위치 변경 및 Input 테마 적용

* fix: 노드 클릭 시 2개의 트리 중 한 노드만 focus되도록 수정

* refactor: 프로젝트 디렉토리 및 파일 구조 수정

* refactor: 프로젝트 디렉토리 및 파일 구조 수정2

* feat: recycleBin에서 contextmenu 사용 가능

* feat: recycleBin에서 restore 가능

* refactor: 이전 코드리뷰 comment 반영

* fix: 폴더 생성시 input이 사라지는 문제 수정

* fix: 폴더 삭제 시 우측 화면 업데이트 안되는 문제 수정

* fix: DirectorySection ui 틀어짐 수정

* feat: 휴지통 내부 dnd 가능

* fix: 좌측 디렉토리 절반만 표시되는 문제 수정

* fix: 간격 수정

* fix: 휴지통 dnd 비활성화

* fix: 생성 또는 이름변경 실패 이후 + 버튼클릭 안되는 버그 수정

* feat: 우측 folder contextMenu 이용가능
*버그 수정 필요(recycleBin menu 출력되는 문제)*

* fix: 우측 contextMenu 버그 수정

* fix: 우측 context 수정중

* chore:충돌 방지용 git pull

* [CI] 도커 이미지 build 관련 버그 수정 (#252)

* build: Dockerfile yarn berry 적용 및 필요한 파일 추가
* chore: 주석 변경

* fix: tag 생성 연속 입력 문제 해결 (#257)

* [FIX] 로그인된 상태일 때 메인 페이지로 리다이렉트 (#260)

* [FEAT] unclassified 표시 가능 (#261)

* feat: unclassifiedPicks api 호출 코드 추가

* feat: unclassified 표시됨

* [FEAT] PickCard API 연결 (#266)

* chore: 주석 추가

* feat: PickCard 이미지 스타일 수정

* chore: 쓰지 않는 apis 폴더 삭제

* refactor: 중복된 api middleware 제거

* fix: ky middleware content-type 추가

* feat: getPick api 연결

* design: 디자인 변경

* chore: import 순서 변경

* feat: updatePick api 연결

* feat: selected Tag 태그 삭제시 상태 변경

* chore: 주석제거

---------

Co-authored-by: Jason <[email protected]>

* feat: skelton 적용 (#268)

* feat: skelton 적용

* feat: link 추가 및 tagPicker 동작 수정

* [FIX] 태그 생성 후 창 유지후에 수정 했을 때, 생성한게 추가가 안되는 로직 (#270)

* [FEAT] pick dnd (#272)

* feat: nodeApi로 변환 로직 추가

* fix: 임시 디바운싱 적용

* fix: api 교체

* fix: 간헐적으로 unclassified 안보이는 문제 수정

* feat: pick 휴지통, 복원, 삭제 api 연결완료

* fix: 이름 길어지면 ...으로 표시

* fix: 가상 미분류 폴더 렌더링 방지 처리

* fix: 버그유발 기능 비활성화

* fix: fix

* fix: fix2

* [REFACTOR] 폴더구조 변경 (#308)

* refactor: shared 폴더 제거

* refactor: entities/pick 폴더 제거

* refactor: entities/tag 제거

* refactor: features/tag 제거

* refactor: features/userManagement 제거

* refactor: features/themeManagement 제거

* refactor: features/nodeManagement 제거

* refactor: widgets 제거

* [REFACTOR] import 순서 변경 (#311)

* chore: eslint import 순서 정리
* reafactor: import 순서 변경

* feat: 디자인 토큰 추가

* feat: 디자인 토큰 적용

* feat: �commontThemeContract 삭제

* fix: ThemeProvider 변경사항 적용

* fix: 위치 조정

* [FEAT] 디자인 토큰 추가

* [FEAT] 같은 계층일 때, 폴더 multi select 구현 (#332)

* chore: dnd-kit 설치 및 tree 페이지 생성

* feat: jest 설정추가

* fix: jest monorepo별 적용

* chore: root jest config 삭제

* feat: 같은 부모 밑에서 1개씩 폴더 이동

* design: tree page margin 변경

* test: 복수의 폴더 이동 테스트코트 작성

* feat: 현재 드래그 여부 상태 zustand에 추가

* feat: 폴더 다중 선택 기능 추가

* feat: DragOverlay추가

* design: primary color로 변경

* fix: test문 it.only 제거

* refactor: dndTreeStore에 hasIndex 적용

* [FEAT] 검색창 및 리스트 로직 설계 (#333)

* feat: 검색 위젯 로직 구현

* feat: 유틸리티 클래스 구현 (파싱, 필터링)

* doc: 유틸리티 참고 이미지 및 설명

* feat: zustand, react query 추가

* feat: 뷰포트 리액트 컴포넌트

* refactor: esToolkit import

* refactor: useViewScope 변경

* refactor: useQuery 함수명 파일명 변경

* refactor: useQuery 함수명 파일명 변경

* refactor: Util 함수 리팩토링

* [FEAT] 픽 리스트 - 사용자 설정 필터 & 뷰 템플릿 (#348)

* feat: 검색 위젯 로직 구현

* feat: 유틸리티 클래스 구현 (파싱, 필터링)

* doc: 유틸리티 참고 이미지 및 설명

* feat: zustand, react query 추가

* feat: 뷰포트 리액트 컴포넌트

* refactor: esToolkit import

* refactor: useViewScope 변경

* refactor: useQuery 함수명 파일명 변경

* refactor: useQuery 함수명 파일명 변경

* refactor: Util 함수 리팩토링

* chore: 파일 제거 및 위치 이동

* chore: use-Immer 패키지 추가

* feat: 유틸리티 (Stream, Tokenizer) 리팩토링 및 개선

* chore: 공통 타입 추가 및 일부 변경

* feat: 태그 아이템 UI 컴포넌트 (익스텐션에서 가져옴)

* feat: 최상단 컴포넌트 (뷰어) 및 상태 구현

* test: 쿼리 더미 데이터 추가

* feat: 옵션 리스트 위젯 및 상태 구현

* feat: 검색창 위젯 구현

* feat: 필터 옵션 기능 구현

* feat: 뷰 템플릿 (리스트 vs 그리드) 옵션 구현

* chore: 디렉토리 이름 변경, 기존 폴더 제거

* chore: dummy data 업데이트

* ♻️ refactor: 코드 리뷰 기반으로 리팩토링 진행

* [REFACTOR] Drag & Drop 함수 및 컴포넌트 분리  (#351)

* test: moveFolder test code 삭제

* feat: mockdata 변경에 따른 로직 변경

* refactor: 중앙 스토어에서 로직 분리

* design: treePageWrapper css 변경

* feat: shift + click시에 active가 부모 폴더가 다르면 초기화

* feat: 다른 폴더간 이동 구현

* chore: 테스트코드 예제 삭제

* refactor: reorderFolderInSameParent 함수명 수정

* refactor: SelectedFolderListType으로 대체

* refactor: handleClick 함수 분리

* chore: tree 컴포넌트를 components 폴더로 이동

* [FEAT] 공통 테마에 jsdoc 추가 (#354)

* [FIX] drag & drop 후 정렬 변경 (#360)

* fix: drag & drop 후 정렬 변경

* refactor: isSameParentFolder parameter 변경(동일한 값)

* [FEAT] 폴더 생성 UI 및 상태 관리 로직 변경 (#365)

* design: 작업 전 디자인 변경

* design: CreateFolderInput 디자인 추가

* feat: 폴더 생성 UI 구현

* design: FolderTree 전체적인 레이아웃 변경

* design: 폴더 트리 디자인 개선

* feat: CreateFolderInput 생성시 focus 이동

* design: createFolderInputLayout 디자인 변경

* [FEAT] 폴더 이름 변경 UI 및 로직 구현 (#367)

* feat: CreateFolderInput, FolderInput 컴포넌트로 추출

* design: 공통 테마 사이즈 추가

* chore: PORTAL_CONTAINER_ID 상수로 변경

* feat: 폴더 이름 변경 UI 및 로직 연결

* feat: 우클릭시에 포커스되는 폴더 변경

* [FEAT]: 삭제 UI 및 로직 추가 (#369)

* [CI/CD] nextjs docker image 사이즈 감소 (#380)

* [FEAT] Folder API 연결 (#399)

* chore: api 변경에 따른 스키마 업데이트

* feat: 폴더 관련 api 타입 지정

* refactor: api 변경에 따른 타입 변환

* feat: top level error 추가

* feat: folder crud api 추가

* chore: api 변경에 따른 타입 변경

* feat: 폴더 드래그 앤 드랍 api 연결

* feat: 폴더 이름 변경 api 연결

* feat: 휴지통 이동 api 연결

* refactor: -1 매직넘버 상수로 변경

* chore: mockdata 삭제

* chore: re-resizable 의존성 설치

* faet: FolderTree 크기 조정 가능하게 변경

* chore: api 변경에 따른 타입 최신화

* feat: createFolder api 연결

* refactor: getFolders, getBasicFolders 로 함수명 변경

* reafactor: getRootFolderList로 변경

* [FEAT] 폴더 클릭에 따른 라우팅 변경 (#405)

* feat: 라우팅 설정 변경

* chore: root 폴더에서 tsc 동작시 build된 파일 생성 차단

* chore: legacy 삭제

* feat: 폴더 클릭시마다 라우팅 이동

* feat: useTreeStore subscribeWithSelector 적용

* refactor: FolderInfoItem 컴포넌트 분리

* feat: url을 이용해 folder 선택하게 변경

* feat: route 경로 추가

* feat: middleware redirect url 변경

* feat: 휴지통 및 미분류 폴더 추가

* design: 최초 로딩시에 사이드바 사이즈 지정

* design: 사이드바 디자인 조정

* chore: 쓰지 않는 props 제거

* refactor: useEffect 함수명 추가

* [FEAT] 검색 위젯 기능 구현 및 미사용 필터 제거 (#410)

* chore: 중간 작업 공유

* chore: 타입 변경 및 기존 SearchWidget.tsx 리팩토링

* chore: 타입 변경 및 기존 SearchWidget.tsx 리팩토링

* feat: 기존 로직에서 미사용하는 필터 제거

* feat: dndTreeStore 병합 작업

* [FEAT] 검색창 자동 완성 (#418)

* refactor: PrefixTokenizer 구현 수정

* refactor: PrefixTokenizer 구현 수정

* feat: 검색 위젯 토큰화 구현

* chore: 화면 테스트를 위한 뷰어 패널 코드 수정 (반영 안될 수 있는 커밋)

* feat: 토큰 검색창 CSS 설정

* chore: 일부 주석 추가 및 코드 위치 변경

* chore: yarn.lock 파일 커밋

* [FEAT] 같은 폴더 내에서 Pick Drag&Drop 구현 (#420)

* chore: 백엔드 api 타입 최신화

* chore: util 스펠링 정확하게 변경

* feat: pickType 추가

* feat: getPicksByFolderId 추가

* refactor: viewTemplate 코드 변경

* refactor: 바로 호출이 아닌, useEffect 내에서 비동기함수 호출

* chore: git pull을 위한 커밋

* refactor: pickCardListViewer로 PickCard 컴포넌트 이동

* design: card link style 변경

* feat: 더블 클릭시 링크 이동

* feat: dnd가 가능한 list와 그렇지 않은 list분리

* refactor: dnd여부에 따라 PickListViewer분리

* refactor: DnDCurrentType을 dnd.type으로 이동

* refactor: 공통 utils함수로 추출

* feat: 픽에서 픽으로 이동(api 미연결)

* feat: pick multi-select 구현

* feat: multi-select drag&drop 구현(api 미연결)

* feat: 같은 폴더 내 픽 drag&drop api 연결

* [FIX] 깃허브 액션 API 테스트

* [FIX] 검색창 버그 수정 및 URL 업데이트 (#424)

* 🚨 fix: useSearchParams 사용처에 <Suspence> 추가

* [DESIGN] 폴더 영역 디자인 개선 (#430)

* [FEAT] 픽을 폴더로 이동하는 기능 추가 (#432)

* refactor: draggable type에 따라 검증 함수 분리

* chore: store barrel export 추가

* feat: pick to folder를 위한 dnd context 생성

* fix: dnd context 변경에 따른 로직 변경

* refactor: 컴포넌트명 변경

* refactor: useGetDndContextSensor로 로직 분리

* fix: 로직에 따라 pickId 문자열 대신 정수로 수정

* feat: PickDraggableObjectType에 부모 폴더 id 추가

* feat: 드래깅하는 카드 정보 store에 추가

* feat: pick to pick 시 overlay 카드 생성

* feat: folder drag시 folder overlay 보이도록 변경

* design: 카드 드래그 시 크기 줄이기

* feat: pick to folder drag over시 폴더 색상 변경

* refactor: movePicksToEqualFolder로 함수명 변경

* feat: 휴지통 및 미분류로 픽 이동 감지

* feat: 다른 폴더로 픽 이동 로직 추가

* feat: 폴더 디테일 페이지 뷰 연결

* feat: �휴지통 페이지 카드 렌더링

* [FIX] DragOver 수정 및 휴지통 이동 로직 변경 (#441)

* fix: DragOver 개선

* refactor: 백엔드 API 변경에 따른 휴지통 이동 로직 변경

* [FIX] 현재 포커스된 폴더 삭제 시에 미분류 페이지로 리다이렉트 (#446)

* fix: 현재 포커스된 폴더 삭제 시에 미분류 페이지로 리다이렉트

* design: 드래그시 outline 제거

* [FEAT] 로그인 리다이렉트 URL 추가 (#450)

* chore: sample 대신 관용적으로 사용되는 example로 변경

* feat: 로그인 redirect url 추가

* ci/cd: github Actions secrets 추가 및 적용

* [REFACTOR] 익스텐션 폴더 구조 변경 및 API 최신화 (#458)

* feat: 익스텐션 로그인 페이지 디자인 변경

* chore: 백엔드 타입 최신화

* chore: 백엔드 타입 최신화

* refactor: type은 types폴더로 이동

* chore: 백엔드 타입 최신화

* refactor: api 호출 함수 변경

* refactor: api url 상수로 관리

* feat: barrel export에서 값과 함수 제거

* refactor: 도메인 의존성 없는 컴포넌트 lib폴더로 이동

* refactor: toast 관련 함수 lib 폴더로 이동

* refactor: store는 store폴더로 이동

* chore: 사용하지 않는 타입 제거

* refactor: util함수 util 폴더로 이동

* refactor: 페이지 폴더 제거

* refactor: 컴포넌트는 컴포넌트 폴더로 이동

* fix: returnErrorFromHTTPError에 await 문구 추가

* chore: 백엔드 api 변경에 따른 타입 변경

* [FIX] 로그인 이후 뒤로가기 시 로그인 화면으로 이동하지 못하게 수정 (#453)

* [fix] 픽 검색 API 페이지네이션 적용 (#460)

* chore: 무한스크롤 라이브러리 추가

* chore: 무한스크롤 라이브러리 추가

* feat: 무한 스크롤 구현

* chore: pick 조회 스토어 함수 수정

* chore: 불필요한 코드 수정

* [FEAT] radix-color 추가 (#462)

* feat: radix-color 추가

* chore: radix-color 추가 변경사항 적용

* chore: route 변수 수정

* feat:  breadcrumb 적용

* chore: 기타 스타일링

* chore: 입력창 스타일링

* feat: 무한 스크롤 다듬기 작업

* feat: 검색창 변수 수정

* [DESIGN] 검색 바 디자인 개선 (#463)

* chore: route 변수 수정

* feat:  breadcrumb 적용

* chore: 기타 스타일링

* chore: 입력창 스타일링

* feat: 무한 스크롤 다듬기 작업

* feat: 검색창 변수 수정

* fix: useSearchParams는 suspense로 반드시 감싸야 한다.

* refactor: ApiFolderErrorCode 오타 수정 (#468)

* [FEAT] 메모 제거, 폴더 선택 추가(API 미연결), 우클릭시 사이트 이동 (#473)

* feat: 익스텐션 아이콘 추가

* feat: 로그인 로고 변경

* feat: 북마크 페이지 아이콘 변경 및 링크로 이동

* chore: 오타 수정

* feat: theme 추가

* feat: 메모 제거

* feat: 로그인 페이지 삭제

* chore: radix select 설치

* feat: 폴더 선택 select 간단한 컴포넌트 구현

* feat: createPick시에 폴더 선택 기능 구현

* feat: update시에도 폴더 선택 기능 추가(api 미연결)

* feat: 크롬 익스텐션 우클릭시에 서비스 링크로 이동

* feat: 로딩 화면 추가

* [REFACTOR] 픽 리팩토링, 검색 테스트 구현 (#474)

* refactor: FolderType label 수정

* refactor: 파라미터 idList -> pickIdList 명시적으로 변경

* refactor: folder 내부에 있는 pick_order 리스트에 pickId가 중복 생성되는 문제 해결

* refactor: root folder 검색 못하도록 예외 처리

* refactor: pick controller 메서드명 수정

* refactor: DB fleid 함수를 이용하여 정렬된 픽 리스트 조회할 수 있는 메서드 구현

* refactor: 픽 검색 시 폴더 리스트가 null인 경우 검증하지 않도록 변경, tag 검증 추가

* refactor: 테스트 코드 작성

* refactor: 테스트 코드 ParameterizedTest로 리팩토링 (#476)

* [DESIGN] 익스텐션 디자인 변경 (#479)

* chore: title 설정

* chore: 아이콘 변경 및 안쓰는 아이콘 제거

* feat: radix-ui 의존성 설치

* design: 테마 추가

* design: globalStyle a tag 제거

* design: TagPicker 디자인 변경

* refactor: numberToRandomColor 변경

* design: folder select 디자인 변경

* design: TagPicker placeholder 추가

* design: ThumbnailImage css 변경

* design: CreatePickForm 변경

* feat: BookmarkHeader 제거

* feat: useCalculateCommandListHeight 삭제

* design: 업데이트 및 로딩 화면 디자인 변경 적용

* design: 로딩 화면 변경 적용

* refactor: loginGuard 로직 변경

* feat: FolderSelect 화살표 이동 추가

* chore: 사용하지 않는 헤더 삭제

* [FIX] 픽 수정 리팩토링 및 검증로직 개선 (#477)

* refactor: 불필요한 초기값 제거

* fix: 엔티티를 list로 조회시 존재하지 않는 엔티티를 조회하려고 하면 NOT_FOUND 예외 발생

* fix: pick update시 부모폴더 id도 변경 가능하도록 수정, 누락된 검증 로직 추가

* fix: 기능 변경에 의한 테스트 코드 수정

* fix: idList로 폴더 조회시 존재하지 않는 폴더id로 조회하면 예외 발생

* refactor: 파라미터명 명확하게 수정 idList -> folderIdList

* [FEAT] error 메세지 전송 및 폰트 적용방식 변경 (#482)

* feat: 에러 메세지 명세

* feat: error 메세지 명세

* feat: 폰트 적용 방식 변경

* chore: react-router-dom 버전 변경

v7 점진적으로 도입하는 버전이라 warning log가 떠서 변경

* feat: 폴더 응답에 생성 수정 일자 추가 (#485)

* [�FEAT] 익스텐션 배포 전, 수정 (#489)

* fix: 디자인 변경

* chore: 익스텐션에서 사용하지 않는 의존성 제거

* fix: 휴지통 보이지 않게 하기

* feat: 서버 에러시 toast 알림

* feat: 정상 동작 시 창닫기

* feat: error message 추가

* feat: 폴더 최신순 정렬

* design: 색 추가 및 적용

* design: 인풋 디자인 변경

* feat: font 재적용

* fix: http로 시작하지않으면 저장 안되게 수정

* fix: update시에 폴더 추가

* design: footer 디자인 추가

* docs: manifest.json description 추가

* hotfix: 익스텐션 design 변경

* fix: zip파일 제거

* [FEAT] 에러 요청에 대한 로깅 구현 (#481)

* feat: error request logging 구현

* feat: 기존 예외처리 로직에 요청 로깅 추가

* chore: 주석 추가

* fix: 로깅 방식 변경 - application.log에 sql 로깅 제외

* fix: 누락된 로깅 로직 추가

* [fix] refetch 검색 안되는 문제 해결 (#496)

* [FEAT] 픽 렌더링 카드에서 리스트 아이템으로 교체 (#501)

* feat: PickRenderModeState 구현

* feat: PickRecordListLayout 컴포넌트 구현

* feat: PickCard대신 PickRecord 렌더링으로 변경

* feat: usePickRenderModeStore 의존성 제거

* �[FEAT] 폴더 export 기능 구현 (#504)

* feat: 폴더 export 기능 구현

* feat: url 수정

* [DESIGN] 디자인 변경 (#500)

* [FEAT] 파비콘 추가 및 title 변경 (#503)

* [FEAT] 픽 제목 최대 길이 검증 및 Validation 검증 리팩토링 (#499)

* refactor: 픽 제목 최대 길이 제약조건 추가

* feat: 픽 제목 최대 길이 제약조건 예외, 예외 코드 추가

* refactor: bean validation 예외 상세하게 반환하도록 수정

* refactor: tag 이동 시 리스트 길이보다 큰 인덱스로 이동 시 IndexOutOfBoundsException 발생하는 문제 해결

* fix: title이 null일 때 터지는 오류 해결

* fix: && 문법 오류 수정

* [BUG] 픽 태그 삭제 버그, 픽 수정 버그 수정 (#509)

* refactor: 픽에 사용되었던 유저 태그 삭제 시 500에러 해결

* refactor: pick unique index title 제거

* refactor: 픽을 휴지통으로 이동 시 폴더 내에 있는 픽 리스트 제거 및 가독성을 위해 로직 공통 처리

* refactor: 불필요한 메서드 제거 및 메서드명 변경

* refactor: 운영 환경에서 스웨거 접근 못하도록 하는 설정 추가

* refactor: 폴더 삭제 시 픽들이 휴지통으로 이동될 때 부모 폴더의 픽 리스트 수정이 필요하지 않음.

* refactor: 미분류, 휴지통 폴더에 폴더 생성하지 못하도록 변경, 에러 메세지 변경

* refactor: 메서드명 수정

* refactor: 픽 생성 시 타이틀이 없으면 터지는 예외 해결

* refactor: 데드락 문제 해결을 위해 트랜잭션 범위 최소화

* [FEAT] PickRecord 컴포넌트 구현 및 pick 수정(태그, 타이틀)기능 구현 (#513)

* feat: PickRecord에서 PickListItem 분리

* refactor: TagPicker 크롬 익스텐션 코드 가져오기

* design: list item 줄어들 때, textoverflow 적용

* fix: li 내부에 li가 들어갈 수 없음

* refactor: pick 수정 api 변경

* feat: updatePickInfo 로직 구현

* feat: updatePickInfoStore 구현

* feat: 픽 제목 수정 기능 구현

* chore: 나중에 할 todo 등록

@todo: 현재 SearchWidget이 사용되는 페이지에 전체적으로 적용되고 있음.

* chore: @radix-ui/react-separator 설치

* refactor: PickRecord PickSearchRecord로 변경

* feat: PickRecord로 대체

* feat: tagStore 안쓰는 함수 삭제

* refactor: tag 관련 api 함수 호출 경로 수정

* design: 안보이는 색 변경

* feat: TagPicker CRUD 적용

* design: 디자인 변경

* [BUG] 픽 태그 리스트 수정 시 데드락 문제 수정 (#514)

* refactor: 픽 생성 시 타이틀이 없으면 터지는 예외 해결

* refactor: 데드락 문제 해결을 위해 트랜잭션 범위 최소화

* hotfix: Pick 엔티티의 Link Lazy -> Eager

* [FEAT] 픽 휴지통 이동 및 휴지통에서 픽 삭제 구현, 픽 포커스 변경 (#515)

* feat: PickRecord에서 PickListItem 분리

* refactor: TagPicker 크롬 익스텐션 코드 가져오기

* design: list item 줄어들 때, textoverflow 적용

* fix: li 내부에 li가 들어갈 수 없음

* refactor: pick 수정 api 변경

* feat: updatePickInfo 로직 구현

* feat: updatePickInfoStore 구현

* feat: 픽 제목 수정 기능 구현

* chore: 나중에 할 todo 등록

@todo: 현재 SearchWidget이 사용되는 페이지에 전체적으로 적용되고 있음.

* chore: @radix-ui/react-separator 설치

* refactor: PickRecord PickSearchRecord로 변경

* feat: PickRecord로 대체

* feat: tagStore 안쓰는 함수 삭제

* refactor: tag 관련 api 함수 호출 경로 수정

* design: 안보이는 색 변경

* feat: TagPicker CRUD 적용

* design: 디자인 변경

* feat: deletePicks api 함수 구현

* design: TagPicker 화면 짤림 수정

* feat: 우클릭 휴지통 이동 및 삭제 구현

* feat: PickRecord로 렌더링 변경

* feat: 페이지 이동시, pick item 외부 클릭시 선택된 요소 초기화

* refactor: PickTag에 낙관적 락 설정

* refactor: Spring retry 추가

* [REFACTOR] PickTag 테이블에 낙관적 락 설정 (#519)

* refactor: PickTag에 낙관적 락 설정

* refactor: Spring retry 추가

* refactor: 픽태그 삭제 부분 수정

* design: tag 생성이나 삭제 시에 TagAutocompleteDialog 위치 조정 (#520)

* [FIX] 두번 useEffect 호출 되는 거 방지 (#518)

* refactor: pick 수정하는 부분에 비관적 락 추가 (#521)

* chore: 로그인 페이지 작업 (#508)

* [FEAT] 크롬 북마크 Import 기능 구현 (#522)

* fix: access token, JSESSIONID 로깅 안하도록 수정, multipart file 캐싱 안하도록 수정

* fix: 입력값이 공백 또는 null일 경우 update하지 않음, 기본값을 빈스트링("")으로 설정

* feat: ogTag 업데이트 구현 및 필요한 의존성 추가

* feat: chrome 북마크 import를 위한 메소드 추가

* feat: chrome 북마크 import export 구현

* refactor: 주석 수정

* refactor: swagger 설정 수정

* refactor: link의 title과 description 필드 text타입으로 수정

* chore: 주석 typo 수정

* refactor: typo 수정

* [DESIGN] 디자인 작업 (#524)

* chore: 로그인 페이지 작업

* feat: 디자인 작업 반영

* fix: 미사용 import 제거

* fix: 서치 버그 해결

* feat: og 태그 데이터 가져오는 api 구현 (#525)

* refactor: 운영 서버에서 스웨거 접근 못하도록 변경 (#527)

* [DESIGN] 배포전 PR (#529)

* design: tag 생성이나 삭제 시에 TagAutocompleteDialog 위치 조정

* feat: Gap 컴포넌트 변경

* design: PickRecord 이미지 영역 사이즈 변경

* design: 헤더 Image table 명명

* design: flex-shrink 적용

* chore: 코드 스타일 변경

* fix: TagPicker 컴포넌트 floating element style 변경

* design: TagRecord Input 디자인 변경

* design: font 모든 부분에 동일하게 적용

* refactor: moveFolderToRecycleBin refactoring

* design: 디자인 변경

* design:2차변경

* design: 버튼 color 추가

* feat: PickSearchRecord 추가

* feat: 링크 추가

* fix: url 수정 및 구현안된 기능 숨기기

* fix: unused import 제거

---------

Co-authored-by: Jason <[email protected]>
Co-authored-by: Jason <[email protected]>
Co-authored-by: Minky <[email protected]>
Co-authored-by: Pak Su Hyung <[email protected]>
Co-authored-by: Sangwon Yang <[email protected]>
dmdgpdi added a commit that referenced this pull request Nov 22, 2024
* chore: 세팅중인 상태

* fix: vanilla-extract 설정 변경

* fix: storybook 실행 안되는 오류 해결

@chromatic-com/storybook이 문제였음.

* chore: storybook tset 확인

* chore: eslint 예외 추가

* chore: eslint, prettier 설정

* chore: DS_Store ignore

* chore: husky 테스트

* chore: husky 적용 중

* chore: husky 적용

* chore: 테스트용 컴포넌트 삭제

* chore: jest 적용

* chore: ts를 devDependencies로 이동

* chore: sample test 파일 삭제

* chore: add files to gitignore

* chore: vscode setting 추가

* chore: playwright example test code 삭제

* chore: e2e test github action 추가

* fix: action 오타 수정

* fix: 깃허브 액션 오타 수정

* chore: add corepack

* chore: 실행 순서 변경

* chore: browser 설치

* chore: playwright-report path 변경

* chore: �액션 if문 제거

* fix: 액션 탭 간격 변경

* chore: github action 테스트를 위한 싶패 테스트

* chore: 항상 report를 뽑을 수 있게 변경

* chore: github action 테스트를 위한 성공 테스트

* chore: vanilla-extract storybook 적용

* chore: 프로젝트 세팅을 위한 필요없는 파일 없애기

* chore: playwright yarn script 추가

* chore: react-hot-toast 적용

* feat: 깃허브 액션 테스트용 PR (#4)

* chore: 세팅중인 상태

* fix: vanilla-extract 설정 변경

* fix: storybook 실행 안되는 오류 해결

@chromatic-com/storybook이 문제였음.

* chore: storybook tset 확인

* chore: eslint 예외 추가

* chore: eslint, prettier 설정

* chore: DS_Store ignore

* chore: husky 테스트

* chore: husky 적용 중

* chore: husky 적용

* chore: 테스트용 컴포넌트 삭제

* chore: jest 적용

* chore: ts를 devDependencies로 이동

* chore: sample test 파일 삭제

* chore: add files to gitignore

* chore: vscode setting 추가

* chore: playwright example test code 삭제

* chore: github action 테스트를 위한 싶패 테스트

* chore: github action 테스트를 위한 성공 테스트

* chore: vanilla-extract storybook 적용

* chore: 프로젝트 세팅을 위한 필요없는 파일 없애기

* chore: playwright yarn script 추가

* chore: react-hot-toast 적용

---------

Co-authored-by: Jason <[email protected]>

* chore: 프로젝트 구조 세팅 (#11)

* chore: 필요없는 파일 제거

* fix: 파일명 오타 수정

* feat: 기본 디렉토리 추가

* chore: yarn set version berry (#12)

* chore: 깃허브 액션 변경

* feat: 모노레포 분리 (#28)

* chore: 서비스 디렉토리 이동

* chore: eslint 적용중

* fix: eslint 설정

* chore: extension 프로젝트 세팅 중 husky 충돌

* fix: pre-commit 동작 수정

* chore: backup

* chore: backup

* chore: backup2

* chore: setting

* chore: ignore 설정

* chore: husky 설치

* chore: monorepo로 변경된 뒤 액션 변경

* chore: husky 설치

---------

Co-authored-by: Jason <[email protected]>

* chore: 폴더명 변경에 따른 액션 변경

* chore: 폴더명 변경 (#37)

* Front/feat/#35 (#40)

* chore: 폴더명 변경
* build: 크롬 익스텐션 빌드 설정
* feat: css 파일 제거
* build: 파일 수정시마다 build되는 스크립트 추가
* chore: 의존성 설치
@tanstack/react-query, @vanilla-extract/css, react-router-dom, zustand
* feat: 디렉토리 생성
* feat: router 추가
* feat: react-query provider 설정
* feat: vanilla-extract 세팅

* feat: 현재 탭에서 데이터 가져오기 (#50)

* feat: 북마크 페이지 생성
* chore: 절대경로 수정
* build: build시에는 빌드를 한번하게 변경
* feat: 새로운 링크로 이동할 시 og image가져오는 동작 추
* feat: tab 열 때 마다 og image 가져오기
* refactor: 쓰지 않는 코드 제거
* chore: 주석 제거
* feat: 파비콘 가져오기
* feat: 서비스워커를 이용해서 동작하는 것으로 변경
* refactor: useGetTabInfo hook으로 분리
* refactor: background.ts 제거
* feat: og:description 가져오기
* chore: 쓰지 않는 상수 제거

* feat: 페이지 기본 요소 렌더링 (#52)

* chore: init

* design: theme 설정

* design: dirView 구조 정의

* chore: downgrade version - yarn 4.3.1 / typescript 5.5.4

* feat: react-arborist 적용 및 테스트 완료

* feat: 디렉토리 구성 및 아이콘 추가

* chore: use-resize-observer 라이브러리 추가

* design: tree 높이 동적 조절되도록 수정

* feat: 우측 view에 folder 및 link 표시

* chore: 컴포넌트 분리

* chore: 불필요한 주석 제거

* chore: 4.3.1 cjs 추가

* refactor: pr 수정요청사항 적용

* chore: import 수정

* chore: index.ts 추가

* chore: index.ts 추가

* chore: conflict 해결

* refactor: barrel exports pattern 적용

* refactor: icon export 처리

* refactor: directoryNode export 처리

* refactor: icon 이동

* refactor: icon을 public으로 이동

* chore: 불필요한 index 제거

* chore: 이름 변경

* chore: 이름 변경

* chore: 이름 변경

* chore: 이름 변경

* chore: 이름 변경

* [FEAT] 익스텐션 태그 인풋 핵심 로직 구현 (#126)

* feat: 북마크 페이지 생성
* chore: 절대경로 수정
* build: build시에는 빌드를 한번하게 변경
* feat: 새로운 링크로 이동할 시 og image가져오는 동작 추가
* feat: tab 열 때 마다 og image 가져오기
* refactor: 쓰지 않는 코드 제거
* chore: 주석 제거
* feat: 파비콘 가져오기
* feat: 서비스워커를 이용해서 동작하는 것으로 변경
* refactor: useGetTabInfo hook으로 분리
* refactor: background.ts 제거
* feat: og:description 가져오기
* chore: 쓰지 않는 상수 제거
* feat: cmdk 적용
* feat: 현재 선택한 태그가 보이도록 변경
* feat: 비동기 호출 흉내내서 라벨 데이터 가져오기
* chore: immer 설치
* feat: tagStore CRUD 구현
* chore: lucide icon 설치
* feat: deselect button ui 추가
* feat: deselect 기능 추가
* feat: SelectedTag ui 개선
* chore: todo 주석 제거
* feat: 동일한 태그가 없을 때 생성 아이템 추가
* feat: 태그 생성 로직 구현
* chore: 폴더 변경
* feat: TagInfoPopover 간단한 UI 구현
* feat: tag update 기능 추가
* chore: tagStore 폴더 변경
* chore: @radix-ui/react-dialog 설치
* chore: showDeleteTagDialogButton 파일 변경
* feat: DeleteTagDialog 상태 관리 구현
* chore: 다음 작업에 할 Todo 내용 추가
* feat: DeleteTag 관련 컴포넌트 구현
* chore: Command.Dialog css 변경
* refactor: useEffect내 함수 기명함수로 변경
* refactor: 분리되어있던 컴포넌트 SelectedTagItem폴더로 이동
* chore: components 에서 ui로 폴더명 변경
* refactor: TagInput컴포넌트에서 TagSelectionDialog컴포넌트 분리
* refactor: TagInput에서 TagPicker로 컴포넌트명 변경
* refactor: TagAutocompleteDialog로 컴포넌트명 변경
* refactor: TagPicker css명 변경
* refactor: css classname 변경
* refactor: 분리되어있던 css 합치기
* refactor: onSelectTag함수로 반복되는 함수 호출 합침
* refactor: 문자열 상수로 변경
* chore: 주석 추가
* feat: enter키 입력시 popover 켜지게 변경
* refactor: PopoverTriggerButton으로 분리
* chore: 사용하지 않는 index.ts 제거
* chore: 폴더명 components에서 ui로 변경
* chore: 폴더명 변경
* chore: tsbuildinfo update
* chore: 폴더 위치 이동
* chore: 폴더 이동
* chore: git pull frontend
* chore: todo 주석 추가

* [FEAT] Drag&Drop 구현: Directory (#117)

* test: mockdata 동적 생성

* chore: react-dnd, react-dnd-html5-backend 추가

* feat: dragDropManager 적용

* feat: dragDropManager 적용

* feat: Drag&Drop 시 mockData도 변경되도록 수정

* feat: treeData를 전역 상태로 관리

* design: LinkEditorSection 렌더링 요소 변경

* design: hover 시 음영 추가

* refactor: type 변경

* feat: 현재 위치에 폴더가 없으면 표시하지 않도록 변경

* fix: 아래로 이동 시 한칸씩 밀리는 버그 수정

* feat: FolderSection에 dnd 적용

* feat: LinkEditorSection 에서 DirectoryTreeSection 으로 Folder Drag and Drop 가능

* fix: DirectorySection에서 동일 부모의 자식 간 순서 변경 시 폴더를 아래쪽으로 이동할 경우 두칸씩 움직이는 문제 해결

* feat: DirectorySection에서 Folder를 이동 시 폴더 사라지는 로직 추가

* feat: LinkEditorSection에서 Pick Dnd 가능

* refactor: 중복 코드 hook으로 분리

* refactor: 이름 변경

* refactor: 이름 변경

* design: Lucid Icon 적용

* refactor: 중복 코드 제거

* chore: marged branch frontend

* chore: yarn cache clean and re-installed

* [FEAT] 우측으로 dnd 작업 가능 (#145)

* design: theme 변경시 icon 색상도 변경되도록 수정

* feat: LinkEditorSection 상단에 Directory Name 동적 변화

* design: 선택된 항목 강조 표시

* fix: DirectorySection 내부에서 dnd 작업 시 우측에도 반영되도록 수정

* fix: DirectorySection 내부에서 dnd 작업 시 우측에도 반영되도록 수정: 순서 변경 적용

* fix: DirectorySection 내부에서 dnd 작업 시 우측에도 반영되도록 수정: 순서 변경 적용

* fix: 순서 변경 시 인덱스 오차 수정

* feat: 폴더 클릭 시 해당 폴더로 이동

* fix: 내부에 요소가 없으면 빈 화면 표시

* feat: 좌측->우측 dnd 가능

* fix: 최초 로드 시 treeApi를 받아오지 못하는 문제 해결

* �[FEAT] .env 파일 설정 및 서버와 연결 확인 (#158)

* feat: 환경변수로 도메인 저장
* feat: 간단한 login 페이지 생성 및 .env파일 세팅

* �[FEAT] 크롬 익스텐션 로그인 링크 페이지 구현 (#167)

* build: dev 모드, production 모드에 따라 환경변수 주입
* build: build시에 manifest.json에 환경변수 주입
* fix: mode에 따른 환경변수 주입
* fix: script 오타 수정
* chore: ky 종속성 설치
* feat: ky를 이용한 baseApi 생성
* feat: 로그인 여부 파악 후 페이지 렌더링
* chore: tsbuildinfo 삭제
* chore: 주석 제거
* feat: Text 컴포넌트 구현
* feat: Button 컴포넌트 구현
* feat: 로그인 링크 페이지 구현
* feat: 상수로 적용
* fix: 상수대신 .env 직접 적용
- 해당 코드에서 에러가 생겨서 추후 수정할 예정
* chore: 주석 추가

* [FEAT] Swagger의 api-doc을 이용한 type 생성 (#177)

* feat: type 생성
* chore: root의 ts version 원상 복구

* [CI] 프론트엔드 서버 배포 스크립트 (#202)

* 🚀 프론트 서버 배포 설정

* 🚀 프론트 브랜치와 연결

* 🚀 docker image 빌드 전 환경변수 생성(for next build)

* build: 필요하지 않은 github action script 제거

* fix: cd script 원상 복구

---------

Co-authored-by: dmdgpdi <[email protected]>

* [FEAT] 북마크 생성 페이지 디자인 및 태그 API 연결, (#210)

* chore: 북마크 페이지 폴더 내로 이동

* feat: 북마크 페이지 기초적인 레이아웃 설정

* refactor: BookmarkHeader 컴포넌트 분리

* feat: Gap 컴포넌트 구현

* feat: Gap 컴포넌트 default값 변경

* feat: 북마크 페이지 style 분리

* feat: ogImage 가져오기

* feat: ThumbnailImage 컴포넌트 구현

* feat: 이미지 로딩 시 애니메이션 적용

* chore: 주석 제거

* refactor: ThumbnailImage 컴포넌트 수정

* feat: input tag css 적용

* feat: TagPicker tab 및 focus 애니메이션 적용

* refactor: onKeyDown 함수 뺴기

* chore: 인풋 값 확인

* feat: 위, 아래 화살표에 따라 focus를 변경하는 hook 생성

* feat: 화살표따라 탭 포커스 이동 적용

* feat: props에 따라 고정된 속성 제공

* chore: SelectedTagListLayout 폴더 이동

* feat: 공통 스타일 적용

* feat: SelectedTagList의 스타일 추가

* chore: 간단한 색 변경

* chore: 필요없는 data-desc 제거

* feat: 팝오버 버튼 tab 이동 막기, 엔터 키 제거

* chore: style 변경

* feat: 태그픽커 및 다이얼로그에 style 적용

* feat: radix-ui popover 를 floating-ui로 대체

* feat: 팝오버 버튼 디자인 구현

* feat: 태그 삭제 모달 디자인 추가

* feat: tag 목록이 길 때 스타일 변경

* �chore: 스크롤바 제거 globalStyle에 적용

* feat: 선택한 라벨 높이에 따라 commandListHeight 변경

* chore: css 제거

* feat: CommandList 로딩 화면 추가

* chore: randomcolor 라이브러리 설치

* chore: pre-commit command 수정

* fix: pre-commit command 수정

* feat: numberColor 함수 구현 및 태그 생성시 적용

* feat: randomColor style 적용

* chore: type 생성

* fix: 태그 다이얼로그에서 공백 입력시 아무것도 뜨지 않게 변경

* chore: schema를 위한 절대 경로 추가

* feat: 실제 서버의 타입으로 변경

* fix: 태그 리스트가 없을 때, Command.Empty가 보이게 조건문 변경

* fix: �적용되지 않는 함수 제거

* feat: 태그 생성 api 연결

* refactor: 태그 선택 취소 시에 id값만 이용

* feat: delete tag api 연결

* feat: updateTag api 연결

* chore: schema 타입 최신화

* fix: tagName 수정 후 enter key 입력시 모달창 생기는 버그 수정

* feat: 사용하지 않는 CurrentTabInfo 컴포넌트 삭제

* refactor: useGetTabInfo 폴더 이동

* refactor: api 적용을 위해 default value 변경

* fear: create pick api 연결

* chore: react hot toast 라이브러리 설치

* chore: 사용하지 않는 SAMPLE_DATA 제거

* feat: toast 라이브러리 적용

* feat: ApiErrorBody type 선언

* chore: todo 제거

* feat: post api 통신 에러 핸들링 추가

* feat: deleteTag optimistic update 추가

* feat: update tag optimistic update 추가

* refactor: useCalculateCommandListHeight hook으로 분리

* refactor: onSelectCreatableTag 함수 분리

* chore: 쓰지 않는 return 제거

* feat: enter key로 태그 삭제 및 취소 가능

* feat: 간단한 에러 페이지 생성

* feat: 에러 핸들링 추가

* [FEAT] sanitizeHtml에서 DOMPurify로 교체 (#213)

* fix: 런타임 에러 해결(잘못된 변수 접근) (#215)

* [FEAT] 크롬 익스텐션 픽 수정 기능 구현 (#229)

* chore: schema 최신화
* feat: getLinkByUrl api 추가
* feat: useHasLink hook 구현
* chore: API 변경에 따른 type 최신화
* feat: CreatePickForm, UpdatePickForm 분리
* feat: chore: Pick API 변경에 따른 type 최신화
* feat: link api 삭제
* feat: getPickByUrl api 추가
* feat: useHasPick 변경
* chore: ThumbnailImage backgroundColor 변경
* feat: updateForm 구현
* feat: 로딩 상태 시의 Skeleton 구현
* feat: DeferredComponent 구현
* feat: 로딩화면 구현
* chore: 주석 제거

* [FEAT] Backend api 연결 및 ux 미세조정 (#227)

* design: flex wrap 설정

* design: flex wrap 이중 줄바꿈 문제 수정

* feat: 우클릭 시 context menu 표시

* chore: 주석 제거

* chore: alt 이름 변경

* feat: treeRef 추가

* feat: mockData create 가능

* feat: api 연동: create&move

* feat: api 연동: dnd move 동작 확인

* refactor: 핸들러 함수 hook으로 분리

* feat: edit ux 추가 및 arborist node outline 제거

* feat: folder rename 연결 완료

* feat: folder delete(move to recyclebin) 연결 완료

* feat: create 로직 수정

* feat: 초기 로드 시 recycleBin 생성(향후 수정 예정)

* feat: Tree 컴포넌트 추가 전 커밋

* chore: popover Demo 추가

* design: 버튼 및 팝오버 디자인 수정

* feat: 휴지통 붙임:수정예정

* feat: 휴지통 숨김 설정

* design: 전체적인 디자인 미세 조정

* feat: 로그아웃 버튼 추가 및 디렉토리 조정

* feat: client 로그인 검증로직 추가

* design: 로그인 페이지 디자인 추가

* refactor: 폴더 create 로직 수정

* refactor: 폴더 create 로직 수정2

* refactor: 필요없어진 popover제거

* fix: 중첩 폴더 구조에서 폴더 생성 불가한 문제 해결

* design: 에러 토스트 메시지 추가

* refactor: 삭제 로직 수정(id 부여 방식)

* feat: 휴지통에서 폴더 완전삭제 가능

* [FEAT] 익스텐션 테마 적용 (#241)

* feat: theme을 techpick-shared 모노레포로 분리
* feat: theme 적용
* design: 익스텐션 테마 적용
* fix: peerDependencies제거
* design: techpick의 theme을 techpick-shared에 의존하게 변경
* feat: techpick reset.css 수정
* feat: git pull 이후 필요없는 파일 삭제
* feat: theme 동기화

* [FEAT] 카드 컴포넌트 디자인 구현 (#246)

* fix: ky middleware credentials속성 올바르게 적용

* feat: teckpick-service와 동일하게 id 변경

* feat: techpick-shared의 export 추가

* feat: images모든 url을 허용 및 next.config.mjs제거

* chore: 의존성 설치

* chore: @/schema 절대 경로 추가

* chore: portalContainer id 변경

* feat: pickCard 컴포넌트 디자인 및 레이아웃 구현

* feat: TagPicker 컴포넌트 복사

* [FEAT] 버그 수정, 휴지통 복원, context menu, pr 요청사항 적용 (#247)

* fix: 한글 입력시 폴더 두번 생성되는 문제 해결

* fix: 생성중인 폴더가 있을 때, 폴더 추가생성 방지로직 추가

* refactor: 폴더 위치 변경 및 Input 테마 적용

* fix: 노드 클릭 시 2개의 트리 중 한 노드만 focus되도록 수정

* refactor: 프로젝트 디렉토리 및 파일 구조 수정

* refactor: 프로젝트 디렉토리 및 파일 구조 수정2

* feat: recycleBin에서 contextmenu 사용 가능

* feat: recycleBin에서 restore 가능

* refactor: 이전 코드리뷰 comment 반영

* fix: 폴더 생성시 input이 사라지는 문제 수정

* fix: 폴더 삭제 시 우측 화면 업데이트 안되는 문제 수정

* fix: DirectorySection ui 틀어짐 수정

* feat: 휴지통 내부 dnd 가능

* fix: 좌측 디렉토리 절반만 표시되는 문제 수정

* fix: 간격 수정

* fix: 휴지통 dnd 비활성화

* fix: 생성 또는 이름변경 실패 이후 + 버튼클릭 안되는 버그 수정

* feat: 우측 folder contextMenu 이용가능
*버그 수정 필요(recycleBin menu 출력되는 문제)*

* fix: 우측 contextMenu 버그 수정

* fix: 우측 context 수정중

* chore:충돌 방지용 git pull

* [CI] 도커 이미지 build 관련 버그 수정 (#252)

* build: Dockerfile yarn berry 적용 및 필요한 파일 추가
* chore: 주석 변경

* fix: tag 생성 연속 입력 문제 해결 (#257)

* [FIX] 로그인된 상태일 때 메인 페이지로 리다이렉트 (#260)

* [FEAT] unclassified 표시 가능 (#261)

* feat: unclassifiedPicks api 호출 코드 추가

* feat: unclassified 표시됨

* [FEAT] PickCard API 연결 (#266)

* chore: 주석 추가

* feat: PickCard 이미지 스타일 수정

* chore: 쓰지 않는 apis 폴더 삭제

* refactor: 중복된 api middleware 제거

* fix: ky middleware content-type 추가

* feat: getPick api 연결

* design: 디자인 변경

* chore: import 순서 변경

* feat: updatePick api 연결

* feat: selected Tag 태그 삭제시 상태 변경

* chore: 주석제거

---------

Co-authored-by: Jason <[email protected]>

* feat: skelton 적용 (#268)

* feat: skelton 적용

* feat: link 추가 및 tagPicker 동작 수정

* [FIX] 태그 생성 후 창 유지후에 수정 했을 때, 생성한게 추가가 안되는 로직 (#270)

* [FEAT] pick dnd (#272)

* feat: nodeApi로 변환 로직 추가

* fix: 임시 디바운싱 적용

* fix: api 교체

* fix: 간헐적으로 unclassified 안보이는 문제 수정

* feat: pick 휴지통, 복원, 삭제 api 연결완료

* fix: 이름 길어지면 ...으로 표시

* fix: 가상 미분류 폴더 렌더링 방지 처리

* fix: 버그유발 기능 비활성화

* fix: fix

* fix: fix2

* [REFACTOR] 폴더구조 변경 (#308)

* refactor: shared 폴더 제거

* refactor: entities/pick 폴더 제거

* refactor: entities/tag 제거

* refactor: features/tag 제거

* refactor: features/userManagement 제거

* refactor: features/themeManagement 제거

* refactor: features/nodeManagement 제거

* refactor: widgets 제거

* [REFACTOR] import 순서 변경 (#311)

* chore: eslint import 순서 정리
* reafactor: import 순서 변경

* feat: 디자인 토큰 추가

* feat: 디자인 토큰 적용

* feat: �commontThemeContract 삭제

* fix: ThemeProvider 변경사항 적용

* fix: 위치 조정

* [FEAT] 디자인 토큰 추가

* [FEAT] 같은 계층일 때, 폴더 multi select 구현 (#332)

* chore: dnd-kit 설치 및 tree 페이지 생성

* feat: jest 설정추가

* fix: jest monorepo별 적용

* chore: root jest config 삭제

* feat: 같은 부모 밑에서 1개씩 폴더 이동

* design: tree page margin 변경

* test: 복수의 폴더 이동 테스트코트 작성

* feat: 현재 드래그 여부 상태 zustand에 추가

* feat: 폴더 다중 선택 기능 추가

* feat: DragOverlay추가

* design: primary color로 변경

* fix: test문 it.only 제거

* refactor: dndTreeStore에 hasIndex 적용

* [FEAT] 검색창 및 리스트 로직 설계 (#333)

* feat: 검색 위젯 로직 구현

* feat: 유틸리티 클래스 구현 (파싱, 필터링)

* doc: 유틸리티 참고 이미지 및 설명

* feat: zustand, react query 추가

* feat: 뷰포트 리액트 컴포넌트

* refactor: esToolkit import

* refactor: useViewScope 변경

* refactor: useQuery 함수명 파일명 변경

* refactor: useQuery 함수명 파일명 변경

* refactor: Util 함수 리팩토링

* [FEAT] 픽 리스트 - 사용자 설정 필터 & 뷰 템플릿 (#348)

* feat: 검색 위젯 로직 구현

* feat: 유틸리티 클래스 구현 (파싱, 필터링)

* doc: 유틸리티 참고 이미지 및 설명

* feat: zustand, react query 추가

* feat: 뷰포트 리액트 컴포넌트

* refactor: esToolkit import

* refactor: useViewScope 변경

* refactor: useQuery 함수명 파일명 변경

* refactor: useQuery 함수명 파일명 변경

* refactor: Util 함수 리팩토링

* chore: 파일 제거 및 위치 이동

* chore: use-Immer 패키지 추가

* feat: 유틸리티 (Stream, Tokenizer) 리팩토링 및 개선

* chore: 공통 타입 추가 및 일부 변경

* feat: 태그 아이템 UI 컴포넌트 (익스텐션에서 가져옴)

* feat: 최상단 컴포넌트 (뷰어) 및 상태 구현

* test: 쿼리 더미 데이터 추가

* feat: 옵션 리스트 위젯 및 상태 구현

* feat: 검색창 위젯 구현

* feat: 필터 옵션 기능 구현

* feat: 뷰 템플릿 (리스트 vs 그리드) 옵션 구현

* chore: 디렉토리 이름 변경, 기존 폴더 제거

* chore: dummy data 업데이트

* ♻️ refactor: 코드 리뷰 기반으로 리팩토링 진행

* [REFACTOR] Drag & Drop 함수 및 컴포넌트 분리  (#351)

* test: moveFolder test code 삭제

* feat: mockdata 변경에 따른 로직 변경

* refactor: 중앙 스토어에서 로직 분리

* design: treePageWrapper css 변경

* feat: shift + click시에 active가 부모 폴더가 다르면 초기화

* feat: 다른 폴더간 이동 구현

* chore: 테스트코드 예제 삭제

* refactor: reorderFolderInSameParent 함수명 수정

* refactor: SelectedFolderListType으로 대체

* refactor: handleClick 함수 분리

* chore: tree 컴포넌트를 components 폴더로 이동

* [FEAT] 공통 테마에 jsdoc 추가 (#354)

* [FIX] drag & drop 후 정렬 변경 (#360)

* fix: drag & drop 후 정렬 변경

* refactor: isSameParentFolder parameter 변경(동일한 값)

* [FEAT] 폴더 생성 UI 및 상태 관리 로직 변경 (#365)

* design: 작업 전 디자인 변경

* design: CreateFolderInput 디자인 추가

* feat: 폴더 생성 UI 구현

* design: FolderTree 전체적인 레이아웃 변경

* design: 폴더 트리 디자인 개선

* feat: CreateFolderInput 생성시 focus 이동

* design: createFolderInputLayout 디자인 변경

* [FEAT] 폴더 이름 변경 UI 및 로직 구현 (#367)

* feat: CreateFolderInput, FolderInput 컴포넌트로 추출

* design: 공통 테마 사이즈 추가

* chore: PORTAL_CONTAINER_ID 상수로 변경

* feat: 폴더 이름 변경 UI 및 로직 연결

* feat: 우클릭시에 포커스되는 폴더 변경

* [FEAT]: 삭제 UI 및 로직 추가 (#369)

* [CI/CD] nextjs docker image 사이즈 감소 (#380)

* [FEAT] Folder API 연결 (#399)

* chore: api 변경에 따른 스키마 업데이트

* feat: 폴더 관련 api 타입 지정

* refactor: api 변경에 따른 타입 변환

* feat: top level error 추가

* feat: folder crud api 추가

* chore: api 변경에 따른 타입 변경

* feat: 폴더 드래그 앤 드랍 api 연결

* feat: 폴더 이름 변경 api 연결

* feat: 휴지통 이동 api 연결

* refactor: -1 매직넘버 상수로 변경

* chore: mockdata 삭제

* chore: re-resizable 의존성 설치

* faet: FolderTree 크기 조정 가능하게 변경

* chore: api 변경에 따른 타입 최신화

* feat: createFolder api 연결

* refactor: getFolders, getBasicFolders 로 함수명 변경

* reafactor: getRootFolderList로 변경

* [FEAT] 폴더 클릭에 따른 라우팅 변경 (#405)

* feat: 라우팅 설정 변경

* chore: root 폴더에서 tsc 동작시 build된 파일 생성 차단

* chore: legacy 삭제

* feat: 폴더 클릭시마다 라우팅 이동

* feat: useTreeStore subscribeWithSelector 적용

* refactor: FolderInfoItem 컴포넌트 분리

* feat: url을 이용해 folder 선택하게 변경

* feat: route 경로 추가

* feat: middleware redirect url 변경

* feat: 휴지통 및 미분류 폴더 추가

* design: 최초 로딩시에 사이드바 사이즈 지정

* design: 사이드바 디자인 조정

* chore: 쓰지 않는 props 제거

* refactor: useEffect 함수명 추가

* [FEAT] 검색 위젯 기능 구현 및 미사용 필터 제거 (#410)

* chore: 중간 작업 공유

* chore: 타입 변경 및 기존 SearchWidget.tsx 리팩토링

* chore: 타입 변경 및 기존 SearchWidget.tsx 리팩토링

* feat: 기존 로직에서 미사용하는 필터 제거

* feat: dndTreeStore 병합 작업

* [FEAT] 검색창 자동 완성 (#418)

* refactor: PrefixTokenizer 구현 수정

* refactor: PrefixTokenizer 구현 수정

* feat: 검색 위젯 토큰화 구현

* chore: 화면 테스트를 위한 뷰어 패널 코드 수정 (반영 안될 수 있는 커밋)

* feat: 토큰 검색창 CSS 설정

* chore: 일부 주석 추가 및 코드 위치 변경

* chore: yarn.lock 파일 커밋

* [FEAT] 같은 폴더 내에서 Pick Drag&Drop 구현 (#420)

* chore: 백엔드 api 타입 최신화

* chore: util 스펠링 정확하게 변경

* feat: pickType 추가

* feat: getPicksByFolderId 추가

* refactor: viewTemplate 코드 변경

* refactor: 바로 호출이 아닌, useEffect 내에서 비동기함수 호출

* chore: git pull을 위한 커밋

* refactor: pickCardListViewer로 PickCard 컴포넌트 이동

* design: card link style 변경

* feat: 더블 클릭시 링크 이동

* feat: dnd가 가능한 list와 그렇지 않은 list분리

* refactor: dnd여부에 따라 PickListViewer분리

* refactor: DnDCurrentType을 dnd.type으로 이동

* refactor: 공통 utils함수로 추출

* feat: 픽에서 픽으로 이동(api 미연결)

* feat: pick multi-select 구현

* feat: multi-select drag&drop 구현(api 미연결)

* feat: 같은 폴더 내 픽 drag&drop api 연결

* [FIX] 깃허브 액션 API 테스트

* [FIX] 검색창 버그 수정 및 URL 업데이트 (#424)

* 🚨 fix: useSearchParams 사용처에 <Suspence> 추가

* [DESIGN] 폴더 영역 디자인 개선 (#430)

* [FEAT] 픽을 폴더로 이동하는 기능 추가 (#432)

* refactor: draggable type에 따라 검증 함수 분리

* chore: store barrel export 추가

* feat: pick to folder를 위한 dnd context 생성

* fix: dnd context 변경에 따른 로직 변경

* refactor: 컴포넌트명 변경

* refactor: useGetDndContextSensor로 로직 분리

* fix: 로직에 따라 pickId 문자열 대신 정수로 수정

* feat: PickDraggableObjectType에 부모 폴더 id 추가

* feat: 드래깅하는 카드 정보 store에 추가

* feat: pick to pick 시 overlay 카드 생성

* feat: folder drag시 folder overlay 보이도록 변경

* design: 카드 드래그 시 크기 줄이기

* feat: pick to folder drag over시 폴더 색상 변경

* refactor: movePicksToEqualFolder로 함수명 변경

* feat: 휴지통 및 미분류로 픽 이동 감지

* feat: 다른 폴더로 픽 이동 로직 추가

* feat: 폴더 디테일 페이지 뷰 연결

* feat: �휴지통 페이지 카드 렌더링

* [FIX] DragOver 수정 및 휴지통 이동 로직 변경 (#441)

* fix: DragOver 개선

* refactor: 백엔드 API 변경에 따른 휴지통 이동 로직 변경

* [FIX] 현재 포커스된 폴더 삭제 시에 미분류 페이지로 리다이렉트 (#446)

* fix: 현재 포커스된 폴더 삭제 시에 미분류 페이지로 리다이렉트

* design: 드래그시 outline 제거

* [FEAT] 로그인 리다이렉트 URL 추가 (#450)

* chore: sample 대신 관용적으로 사용되는 example로 변경

* feat: 로그인 redirect url 추가

* ci/cd: github Actions secrets 추가 및 적용

* [REFACTOR] 익스텐션 폴더 구조 변경 및 API 최신화 (#458)

* feat: 익스텐션 로그인 페이지 디자인 변경

* chore: 백엔드 타입 최신화

* chore: 백엔드 타입 최신화

* refactor: type은 types폴더로 이동

* chore: 백엔드 타입 최신화

* refactor: api 호출 함수 변경

* refactor: api url 상수로 관리

* feat: barrel export에서 값과 함수 제거

* refactor: 도메인 의존성 없는 컴포넌트 lib폴더로 이동

* refactor: toast 관련 함수 lib 폴더로 이동

* refactor: store는 store폴더로 이동

* chore: 사용하지 않는 타입 제거

* refactor: util함수 util 폴더로 이동

* refactor: 페이지 폴더 제거

* refactor: 컴포넌트는 컴포넌트 폴더로 이동

* fix: returnErrorFromHTTPError에 await 문구 추가

* chore: 백엔드 api 변경에 따른 타입 변경

* [FIX] 로그인 이후 뒤로가기 시 로그인 화면으로 이동하지 못하게 수정 (#453)

* [fix] 픽 검색 API 페이지네이션 적용 (#460)

* chore: 무한스크롤 라이브러리 추가

* chore: 무한스크롤 라이브러리 추가

* feat: 무한 스크롤 구현

* chore: pick 조회 스토어 함수 수정

* chore: 불필요한 코드 수정

* [FEAT] radix-color 추가 (#462)

* feat: radix-color 추가

* chore: radix-color 추가 변경사항 적용

* chore: route 변수 수정

* feat:  breadcrumb 적용

* chore: 기타 스타일링

* chore: 입력창 스타일링

* feat: 무한 스크롤 다듬기 작업

* feat: 검색창 변수 수정

* [DESIGN] 검색 바 디자인 개선 (#463)

* chore: route 변수 수정

* feat:  breadcrumb 적용

* chore: 기타 스타일링

* chore: 입력창 스타일링

* feat: 무한 스크롤 다듬기 작업

* feat: 검색창 변수 수정

* fix: useSearchParams는 suspense로 반드시 감싸야 한다.

* refactor: ApiFolderErrorCode 오타 수정 (#468)

* [FEAT] 메모 제거, 폴더 선택 추가(API 미연결), 우클릭시 사이트 이동 (#473)

* feat: 익스텐션 아이콘 추가

* feat: 로그인 로고 변경

* feat: 북마크 페이지 아이콘 변경 및 링크로 이동

* chore: 오타 수정

* feat: theme 추가

* feat: 메모 제거

* feat: 로그인 페이지 삭제

* chore: radix select 설치

* feat: 폴더 선택 select 간단한 컴포넌트 구현

* feat: createPick시에 폴더 선택 기능 구현

* feat: update시에도 폴더 선택 기능 추가(api 미연결)

* feat: 크롬 익스텐션 우클릭시에 서비스 링크로 이동

* feat: 로딩 화면 추가

* [REFACTOR] 픽 리팩토링, 검색 테스트 구현 (#474)

* refactor: FolderType label 수정

* refactor: 파라미터 idList -> pickIdList 명시적으로 변경

* refactor: folder 내부에 있는 pick_order 리스트에 pickId가 중복 생성되는 문제 해결

* refactor: root folder 검색 못하도록 예외 처리

* refactor: pick controller 메서드명 수정

* refactor: DB fleid 함수를 이용하여 정렬된 픽 리스트 조회할 수 있는 메서드 구현

* refactor: 픽 검색 시 폴더 리스트가 null인 경우 검증하지 않도록 변경, tag 검증 추가

* refactor: 테스트 코드 작성

* refactor: 테스트 코드 ParameterizedTest로 리팩토링 (#476)

* [DESIGN] 익스텐션 디자인 변경 (#479)

* chore: title 설정

* chore: 아이콘 변경 및 안쓰는 아이콘 제거

* feat: radix-ui 의존성 설치

* design: 테마 추가

* design: globalStyle a tag 제거

* design: TagPicker 디자인 변경

* refactor: numberToRandomColor 변경

* design: folder select 디자인 변경

* design: TagPicker placeholder 추가

* design: ThumbnailImage css 변경

* design: CreatePickForm 변경

* feat: BookmarkHeader 제거

* feat: useCalculateCommandListHeight 삭제

* design: 업데이트 및 로딩 화면 디자인 변경 적용

* design: 로딩 화면 변경 적용

* refactor: loginGuard 로직 변경

* feat: FolderSelect 화살표 이동 추가

* chore: 사용하지 않는 헤더 삭제

* [FIX] 픽 수정 리팩토링 및 검증로직 개선 (#477)

* refactor: 불필요한 초기값 제거

* fix: 엔티티를 list로 조회시 존재하지 않는 엔티티를 조회하려고 하면 NOT_FOUND 예외 발생

* fix: pick update시 부모폴더 id도 변경 가능하도록 수정, 누락된 검증 로직 추가

* fix: 기능 변경에 의한 테스트 코드 수정

* fix: idList로 폴더 조회시 존재하지 않는 폴더id로 조회하면 예외 발생

* refactor: 파라미터명 명확하게 수정 idList -> folderIdList

* [FEAT] error 메세지 전송 및 폰트 적용방식 변경 (#482)

* feat: 에러 메세지 명세

* feat: error 메세지 명세

* feat: 폰트 적용 방식 변경

* chore: react-router-dom 버전 변경

v7 점진적으로 도입하는 버전이라 warning log가 떠서 변경

* feat: 폴더 응답에 생성 수정 일자 추가 (#485)

* [�FEAT] 익스텐션 배포 전, 수정 (#489)

* fix: 디자인 변경

* chore: 익스텐션에서 사용하지 않는 의존성 제거

* fix: 휴지통 보이지 않게 하기

* feat: 서버 에러시 toast 알림

* feat: 정상 동작 시 창닫기

* feat: error message 추가

* feat: 폴더 최신순 정렬

* design: 색 추가 및 적용

* design: 인풋 디자인 변경

* feat: font 재적용

* fix: http로 시작하지않으면 저장 안되게 수정

* fix: update시에 폴더 추가

* design: footer 디자인 추가

* docs: manifest.json description 추가

* hotfix: 익스텐션 design 변경

* fix: zip파일 제거

* [FEAT] 에러 요청에 대한 로깅 구현 (#481)

* feat: error request logging 구현

* feat: 기존 예외처리 로직에 요청 로깅 추가

* chore: 주석 추가

* fix: 로깅 방식 변경 - application.log에 sql 로깅 제외

* fix: 누락된 로깅 로직 추가

* [fix] refetch 검색 안되는 문제 해결 (#496)

* [FEAT] 픽 렌더링 카드에서 리스트 아이템으로 교체 (#501)

* feat: PickRenderModeState 구현

* feat: PickRecordListLayout 컴포넌트 구현

* feat: PickCard대신 PickRecord 렌더링으로 변경

* feat: usePickRenderModeStore 의존성 제거

* �[FEAT] 폴더 export 기능 구현 (#504)

* feat: 폴더 export 기능 구현

* feat: url 수정

* [DESIGN] 디자인 변경 (#500)

* [FEAT] 파비콘 추가 및 title 변경 (#503)

* [FEAT] 픽 제목 최대 길이 검증 및 Validation 검증 리팩토링 (#499)

* refactor: 픽 제목 최대 길이 제약조건 추가

* feat: 픽 제목 최대 길이 제약조건 예외, 예외 코드 추가

* refactor: bean validation 예외 상세하게 반환하도록 수정

* refactor: tag 이동 시 리스트 길이보다 큰 인덱스로 이동 시 IndexOutOfBoundsException 발생하는 문제 해결

* fix: title이 null일 때 터지는 오류 해결

* fix: && 문법 오류 수정

* [BUG] 픽 태그 삭제 버그, 픽 수정 버그 수정 (#509)

* refactor: 픽에 사용되었던 유저 태그 삭제 시 500에러 해결

* refactor: pick unique index title 제거

* refactor: 픽을 휴지통으로 이동 시 폴더 내에 있는 픽 리스트 제거 및 가독성을 위해 로직 공통 처리

* refactor: 불필요한 메서드 제거 및 메서드명 변경

* refactor: 운영 환경에서 스웨거 접근 못하도록 하는 설정 추가

* refactor: 폴더 삭제 시 픽들이 휴지통으로 이동될 때 부모 폴더의 픽 리스트 수정이 필요하지 않음.

* refactor: 미분류, 휴지통 폴더에 폴더 생성하지 못하도록 변경, 에러 메세지 변경

* refactor: 메서드명 수정

* refactor: 픽 생성 시 타이틀이 없으면 터지는 예외 해결

* refactor: 데드락 문제 해결을 위해 트랜잭션 범위 최소화

* [FEAT] PickRecord 컴포넌트 구현 및 pick 수정(태그, 타이틀)기능 구현 (#513)

* feat: PickRecord에서 PickListItem 분리

* refactor: TagPicker 크롬 익스텐션 코드 가져오기

* design: list item 줄어들 때, textoverflow 적용

* fix: li 내부에 li가 들어갈 수 없음

* refactor: pick 수정 api 변경

* feat: updatePickInfo 로직 구현

* feat: updatePickInfoStore 구현

* feat: 픽 제목 수정 기능 구현

* chore: 나중에 할 todo 등록

@todo: 현재 SearchWidget이 사용되는 페이지에 전체적으로 적용되고 있음.

* chore: @radix-ui/react-separator 설치

* refactor: PickRecord PickSearchRecord로 변경

* feat: PickRecord로 대체

* feat: tagStore 안쓰는 함수 삭제

* refactor: tag 관련 api 함수 호출 경로 수정

* design: 안보이는 색 변경

* feat: TagPicker CRUD 적용

* design: 디자인 변경

* [BUG] 픽 태그 리스트 수정 시 데드락 문제 수정 (#514)

* refactor: 픽 생성 시 타이틀이 없으면 터지는 예외 해결

* refactor: 데드락 문제 해결을 위해 트랜잭션 범위 최소화

* hotfix: Pick 엔티티의 Link Lazy -> Eager

* [FEAT] 픽 휴지통 이동 및 휴지통에서 픽 삭제 구현, 픽 포커스 변경 (#515)

* feat: PickRecord에서 PickListItem 분리

* refactor: TagPicker 크롬 익스텐션 코드 가져오기

* design: list item 줄어들 때, textoverflow 적용

* fix: li 내부에 li가 들어갈 수 없음

* refactor: pick 수정 api 변경

* feat: updatePickInfo 로직 구현

* feat: updatePickInfoStore 구현

* feat: 픽 제목 수정 기능 구현

* chore: 나중에 할 todo 등록

@todo: 현재 SearchWidget이 사용되는 페이지에 전체적으로 적용되고 있음.

* chore: @radix-ui/react-separator 설치

* refactor: PickRecord PickSearchRecord로 변경

* feat: PickRecord로 대체

* feat: tagStore 안쓰는 함수 삭제

* refactor: tag 관련 api 함수 호출 경로 수정

* design: 안보이는 색 변경

* feat: TagPicker CRUD 적용

* design: 디자인 변경

* feat: deletePicks api 함수 구현

* design: TagPicker 화면 짤림 수정

* feat: 우클릭 휴지통 이동 및 삭제 구현

* feat: PickRecord로 렌더링 변경

* feat: 페이지 이동시, pick item 외부 클릭시 선택된 요소 초기화

* refactor: PickTag에 낙관적 락 설정

* refactor: Spring retry 추가

* [REFACTOR] PickTag 테이블에 낙관적 락 설정 (#519)

* refactor: PickTag에 낙관적 락 설정

* refactor: Spring retry 추가

* refactor: 픽태그 삭제 부분 수정

* design: tag 생성이나 삭제 시에 TagAutocompleteDialog 위치 조정 (#520)

* [FIX] 두번 useEffect 호출 되는 거 방지 (#518)

* refactor: pick 수정하는 부분에 비관적 락 추가 (#521)

* chore: 로그인 페이지 작업 (#508)

* [FEAT] 크롬 북마크 Import 기능 구현 (#522)

* fix: access token, JSESSIONID 로깅 안하도록 수정, multipart file 캐싱 안하도록 수정

* fix: 입력값이 공백 또는 null일 경우 update하지 않음, 기본값을 빈스트링("")으로 설정

* feat: ogTag 업데이트 구현 및 필요한 의존성 추가

* feat: chrome 북마크 import를 위한 메소드 추가

* feat: chrome 북마크 import export 구현

* refactor: 주석 수정

* refactor: swagger 설정 수정

* refactor: link의 title과 description 필드 text타입으로 수정

* chore: 주석 typo 수정

* refactor: typo 수정

* [DESIGN] 디자인 작업 (#524)

* chore: 로그인 페이지 작업

* feat: 디자인 작업 반영

* fix: 미사용 import 제거

* fix: 서치 버그 해결

* feat: og 태그 데이터 가져오는 api 구현 (#525)

* refactor: 운영 서버에서 스웨거 접근 못하도록 변경 (#527)

* [DESIGN] 배포전 PR (#529)

* design: tag 생성이나 삭제 시에 TagAutocompleteDialog 위치 조정

* feat: Gap 컴포넌트 변경

* design: PickRecord 이미지 영역 사이즈 변경

* design: 헤더 Image table 명명

* design: flex-shrink 적용

* chore: 코드 스타일 변경

* fix: TagPicker 컴포넌트 floating element style 변경

* design: TagRecord Input 디자인 변경

* design: font 모든 부분에 동일하게 적용

* refactor: moveFolderToRecycleBin refactoring

* design: 디자인 변경

* design:2차변경

* design: 버튼 color 추가

* feat: PickSearchRecord 추가

* feat: 링크 추가

* fix: url 수정 및 구현안된 기능 숨기기

* fix: unused import 제거

* fix: 폴더 삭제 전체 삭제 변경

---------

Co-authored-by: Jason <[email protected]>
Co-authored-by: Jason <[email protected]>
Co-authored-by: Minky <[email protected]>
Co-authored-by: Pak Su Hyung <[email protected]>
Co-authored-by: Sangwon Yang <[email protected]>
dmdgpdi added a commit that referenced this pull request Nov 22, 2024
* chore: 세팅중인 상태

* fix: vanilla-extract 설정 변경

* fix: storybook 실행 안되는 오류 해결

@chromatic-com/storybook이 문제였음.

* chore: storybook tset 확인

* chore: eslint 예외 추가

* chore: eslint, prettier 설정

* chore: DS_Store ignore

* chore: husky 테스트

* chore: husky 적용 중

* chore: husky 적용

* chore: 테스트용 컴포넌트 삭제

* chore: jest 적용

* chore: ts를 devDependencies로 이동

* chore: sample test 파일 삭제

* chore: add files to gitignore

* chore: vscode setting 추가

* chore: playwright example test code 삭제

* chore: e2e test github action 추가

* fix: action 오타 수정

* fix: 깃허브 액션 오타 수정

* chore: add corepack

* chore: 실행 순서 변경

* chore: browser 설치

* chore: playwright-report path 변경

* chore: �액션 if문 제거

* fix: 액션 탭 간격 변경

* chore: github action 테스트를 위한 싶패 테스트

* chore: 항상 report를 뽑을 수 있게 변경

* chore: github action 테스트를 위한 성공 테스트

* chore: vanilla-extract storybook 적용

* chore: 프로젝트 세팅을 위한 필요없는 파일 없애기

* chore: playwright yarn script 추가

* chore: react-hot-toast 적용

* feat: 깃허브 액션 테스트용 PR (#4)

* chore: 세팅중인 상태

* fix: vanilla-extract 설정 변경

* fix: storybook 실행 안되는 오류 해결

@chromatic-com/storybook이 문제였음.

* chore: storybook tset 확인

* chore: eslint 예외 추가

* chore: eslint, prettier 설정

* chore: DS_Store ignore

* chore: husky 테스트

* chore: husky 적용 중

* chore: husky 적용

* chore: 테스트용 컴포넌트 삭제

* chore: jest 적용

* chore: ts를 devDependencies로 이동

* chore: sample test 파일 삭제

* chore: add files to gitignore

* chore: vscode setting 추가

* chore: playwright example test code 삭제

* chore: github action 테스트를 위한 싶패 테스트

* chore: github action 테스트를 위한 성공 테스트

* chore: vanilla-extract storybook 적용

* chore: 프로젝트 세팅을 위한 필요없는 파일 없애기

* chore: playwright yarn script 추가

* chore: react-hot-toast 적용

---------

Co-authored-by: Jason <[email protected]>

* chore: 프로젝트 구조 세팅 (#11)

* chore: 필요없는 파일 제거

* fix: 파일명 오타 수정

* feat: 기본 디렉토리 추가

* chore: yarn set version berry (#12)

* chore: 깃허브 액션 변경

* feat: 모노레포 분리 (#28)

* chore: 서비스 디렉토리 이동

* chore: eslint 적용중

* fix: eslint 설정

* chore: extension 프로젝트 세팅 중 husky 충돌

* fix: pre-commit 동작 수정

* chore: backup

* chore: backup

* chore: backup2

* chore: setting

* chore: ignore 설정

* chore: husky 설치

* chore: monorepo로 변경된 뒤 액션 변경

* chore: husky 설치

---------

Co-authored-by: Jason <[email protected]>

* chore: 폴더명 변경에 따른 액션 변경

* chore: 폴더명 변경 (#37)

* Front/feat/#35 (#40)

* chore: 폴더명 변경
* build: 크롬 익스텐션 빌드 설정
* feat: css 파일 제거
* build: 파일 수정시마다 build되는 스크립트 추가
* chore: 의존성 설치
@tanstack/react-query, @vanilla-extract/css, react-router-dom, zustand
* feat: 디렉토리 생성
* feat: router 추가
* feat: react-query provider 설정
* feat: vanilla-extract 세팅

* feat: 현재 탭에서 데이터 가져오기 (#50)

* feat: 북마크 페이지 생성
* chore: 절대경로 수정
* build: build시에는 빌드를 한번하게 변경
* feat: 새로운 링크로 이동할 시 og image가져오는 동작 추
* feat: tab 열 때 마다 og image 가져오기
* refactor: 쓰지 않는 코드 제거
* chore: 주석 제거
* feat: 파비콘 가져오기
* feat: 서비스워커를 이용해서 동작하는 것으로 변경
* refactor: useGetTabInfo hook으로 분리
* refactor: background.ts 제거
* feat: og:description 가져오기
* chore: 쓰지 않는 상수 제거

* feat: 페이지 기본 요소 렌더링 (#52)

* chore: init

* design: theme 설정

* design: dirView 구조 정의

* chore: downgrade version - yarn 4.3.1 / typescript 5.5.4

* feat: react-arborist 적용 및 테스트 완료

* feat: 디렉토리 구성 및 아이콘 추가

* chore: use-resize-observer 라이브러리 추가

* design: tree 높이 동적 조절되도록 수정

* feat: 우측 view에 folder 및 link 표시

* chore: 컴포넌트 분리

* chore: 불필요한 주석 제거

* chore: 4.3.1 cjs 추가

* refactor: pr 수정요청사항 적용

* chore: import 수정

* chore: index.ts 추가

* chore: index.ts 추가

* chore: conflict 해결

* refactor: barrel exports pattern 적용

* refactor: icon export 처리

* refactor: directoryNode export 처리

* refactor: icon 이동

* refactor: icon을 public으로 이동

* chore: 불필요한 index 제거

* chore: 이름 변경

* chore: 이름 변경

* chore: 이름 변경

* chore: 이름 변경

* chore: 이름 변경

* [FEAT] 익스텐션 태그 인풋 핵심 로직 구현 (#126)

* feat: 북마크 페이지 생성
* chore: 절대경로 수정
* build: build시에는 빌드를 한번하게 변경
* feat: 새로운 링크로 이동할 시 og image가져오는 동작 추가
* feat: tab 열 때 마다 og image 가져오기
* refactor: 쓰지 않는 코드 제거
* chore: 주석 제거
* feat: 파비콘 가져오기
* feat: 서비스워커를 이용해서 동작하는 것으로 변경
* refactor: useGetTabInfo hook으로 분리
* refactor: background.ts 제거
* feat: og:description 가져오기
* chore: 쓰지 않는 상수 제거
* feat: cmdk 적용
* feat: 현재 선택한 태그가 보이도록 변경
* feat: 비동기 호출 흉내내서 라벨 데이터 가져오기
* chore: immer 설치
* feat: tagStore CRUD 구현
* chore: lucide icon 설치
* feat: deselect button ui 추가
* feat: deselect 기능 추가
* feat: SelectedTag ui 개선
* chore: todo 주석 제거
* feat: 동일한 태그가 없을 때 생성 아이템 추가
* feat: 태그 생성 로직 구현
* chore: 폴더 변경
* feat: TagInfoPopover 간단한 UI 구현
* feat: tag update 기능 추가
* chore: tagStore 폴더 변경
* chore: @radix-ui/react-dialog 설치
* chore: showDeleteTagDialogButton 파일 변경
* feat: DeleteTagDialog 상태 관리 구현
* chore: 다음 작업에 할 Todo 내용 추가
* feat: DeleteTag 관련 컴포넌트 구현
* chore: Command.Dialog css 변경
* refactor: useEffect내 함수 기명함수로 변경
* refactor: 분리되어있던 컴포넌트 SelectedTagItem폴더로 이동
* chore: components 에서 ui로 폴더명 변경
* refactor: TagInput컴포넌트에서 TagSelectionDialog컴포넌트 분리
* refactor: TagInput에서 TagPicker로 컴포넌트명 변경
* refactor: TagAutocompleteDialog로 컴포넌트명 변경
* refactor: TagPicker css명 변경
* refactor: css classname 변경
* refactor: 분리되어있던 css 합치기
* refactor: onSelectTag함수로 반복되는 함수 호출 합침
* refactor: 문자열 상수로 변경
* chore: 주석 추가
* feat: enter키 입력시 popover 켜지게 변경
* refactor: PopoverTriggerButton으로 분리
* chore: 사용하지 않는 index.ts 제거
* chore: 폴더명 components에서 ui로 변경
* chore: 폴더명 변경
* chore: tsbuildinfo update
* chore: 폴더 위치 이동
* chore: 폴더 이동
* chore: git pull frontend
* chore: todo 주석 추가

* [FEAT] Drag&Drop 구현: Directory (#117)

* test: mockdata 동적 생성

* chore: react-dnd, react-dnd-html5-backend 추가

* feat: dragDropManager 적용

* feat: dragDropManager 적용

* feat: Drag&Drop 시 mockData도 변경되도록 수정

* feat: treeData를 전역 상태로 관리

* design: LinkEditorSection 렌더링 요소 변경

* design: hover 시 음영 추가

* refactor: type 변경

* feat: 현재 위치에 폴더가 없으면 표시하지 않도록 변경

* fix: 아래로 이동 시 한칸씩 밀리는 버그 수정

* feat: FolderSection에 dnd 적용

* feat: LinkEditorSection 에서 DirectoryTreeSection 으로 Folder Drag and Drop 가능

* fix: DirectorySection에서 동일 부모의 자식 간 순서 변경 시 폴더를 아래쪽으로 이동할 경우 두칸씩 움직이는 문제 해결

* feat: DirectorySection에서 Folder를 이동 시 폴더 사라지는 로직 추가

* feat: LinkEditorSection에서 Pick Dnd 가능

* refactor: 중복 코드 hook으로 분리

* refactor: 이름 변경

* refactor: 이름 변경

* design: Lucid Icon 적용

* refactor: 중복 코드 제거

* chore: marged branch frontend

* chore: yarn cache clean and re-installed

* [FEAT] 우측으로 dnd 작업 가능 (#145)

* design: theme 변경시 icon 색상도 변경되도록 수정

* feat: LinkEditorSection 상단에 Directory Name 동적 변화

* design: 선택된 항목 강조 표시

* fix: DirectorySection 내부에서 dnd 작업 시 우측에도 반영되도록 수정

* fix: DirectorySection 내부에서 dnd 작업 시 우측에도 반영되도록 수정: 순서 변경 적용

* fix: DirectorySection 내부에서 dnd 작업 시 우측에도 반영되도록 수정: 순서 변경 적용

* fix: 순서 변경 시 인덱스 오차 수정

* feat: 폴더 클릭 시 해당 폴더로 이동

* fix: 내부에 요소가 없으면 빈 화면 표시

* feat: 좌측->우측 dnd 가능

* fix: 최초 로드 시 treeApi를 받아오지 못하는 문제 해결

* �[FEAT] .env 파일 설정 및 서버와 연결 확인 (#158)

* feat: 환경변수로 도메인 저장
* feat: 간단한 login 페이지 생성 및 .env파일 세팅

* �[FEAT] 크롬 익스텐션 로그인 링크 페이지 구현 (#167)

* build: dev 모드, production 모드에 따라 환경변수 주입
* build: build시에 manifest.json에 환경변수 주입
* fix: mode에 따른 환경변수 주입
* fix: script 오타 수정
* chore: ky 종속성 설치
* feat: ky를 이용한 baseApi 생성
* feat: 로그인 여부 파악 후 페이지 렌더링
* chore: tsbuildinfo 삭제
* chore: 주석 제거
* feat: Text 컴포넌트 구현
* feat: Button 컴포넌트 구현
* feat: 로그인 링크 페이지 구현
* feat: 상수로 적용
* fix: 상수대신 .env 직접 적용
- 해당 코드에서 에러가 생겨서 추후 수정할 예정
* chore: 주석 추가

* [FEAT] Swagger의 api-doc을 이용한 type 생성 (#177)

* feat: type 생성
* chore: root의 ts version 원상 복구

* [CI] 프론트엔드 서버 배포 스크립트 (#202)

* 🚀 프론트 서버 배포 설정

* 🚀 프론트 브랜치와 연결

* 🚀 docker image 빌드 전 환경변수 생성(for next build)

* build: 필요하지 않은 github action script 제거

* fix: cd script 원상 복구

---------

Co-authored-by: dmdgpdi <[email protected]>

* [FEAT] 북마크 생성 페이지 디자인 및 태그 API 연결, (#210)

* chore: 북마크 페이지 폴더 내로 이동

* feat: 북마크 페이지 기초적인 레이아웃 설정

* refactor: BookmarkHeader 컴포넌트 분리

* feat: Gap 컴포넌트 구현

* feat: Gap 컴포넌트 default값 변경

* feat: 북마크 페이지 style 분리

* feat: ogImage 가져오기

* feat: ThumbnailImage 컴포넌트 구현

* feat: 이미지 로딩 시 애니메이션 적용

* chore: 주석 제거

* refactor: ThumbnailImage 컴포넌트 수정

* feat: input tag css 적용

* feat: TagPicker tab 및 focus 애니메이션 적용

* refactor: onKeyDown 함수 뺴기

* chore: 인풋 값 확인

* feat: 위, 아래 화살표에 따라 focus를 변경하는 hook 생성

* feat: 화살표따라 탭 포커스 이동 적용

* feat: props에 따라 고정된 속성 제공

* chore: SelectedTagListLayout 폴더 이동

* feat: 공통 스타일 적용

* feat: SelectedTagList의 스타일 추가

* chore: 간단한 색 변경

* chore: 필요없는 data-desc 제거

* feat: 팝오버 버튼 tab 이동 막기, 엔터 키 제거

* chore: style 변경

* feat: 태그픽커 및 다이얼로그에 style 적용

* feat: radix-ui popover 를 floating-ui로 대체

* feat: 팝오버 버튼 디자인 구현

* feat: 태그 삭제 모달 디자인 추가

* feat: tag 목록이 길 때 스타일 변경

* �chore: 스크롤바 제거 globalStyle에 적용

* feat: 선택한 라벨 높이에 따라 commandListHeight 변경

* chore: css 제거

* feat: CommandList 로딩 화면 추가

* chore: randomcolor 라이브러리 설치

* chore: pre-commit command 수정

* fix: pre-commit command 수정

* feat: numberColor 함수 구현 및 태그 생성시 적용

* feat: randomColor style 적용

* chore: type 생성

* fix: 태그 다이얼로그에서 공백 입력시 아무것도 뜨지 않게 변경

* chore: schema를 위한 절대 경로 추가

* feat: 실제 서버의 타입으로 변경

* fix: 태그 리스트가 없을 때, Command.Empty가 보이게 조건문 변경

* fix: �적용되지 않는 함수 제거

* feat: 태그 생성 api 연결

* refactor: 태그 선택 취소 시에 id값만 이용

* feat: delete tag api 연결

* feat: updateTag api 연결

* chore: schema 타입 최신화

* fix: tagName 수정 후 enter key 입력시 모달창 생기는 버그 수정

* feat: 사용하지 않는 CurrentTabInfo 컴포넌트 삭제

* refactor: useGetTabInfo 폴더 이동

* refactor: api 적용을 위해 default value 변경

* fear: create pick api 연결

* chore: react hot toast 라이브러리 설치

* chore: 사용하지 않는 SAMPLE_DATA 제거

* feat: toast 라이브러리 적용

* feat: ApiErrorBody type 선언

* chore: todo 제거

* feat: post api 통신 에러 핸들링 추가

* feat: deleteTag optimistic update 추가

* feat: update tag optimistic update 추가

* refactor: useCalculateCommandListHeight hook으로 분리

* refactor: onSelectCreatableTag 함수 분리

* chore: 쓰지 않는 return 제거

* feat: enter key로 태그 삭제 및 취소 가능

* feat: 간단한 에러 페이지 생성

* feat: 에러 핸들링 추가

* [FEAT] sanitizeHtml에서 DOMPurify로 교체 (#213)

* fix: 런타임 에러 해결(잘못된 변수 접근) (#215)

* [FEAT] 크롬 익스텐션 픽 수정 기능 구현 (#229)

* chore: schema 최신화
* feat: getLinkByUrl api 추가
* feat: useHasLink hook 구현
* chore: API 변경에 따른 type 최신화
* feat: CreatePickForm, UpdatePickForm 분리
* feat: chore: Pick API 변경에 따른 type 최신화
* feat: link api 삭제
* feat: getPickByUrl api 추가
* feat: useHasPick 변경
* chore: ThumbnailImage backgroundColor 변경
* feat: updateForm 구현
* feat: 로딩 상태 시의 Skeleton 구현
* feat: DeferredComponent 구현
* feat: 로딩화면 구현
* chore: 주석 제거

* [FEAT] Backend api 연결 및 ux 미세조정 (#227)

* design: flex wrap 설정

* design: flex wrap 이중 줄바꿈 문제 수정

* feat: 우클릭 시 context menu 표시

* chore: 주석 제거

* chore: alt 이름 변경

* feat: treeRef 추가

* feat: mockData create 가능

* feat: api 연동: create&move

* feat: api 연동: dnd move 동작 확인

* refactor: 핸들러 함수 hook으로 분리

* feat: edit ux 추가 및 arborist node outline 제거

* feat: folder rename 연결 완료

* feat: folder delete(move to recyclebin) 연결 완료

* feat: create 로직 수정

* feat: 초기 로드 시 recycleBin 생성(향후 수정 예정)

* feat: Tree 컴포넌트 추가 전 커밋

* chore: popover Demo 추가

* design: 버튼 및 팝오버 디자인 수정

* feat: 휴지통 붙임:수정예정

* feat: 휴지통 숨김 설정

* design: 전체적인 디자인 미세 조정

* feat: 로그아웃 버튼 추가 및 디렉토리 조정

* feat: client 로그인 검증로직 추가

* design: 로그인 페이지 디자인 추가

* refactor: 폴더 create 로직 수정

* refactor: 폴더 create 로직 수정2

* refactor: 필요없어진 popover제거

* fix: 중첩 폴더 구조에서 폴더 생성 불가한 문제 해결

* design: 에러 토스트 메시지 추가

* refactor: 삭제 로직 수정(id 부여 방식)

* feat: 휴지통에서 폴더 완전삭제 가능

* [FEAT] 익스텐션 테마 적용 (#241)

* feat: theme을 techpick-shared 모노레포로 분리
* feat: theme 적용
* design: 익스텐션 테마 적용
* fix: peerDependencies제거
* design: techpick의 theme을 techpick-shared에 의존하게 변경
* feat: techpick reset.css 수정
* feat: git pull 이후 필요없는 파일 삭제
* feat: theme 동기화

* [FEAT] 카드 컴포넌트 디자인 구현 (#246)

* fix: ky middleware credentials속성 올바르게 적용

* feat: teckpick-service와 동일하게 id 변경

* feat: techpick-shared의 export 추가

* feat: images모든 url을 허용 및 next.config.mjs제거

* chore: 의존성 설치

* chore: @/schema 절대 경로 추가

* chore: portalContainer id 변경

* feat: pickCard 컴포넌트 디자인 및 레이아웃 구현

* feat: TagPicker 컴포넌트 복사

* [FEAT] 버그 수정, 휴지통 복원, context menu, pr 요청사항 적용 (#247)

* fix: 한글 입력시 폴더 두번 생성되는 문제 해결

* fix: 생성중인 폴더가 있을 때, 폴더 추가생성 방지로직 추가

* refactor: 폴더 위치 변경 및 Input 테마 적용

* fix: 노드 클릭 시 2개의 트리 중 한 노드만 focus되도록 수정

* refactor: 프로젝트 디렉토리 및 파일 구조 수정

* refactor: 프로젝트 디렉토리 및 파일 구조 수정2

* feat: recycleBin에서 contextmenu 사용 가능

* feat: recycleBin에서 restore 가능

* refactor: 이전 코드리뷰 comment 반영

* fix: 폴더 생성시 input이 사라지는 문제 수정

* fix: 폴더 삭제 시 우측 화면 업데이트 안되는 문제 수정

* fix: DirectorySection ui 틀어짐 수정

* feat: 휴지통 내부 dnd 가능

* fix: 좌측 디렉토리 절반만 표시되는 문제 수정

* fix: 간격 수정

* fix: 휴지통 dnd 비활성화

* fix: 생성 또는 이름변경 실패 이후 + 버튼클릭 안되는 버그 수정

* feat: 우측 folder contextMenu 이용가능
*버그 수정 필요(recycleBin menu 출력되는 문제)*

* fix: 우측 contextMenu 버그 수정

* fix: 우측 context 수정중

* chore:충돌 방지용 git pull

* [CI] 도커 이미지 build 관련 버그 수정 (#252)

* build: Dockerfile yarn berry 적용 및 필요한 파일 추가
* chore: 주석 변경

* fix: tag 생성 연속 입력 문제 해결 (#257)

* [FIX] 로그인된 상태일 때 메인 페이지로 리다이렉트 (#260)

* [FEAT] unclassified 표시 가능 (#261)

* feat: unclassifiedPicks api 호출 코드 추가

* feat: unclassified 표시됨

* [FEAT] PickCard API 연결 (#266)

* chore: 주석 추가

* feat: PickCard 이미지 스타일 수정

* chore: 쓰지 않는 apis 폴더 삭제

* refactor: 중복된 api middleware 제거

* fix: ky middleware content-type 추가

* feat: getPick api 연결

* design: 디자인 변경

* chore: import 순서 변경

* feat: updatePick api 연결

* feat: selected Tag 태그 삭제시 상태 변경

* chore: 주석제거

---------

Co-authored-by: Jason <[email protected]>

* feat: skelton 적용 (#268)

* feat: skelton 적용

* feat: link 추가 및 tagPicker 동작 수정

* [FIX] 태그 생성 후 창 유지후에 수정 했을 때, 생성한게 추가가 안되는 로직 (#270)

* [FEAT] pick dnd (#272)

* feat: nodeApi로 변환 로직 추가

* fix: 임시 디바운싱 적용

* fix: api 교체

* fix: 간헐적으로 unclassified 안보이는 문제 수정

* feat: pick 휴지통, 복원, 삭제 api 연결완료

* fix: 이름 길어지면 ...으로 표시

* fix: 가상 미분류 폴더 렌더링 방지 처리

* fix: 버그유발 기능 비활성화

* fix: fix

* fix: fix2

* [REFACTOR] 폴더구조 변경 (#308)

* refactor: shared 폴더 제거

* refactor: entities/pick 폴더 제거

* refactor: entities/tag 제거

* refactor: features/tag 제거

* refactor: features/userManagement 제거

* refactor: features/themeManagement 제거

* refactor: features/nodeManagement 제거

* refactor: widgets 제거

* [REFACTOR] import 순서 변경 (#311)

* chore: eslint import 순서 정리
* reafactor: import 순서 변경

* feat: 디자인 토큰 추가

* feat: 디자인 토큰 적용

* feat: �commontThemeContract 삭제

* fix: ThemeProvider 변경사항 적용

* fix: 위치 조정

* [FEAT] 디자인 토큰 추가

* [FEAT] 같은 계층일 때, 폴더 multi select 구현 (#332)

* chore: dnd-kit 설치 및 tree 페이지 생성

* feat: jest 설정추가

* fix: jest monorepo별 적용

* chore: root jest config 삭제

* feat: 같은 부모 밑에서 1개씩 폴더 이동

* design: tree page margin 변경

* test: 복수의 폴더 이동 테스트코트 작성

* feat: 현재 드래그 여부 상태 zustand에 추가

* feat: 폴더 다중 선택 기능 추가

* feat: DragOverlay추가

* design: primary color로 변경

* fix: test문 it.only 제거

* refactor: dndTreeStore에 hasIndex 적용

* [FEAT] 검색창 및 리스트 로직 설계 (#333)

* feat: 검색 위젯 로직 구현

* feat: 유틸리티 클래스 구현 (파싱, 필터링)

* doc: 유틸리티 참고 이미지 및 설명

* feat: zustand, react query 추가

* feat: 뷰포트 리액트 컴포넌트

* refactor: esToolkit import

* refactor: useViewScope 변경

* refactor: useQuery 함수명 파일명 변경

* refactor: useQuery 함수명 파일명 변경

* refactor: Util 함수 리팩토링

* [FEAT] 픽 리스트 - 사용자 설정 필터 & 뷰 템플릿 (#348)

* feat: 검색 위젯 로직 구현

* feat: 유틸리티 클래스 구현 (파싱, 필터링)

* doc: 유틸리티 참고 이미지 및 설명

* feat: zustand, react query 추가

* feat: 뷰포트 리액트 컴포넌트

* refactor: esToolkit import

* refactor: useViewScope 변경

* refactor: useQuery 함수명 파일명 변경

* refactor: useQuery 함수명 파일명 변경

* refactor: Util 함수 리팩토링

* chore: 파일 제거 및 위치 이동

* chore: use-Immer 패키지 추가

* feat: 유틸리티 (Stream, Tokenizer) 리팩토링 및 개선

* chore: 공통 타입 추가 및 일부 변경

* feat: 태그 아이템 UI 컴포넌트 (익스텐션에서 가져옴)

* feat: 최상단 컴포넌트 (뷰어) 및 상태 구현

* test: 쿼리 더미 데이터 추가

* feat: 옵션 리스트 위젯 및 상태 구현

* feat: 검색창 위젯 구현

* feat: 필터 옵션 기능 구현

* feat: 뷰 템플릿 (리스트 vs 그리드) 옵션 구현

* chore: 디렉토리 이름 변경, 기존 폴더 제거

* chore: dummy data 업데이트

* ♻️ refactor: 코드 리뷰 기반으로 리팩토링 진행

* [REFACTOR] Drag & Drop 함수 및 컴포넌트 분리  (#351)

* test: moveFolder test code 삭제

* feat: mockdata 변경에 따른 로직 변경

* refactor: 중앙 스토어에서 로직 분리

* design: treePageWrapper css 변경

* feat: shift + click시에 active가 부모 폴더가 다르면 초기화

* feat: 다른 폴더간 이동 구현

* chore: 테스트코드 예제 삭제

* refactor: reorderFolderInSameParent 함수명 수정

* refactor: SelectedFolderListType으로 대체

* refactor: handleClick 함수 분리

* chore: tree 컴포넌트를 components 폴더로 이동

* [FEAT] 공통 테마에 jsdoc 추가 (#354)

* [FIX] drag & drop 후 정렬 변경 (#360)

* fix: drag & drop 후 정렬 변경

* refactor: isSameParentFolder parameter 변경(동일한 값)

* [FEAT] 폴더 생성 UI 및 상태 관리 로직 변경 (#365)

* design: 작업 전 디자인 변경

* design: CreateFolderInput 디자인 추가

* feat: 폴더 생성 UI 구현

* design: FolderTree 전체적인 레이아웃 변경

* design: 폴더 트리 디자인 개선

* feat: CreateFolderInput 생성시 focus 이동

* design: createFolderInputLayout 디자인 변경

* [FEAT] 폴더 이름 변경 UI 및 로직 구현 (#367)

* feat: CreateFolderInput, FolderInput 컴포넌트로 추출

* design: 공통 테마 사이즈 추가

* chore: PORTAL_CONTAINER_ID 상수로 변경

* feat: 폴더 이름 변경 UI 및 로직 연결

* feat: 우클릭시에 포커스되는 폴더 변경

* [FEAT]: 삭제 UI 및 로직 추가 (#369)

* [CI/CD] nextjs docker image 사이즈 감소 (#380)

* [FEAT] Folder API 연결 (#399)

* chore: api 변경에 따른 스키마 업데이트

* feat: 폴더 관련 api 타입 지정

* refactor: api 변경에 따른 타입 변환

* feat: top level error 추가

* feat: folder crud api 추가

* chore: api 변경에 따른 타입 변경

* feat: 폴더 드래그 앤 드랍 api 연결

* feat: 폴더 이름 변경 api 연결

* feat: 휴지통 이동 api 연결

* refactor: -1 매직넘버 상수로 변경

* chore: mockdata 삭제

* chore: re-resizable 의존성 설치

* faet: FolderTree 크기 조정 가능하게 변경

* chore: api 변경에 따른 타입 최신화

* feat: createFolder api 연결

* refactor: getFolders, getBasicFolders 로 함수명 변경

* reafactor: getRootFolderList로 변경

* [FEAT] 폴더 클릭에 따른 라우팅 변경 (#405)

* feat: 라우팅 설정 변경

* chore: root 폴더에서 tsc 동작시 build된 파일 생성 차단

* chore: legacy 삭제

* feat: 폴더 클릭시마다 라우팅 이동

* feat: useTreeStore subscribeWithSelector 적용

* refactor: FolderInfoItem 컴포넌트 분리

* feat: url을 이용해 folder 선택하게 변경

* feat: route 경로 추가

* feat: middleware redirect url 변경

* feat: 휴지통 및 미분류 폴더 추가

* design: 최초 로딩시에 사이드바 사이즈 지정

* design: 사이드바 디자인 조정

* chore: 쓰지 않는 props 제거

* refactor: useEffect 함수명 추가

* [FEAT] 검색 위젯 기능 구현 및 미사용 필터 제거 (#410)

* chore: 중간 작업 공유

* chore: 타입 변경 및 기존 SearchWidget.tsx 리팩토링

* chore: 타입 변경 및 기존 SearchWidget.tsx 리팩토링

* feat: 기존 로직에서 미사용하는 필터 제거

* feat: dndTreeStore 병합 작업

* [FEAT] 검색창 자동 완성 (#418)

* refactor: PrefixTokenizer 구현 수정

* refactor: PrefixTokenizer 구현 수정

* feat: 검색 위젯 토큰화 구현

* chore: 화면 테스트를 위한 뷰어 패널 코드 수정 (반영 안될 수 있는 커밋)

* feat: 토큰 검색창 CSS 설정

* chore: 일부 주석 추가 및 코드 위치 변경

* chore: yarn.lock 파일 커밋

* [FEAT] 같은 폴더 내에서 Pick Drag&Drop 구현 (#420)

* chore: 백엔드 api 타입 최신화

* chore: util 스펠링 정확하게 변경

* feat: pickType 추가

* feat: getPicksByFolderId 추가

* refactor: viewTemplate 코드 변경

* refactor: 바로 호출이 아닌, useEffect 내에서 비동기함수 호출

* chore: git pull을 위한 커밋

* refactor: pickCardListViewer로 PickCard 컴포넌트 이동

* design: card link style 변경

* feat: 더블 클릭시 링크 이동

* feat: dnd가 가능한 list와 그렇지 않은 list분리

* refactor: dnd여부에 따라 PickListViewer분리

* refactor: DnDCurrentType을 dnd.type으로 이동

* refactor: 공통 utils함수로 추출

* feat: 픽에서 픽으로 이동(api 미연결)

* feat: pick multi-select 구현

* feat: multi-select drag&drop 구현(api 미연결)

* feat: 같은 폴더 내 픽 drag&drop api 연결

* [FIX] 깃허브 액션 API 테스트

* [FIX] 검색창 버그 수정 및 URL 업데이트 (#424)

* 🚨 fix: useSearchParams 사용처에 <Suspence> 추가

* [DESIGN] 폴더 영역 디자인 개선 (#430)

* [FEAT] 픽을 폴더로 이동하는 기능 추가 (#432)

* refactor: draggable type에 따라 검증 함수 분리

* chore: store barrel export 추가

* feat: pick to folder를 위한 dnd context 생성

* fix: dnd context 변경에 따른 로직 변경

* refactor: 컴포넌트명 변경

* refactor: useGetDndContextSensor로 로직 분리

* fix: 로직에 따라 pickId 문자열 대신 정수로 수정

* feat: PickDraggableObjectType에 부모 폴더 id 추가

* feat: 드래깅하는 카드 정보 store에 추가

* feat: pick to pick 시 overlay 카드 생성

* feat: folder drag시 folder overlay 보이도록 변경

* design: 카드 드래그 시 크기 줄이기

* feat: pick to folder drag over시 폴더 색상 변경

* refactor: movePicksToEqualFolder로 함수명 변경

* feat: 휴지통 및 미분류로 픽 이동 감지

* feat: 다른 폴더로 픽 이동 로직 추가

* feat: 폴더 디테일 페이지 뷰 연결

* feat: �휴지통 페이지 카드 렌더링

* [FIX] DragOver 수정 및 휴지통 이동 로직 변경 (#441)

* fix: DragOver 개선

* refactor: 백엔드 API 변경에 따른 휴지통 이동 로직 변경

* [FIX] 현재 포커스된 폴더 삭제 시에 미분류 페이지로 리다이렉트 (#446)

* fix: 현재 포커스된 폴더 삭제 시에 미분류 페이지로 리다이렉트

* design: 드래그시 outline 제거

* [FEAT] 로그인 리다이렉트 URL 추가 (#450)

* chore: sample 대신 관용적으로 사용되는 example로 변경

* feat: 로그인 redirect url 추가

* ci/cd: github Actions secrets 추가 및 적용

* [REFACTOR] 익스텐션 폴더 구조 변경 및 API 최신화 (#458)

* feat: 익스텐션 로그인 페이지 디자인 변경

* chore: 백엔드 타입 최신화

* chore: 백엔드 타입 최신화

* refactor: type은 types폴더로 이동

* chore: 백엔드 타입 최신화

* refactor: api 호출 함수 변경

* refactor: api url 상수로 관리

* feat: barrel export에서 값과 함수 제거

* refactor: 도메인 의존성 없는 컴포넌트 lib폴더로 이동

* refactor: toast 관련 함수 lib 폴더로 이동

* refactor: store는 store폴더로 이동

* chore: 사용하지 않는 타입 제거

* refactor: util함수 util 폴더로 이동

* refactor: 페이지 폴더 제거

* refactor: 컴포넌트는 컴포넌트 폴더로 이동

* fix: returnErrorFromHTTPError에 await 문구 추가

* chore: 백엔드 api 변경에 따른 타입 변경

* [FIX] 로그인 이후 뒤로가기 시 로그인 화면으로 이동하지 못하게 수정 (#453)

* [fix] 픽 검색 API 페이지네이션 적용 (#460)

* chore: 무한스크롤 라이브러리 추가

* chore: 무한스크롤 라이브러리 추가

* feat: 무한 스크롤 구현

* chore: pick 조회 스토어 함수 수정

* chore: 불필요한 코드 수정

* [FEAT] radix-color 추가 (#462)

* feat: radix-color 추가

* chore: radix-color 추가 변경사항 적용

* chore: route 변수 수정

* feat:  breadcrumb 적용

* chore: 기타 스타일링

* chore: 입력창 스타일링

* feat: 무한 스크롤 다듬기 작업

* feat: 검색창 변수 수정

* [DESIGN] 검색 바 디자인 개선 (#463)

* chore: route 변수 수정

* feat:  breadcrumb 적용

* chore: 기타 스타일링

* chore: 입력창 스타일링

* feat: 무한 스크롤 다듬기 작업

* feat: 검색창 변수 수정

* fix: useSearchParams는 suspense로 반드시 감싸야 한다.

* refactor: ApiFolderErrorCode 오타 수정 (#468)

* [FEAT] 메모 제거, 폴더 선택 추가(API 미연결), 우클릭시 사이트 이동 (#473)

* feat: 익스텐션 아이콘 추가

* feat: 로그인 로고 변경

* feat: 북마크 페이지 아이콘 변경 및 링크로 이동

* chore: 오타 수정

* feat: theme 추가

* feat: 메모 제거

* feat: 로그인 페이지 삭제

* chore: radix select 설치

* feat: 폴더 선택 select 간단한 컴포넌트 구현

* feat: createPick시에 폴더 선택 기능 구현

* feat: update시에도 폴더 선택 기능 추가(api 미연결)

* feat: 크롬 익스텐션 우클릭시에 서비스 링크로 이동

* feat: 로딩 화면 추가

* [REFACTOR] 픽 리팩토링, 검색 테스트 구현 (#474)

* refactor: FolderType label 수정

* refactor: 파라미터 idList -> pickIdList 명시적으로 변경

* refactor: folder 내부에 있는 pick_order 리스트에 pickId가 중복 생성되는 문제 해결

* refactor: root folder 검색 못하도록 예외 처리

* refactor: pick controller 메서드명 수정

* refactor: DB fleid 함수를 이용하여 정렬된 픽 리스트 조회할 수 있는 메서드 구현

* refactor: 픽 검색 시 폴더 리스트가 null인 경우 검증하지 않도록 변경, tag 검증 추가

* refactor: 테스트 코드 작성

* refactor: 테스트 코드 ParameterizedTest로 리팩토링 (#476)

* [DESIGN] 익스텐션 디자인 변경 (#479)

* chore: title 설정

* chore: 아이콘 변경 및 안쓰는 아이콘 제거

* feat: radix-ui 의존성 설치

* design: 테마 추가

* design: globalStyle a tag 제거

* design: TagPicker 디자인 변경

* refactor: numberToRandomColor 변경

* design: folder select 디자인 변경

* design: TagPicker placeholder 추가

* design: ThumbnailImage css 변경

* design: CreatePickForm 변경

* feat: BookmarkHeader 제거

* feat: useCalculateCommandListHeight 삭제

* design: 업데이트 및 로딩 화면 디자인 변경 적용

* design: 로딩 화면 변경 적용

* refactor: loginGuard 로직 변경

* feat: FolderSelect 화살표 이동 추가

* chore: 사용하지 않는 헤더 삭제

* [FIX] 픽 수정 리팩토링 및 검증로직 개선 (#477)

* refactor: 불필요한 초기값 제거

* fix: 엔티티를 list로 조회시 존재하지 않는 엔티티를 조회하려고 하면 NOT_FOUND 예외 발생

* fix: pick update시 부모폴더 id도 변경 가능하도록 수정, 누락된 검증 로직 추가

* fix: 기능 변경에 의한 테스트 코드 수정

* fix: idList로 폴더 조회시 존재하지 않는 폴더id로 조회하면 예외 발생

* refactor: 파라미터명 명확하게 수정 idList -> folderIdList

* [FEAT] error 메세지 전송 및 폰트 적용방식 변경 (#482)

* feat: 에러 메세지 명세

* feat: error 메세지 명세

* feat: 폰트 적용 방식 변경

* chore: react-router-dom 버전 변경

v7 점진적으로 도입하는 버전이라 warning log가 떠서 변경

* feat: 폴더 응답에 생성 수정 일자 추가 (#485)

* [�FEAT] 익스텐션 배포 전, 수정 (#489)

* fix: 디자인 변경

* chore: 익스텐션에서 사용하지 않는 의존성 제거

* fix: 휴지통 보이지 않게 하기

* feat: 서버 에러시 toast 알림

* feat: 정상 동작 시 창닫기

* feat: error message 추가

* feat: 폴더 최신순 정렬

* design: 색 추가 및 적용

* design: 인풋 디자인 변경

* feat: font 재적용

* fix: http로 시작하지않으면 저장 안되게 수정

* fix: update시에 폴더 추가

* design: footer 디자인 추가

* docs: manifest.json description 추가

* hotfix: 익스텐션 design 변경

* fix: zip파일 제거

* [FEAT] 에러 요청에 대한 로깅 구현 (#481)

* feat: error request logging 구현

* feat: 기존 예외처리 로직에 요청 로깅 추가

* chore: 주석 추가

* fix: 로깅 방식 변경 - application.log에 sql 로깅 제외

* fix: 누락된 로깅 로직 추가

* [fix] refetch 검색 안되는 문제 해결 (#496)

* [FEAT] 픽 렌더링 카드에서 리스트 아이템으로 교체 (#501)

* feat: PickRenderModeState 구현

* feat: PickRecordListLayout 컴포넌트 구현

* feat: PickCard대신 PickRecord 렌더링으로 변경

* feat: usePickRenderModeStore 의존성 제거

* �[FEAT] 폴더 export 기능 구현 (#504)

* feat: 폴더 export 기능 구현

* feat: url 수정

* [DESIGN] 디자인 변경 (#500)

* [FEAT] 파비콘 추가 및 title 변경 (#503)

* [FEAT] 픽 제목 최대 길이 검증 및 Validation 검증 리팩토링 (#499)

* refactor: 픽 제목 최대 길이 제약조건 추가

* feat: 픽 제목 최대 길이 제약조건 예외, 예외 코드 추가

* refactor: bean validation 예외 상세하게 반환하도록 수정

* refactor: tag 이동 시 리스트 길이보다 큰 인덱스로 이동 시 IndexOutOfBoundsException 발생하는 문제 해결

* fix: title이 null일 때 터지는 오류 해결

* fix: && 문법 오류 수정

* [BUG] 픽 태그 삭제 버그, 픽 수정 버그 수정 (#509)

* refactor: 픽에 사용되었던 유저 태그 삭제 시 500에러 해결

* refactor: pick unique index title 제거

* refactor: 픽을 휴지통으로 이동 시 폴더 내에 있는 픽 리스트 제거 및 가독성을 위해 로직 공통 처리

* refactor: 불필요한 메서드 제거 및 메서드명 변경

* refactor: 운영 환경에서 스웨거 접근 못하도록 하는 설정 추가

* refactor: 폴더 삭제 시 픽들이 휴지통으로 이동될 때 부모 폴더의 픽 리스트 수정이 필요하지 않음.

* refactor: 미분류, 휴지통 폴더에 폴더 생성하지 못하도록 변경, 에러 메세지 변경

* refactor: 메서드명 수정

* refactor: 픽 생성 시 타이틀이 없으면 터지는 예외 해결

* refactor: 데드락 문제 해결을 위해 트랜잭션 범위 최소화

* [FEAT] PickRecord 컴포넌트 구현 및 pick 수정(태그, 타이틀)기능 구현 (#513)

* feat: PickRecord에서 PickListItem 분리

* refactor: TagPicker 크롬 익스텐션 코드 가져오기

* design: list item 줄어들 때, textoverflow 적용

* fix: li 내부에 li가 들어갈 수 없음

* refactor: pick 수정 api 변경

* feat: updatePickInfo 로직 구현

* feat: updatePickInfoStore 구현

* feat: 픽 제목 수정 기능 구현

* chore: 나중에 할 todo 등록

@todo: 현재 SearchWidget이 사용되는 페이지에 전체적으로 적용되고 있음.

* chore: @radix-ui/react-separator 설치

* refactor: PickRecord PickSearchRecord로 변경

* feat: PickRecord로 대체

* feat: tagStore 안쓰는 함수 삭제

* refactor: tag 관련 api 함수 호출 경로 수정

* design: 안보이는 색 변경

* feat: TagPicker CRUD 적용

* design: 디자인 변경

* [BUG] 픽 태그 리스트 수정 시 데드락 문제 수정 (#514)

* refactor: 픽 생성 시 타이틀이 없으면 터지는 예외 해결

* refactor: 데드락 문제 해결을 위해 트랜잭션 범위 최소화

* hotfix: Pick 엔티티의 Link Lazy -> Eager

* [FEAT] 픽 휴지통 이동 및 휴지통에서 픽 삭제 구현, 픽 포커스 변경 (#515)

* feat: PickRecord에서 PickListItem 분리

* refactor: TagPicker 크롬 익스텐션 코드 가져오기

* design: list item 줄어들 때, textoverflow 적용

* fix: li 내부에 li가 들어갈 수 없음

* refactor: pick 수정 api 변경

* feat: updatePickInfo 로직 구현

* feat: updatePickInfoStore 구현

* feat: 픽 제목 수정 기능 구현

* chore: 나중에 할 todo 등록

@todo: 현재 SearchWidget이 사용되는 페이지에 전체적으로 적용되고 있음.

* chore: @radix-ui/react-separator 설치

* refactor: PickRecord PickSearchRecord로 변경

* feat: PickRecord로 대체

* feat: tagStore 안쓰는 함수 삭제

* refactor: tag 관련 api 함수 호출 경로 수정

* design: 안보이는 색 변경

* feat: TagPicker CRUD 적용

* design: 디자인 변경

* feat: deletePicks api 함수 구현

* design: TagPicker 화면 짤림 수정

* feat: 우클릭 휴지통 이동 및 삭제 구현

* feat: PickRecord로 렌더링 변경

* feat: 페이지 이동시, pick item 외부 클릭시 선택된 요소 초기화

* refactor: PickTag에 낙관적 락 설정

* refactor: Spring retry 추가

* [REFACTOR] PickTag 테이블에 낙관적 락 설정 (#519)

* refactor: PickTag에 낙관적 락 설정

* refactor: Spring retry 추가

* refactor: 픽태그 삭제 부분 수정

* design: tag 생성이나 삭제 시에 TagAutocompleteDialog 위치 조정 (#520)

* [FIX] 두번 useEffect 호출 되는 거 방지 (#518)

* refactor: pick 수정하는 부분에 비관적 락 추가 (#521)

* chore: 로그인 페이지 작업 (#508)

* [FEAT] 크롬 북마크 Import 기능 구현 (#522)

* fix: access token, JSESSIONID 로깅 안하도록 수정, multipart file 캐싱 안하도록 수정

* fix: 입력값이 공백 또는 null일 경우 update하지 않음, 기본값을 빈스트링("")으로 설정

* feat: ogTag 업데이트 구현 및 필요한 의존성 추가

* feat: chrome 북마크 import를 위한 메소드 추가

* feat: chrome 북마크 import export 구현

* refactor: 주석 수정

* refactor: swagger 설정 수정

* refactor: link의 title과 description 필드 text타입으로 수정

* chore: 주석 typo 수정

* refactor: typo 수정

* [DESIGN] 디자인 작업 (#524)

* chore: 로그인 페이지 작업

* feat: 디자인 작업 반영

* fix: 미사용 import 제거

* fix: 서치 버그 해결

* feat: og 태그 데이터 가져오는 api 구현 (#525)

* refactor: 운영 서버에서 스웨거 접근 못하도록 변경 (#527)

* [DESIGN] 배포전 PR (#529)

* design: tag 생성이나 삭제 시에 TagAutocompleteDialog 위치 조정

* feat: Gap 컴포넌트 변경

* design: PickRecord 이미지 영역 사이즈 변경

* design: 헤더 Image table 명명

* design: flex-shrink 적용

* chore: 코드 스타일 변경

* fix: TagPicker 컴포넌트 floating element style 변경

* design: TagRecord Input 디자인 변경

* design: font 모든 부분에 동일하게 적용

* refactor: moveFolderToRecycleBin refactoring

* design: 디자인 변경

* design:2차변경

* design: 버튼 color 추가

* feat: PickSearchRecord 추가

* feat: 링크 추가

* fix: url 수정 및 구현안된 기능 숨기기

* fix: unused import 제거

* fix: 폴더 삭제 전체 삭제 변경

* [FIX] tag CRUD 버그 수정 (#538)

* chore: git pull origin backend

---------

Co-authored-by: Jason <[email protected]>
Co-authored-by: Jason <[email protected]>
Co-authored-by: Minky <[email protected]>
Co-authored-by: Pak Su Hyung <[email protected]>
Co-authored-by: Sangwon Yang <[email protected]>
sangwonsheep added a commit that referenced this pull request Nov 22, 2024
* chore: 세팅중인 상태

* fix: vanilla-extract 설정 변경

* fix: storybook 실행 안되는 오류 해결

@chromatic-com/storybook이 문제였음.

* chore: storybook tset 확인

* chore: eslint 예외 추가

* chore: eslint, prettier 설정

* chore: DS_Store ignore

* chore: husky 테스트

* chore: husky 적용 중

* chore: husky 적용

* chore: 테스트용 컴포넌트 삭제

* chore: jest 적용

* chore: ts를 devDependencies로 이동

* chore: sample test 파일 삭제

* chore: add files to gitignore

* chore: vscode setting 추가

* chore: playwright example test code 삭제

* chore: e2e test github action 추가

* fix: action 오타 수정

* fix: 깃허브 액션 오타 수정

* chore: add corepack

* chore: 실행 순서 변경

* chore: browser 설치

* chore: playwright-report path 변경

* chore: �액션 if문 제거

* fix: 액션 탭 간격 변경

* chore: github action 테스트를 위한 싶패 테스트

* chore: 항상 report를 뽑을 수 있게 변경

* chore: github action 테스트를 위한 성공 테스트

* chore: vanilla-extract storybook 적용

* chore: 프로젝트 세팅을 위한 필요없는 파일 없애기

* chore: playwright yarn script 추가

* chore: react-hot-toast 적용

* feat: 깃허브 액션 테스트용 PR (#4)

* chore: 세팅중인 상태

* fix: vanilla-extract 설정 변경

* fix: storybook 실행 안되는 오류 해결

@chromatic-com/storybook이 문제였음.

* chore: storybook tset 확인

* chore: eslint 예외 추가

* chore: eslint, prettier 설정

* chore: DS_Store ignore

* chore: husky 테스트

* chore: husky 적용 중

* chore: husky 적용

* chore: 테스트용 컴포넌트 삭제

* chore: jest 적용

* chore: ts를 devDependencies로 이동

* chore: sample test 파일 삭제

* chore: add files to gitignore

* chore: vscode setting 추가

* chore: playwright example test code 삭제

* chore: github action 테스트를 위한 싶패 테스트

* chore: github action 테스트를 위한 성공 테스트

* chore: vanilla-extract storybook 적용

* chore: 프로젝트 세팅을 위한 필요없는 파일 없애기

* chore: playwright yarn script 추가

* chore: react-hot-toast 적용

---------

Co-authored-by: Jason <[email protected]>

* chore: 프로젝트 구조 세팅 (#11)

* chore: 필요없는 파일 제거

* fix: 파일명 오타 수정

* feat: 기본 디렉토리 추가

* chore: yarn set version berry (#12)

* chore: 깃허브 액션 변경

* feat: 모노레포 분리 (#28)

* chore: 서비스 디렉토리 이동

* chore: eslint 적용중

* fix: eslint 설정

* chore: extension 프로젝트 세팅 중 husky 충돌

* fix: pre-commit 동작 수정

* chore: backup

* chore: backup

* chore: backup2

* chore: setting

* chore: ignore 설정

* chore: husky 설치

* chore: monorepo로 변경된 뒤 액션 변경

* chore: husky 설치

---------

Co-authored-by: Jason <[email protected]>

* chore: 폴더명 변경에 따른 액션 변경

* chore: 폴더명 변경 (#37)

* Front/feat/#35 (#40)

* chore: 폴더명 변경
* build: 크롬 익스텐션 빌드 설정
* feat: css 파일 제거
* build: 파일 수정시마다 build되는 스크립트 추가
* chore: 의존성 설치
@tanstack/react-query, @vanilla-extract/css, react-router-dom, zustand
* feat: 디렉토리 생성
* feat: router 추가
* feat: react-query provider 설정
* feat: vanilla-extract 세팅

* feat: 현재 탭에서 데이터 가져오기 (#50)

* feat: 북마크 페이지 생성
* chore: 절대경로 수정
* build: build시에는 빌드를 한번하게 변경
* feat: 새로운 링크로 이동할 시 og image가져오는 동작 추
* feat: tab 열 때 마다 og image 가져오기
* refactor: 쓰지 않는 코드 제거
* chore: 주석 제거
* feat: 파비콘 가져오기
* feat: 서비스워커를 이용해서 동작하는 것으로 변경
* refactor: useGetTabInfo hook으로 분리
* refactor: background.ts 제거
* feat: og:description 가져오기
* chore: 쓰지 않는 상수 제거

* feat: 페이지 기본 요소 렌더링 (#52)

* chore: init

* design: theme 설정

* design: dirView 구조 정의

* chore: downgrade version - yarn 4.3.1 / typescript 5.5.4

* feat: react-arborist 적용 및 테스트 완료

* feat: 디렉토리 구성 및 아이콘 추가

* chore: use-resize-observer 라이브러리 추가

* design: tree 높이 동적 조절되도록 수정

* feat: 우측 view에 folder 및 link 표시

* chore: 컴포넌트 분리

* chore: 불필요한 주석 제거

* chore: 4.3.1 cjs 추가

* refactor: pr 수정요청사항 적용

* chore: import 수정

* chore: index.ts 추가

* chore: index.ts 추가

* chore: conflict 해결

* refactor: barrel exports pattern 적용

* refactor: icon export 처리

* refactor: directoryNode export 처리

* refactor: icon 이동

* refactor: icon을 public으로 이동

* chore: 불필요한 index 제거

* chore: 이름 변경

* chore: 이름 변경

* chore: 이름 변경

* chore: 이름 변경

* chore: 이름 변경

* [FEAT] 익스텐션 태그 인풋 핵심 로직 구현 (#126)

* feat: 북마크 페이지 생성
* chore: 절대경로 수정
* build: build시에는 빌드를 한번하게 변경
* feat: 새로운 링크로 이동할 시 og image가져오는 동작 추가
* feat: tab 열 때 마다 og image 가져오기
* refactor: 쓰지 않는 코드 제거
* chore: 주석 제거
* feat: 파비콘 가져오기
* feat: 서비스워커를 이용해서 동작하는 것으로 변경
* refactor: useGetTabInfo hook으로 분리
* refactor: background.ts 제거
* feat: og:description 가져오기
* chore: 쓰지 않는 상수 제거
* feat: cmdk 적용
* feat: 현재 선택한 태그가 보이도록 변경
* feat: 비동기 호출 흉내내서 라벨 데이터 가져오기
* chore: immer 설치
* feat: tagStore CRUD 구현
* chore: lucide icon 설치
* feat: deselect button ui 추가
* feat: deselect 기능 추가
* feat: SelectedTag ui 개선
* chore: todo 주석 제거
* feat: 동일한 태그가 없을 때 생성 아이템 추가
* feat: 태그 생성 로직 구현
* chore: 폴더 변경
* feat: TagInfoPopover 간단한 UI 구현
* feat: tag update 기능 추가
* chore: tagStore 폴더 변경
* chore: @radix-ui/react-dialog 설치
* chore: showDeleteTagDialogButton 파일 변경
* feat: DeleteTagDialog 상태 관리 구현
* chore: 다음 작업에 할 Todo 내용 추가
* feat: DeleteTag 관련 컴포넌트 구현
* chore: Command.Dialog css 변경
* refactor: useEffect내 함수 기명함수로 변경
* refactor: 분리되어있던 컴포넌트 SelectedTagItem폴더로 이동
* chore: components 에서 ui로 폴더명 변경
* refactor: TagInput컴포넌트에서 TagSelectionDialog컴포넌트 분리
* refactor: TagInput에서 TagPicker로 컴포넌트명 변경
* refactor: TagAutocompleteDialog로 컴포넌트명 변경
* refactor: TagPicker css명 변경
* refactor: css classname 변경
* refactor: 분리되어있던 css 합치기
* refactor: onSelectTag함수로 반복되는 함수 호출 합침
* refactor: 문자열 상수로 변경
* chore: 주석 추가
* feat: enter키 입력시 popover 켜지게 변경
* refactor: PopoverTriggerButton으로 분리
* chore: 사용하지 않는 index.ts 제거
* chore: 폴더명 components에서 ui로 변경
* chore: 폴더명 변경
* chore: tsbuildinfo update
* chore: 폴더 위치 이동
* chore: 폴더 이동
* chore: git pull frontend
* chore: todo 주석 추가

* [FEAT] Drag&Drop 구현: Directory (#117)

* test: mockdata 동적 생성

* chore: react-dnd, react-dnd-html5-backend 추가

* feat: dragDropManager 적용

* feat: dragDropManager 적용

* feat: Drag&Drop 시 mockData도 변경되도록 수정

* feat: treeData를 전역 상태로 관리

* design: LinkEditorSection 렌더링 요소 변경

* design: hover 시 음영 추가

* refactor: type 변경

* feat: 현재 위치에 폴더가 없으면 표시하지 않도록 변경

* fix: 아래로 이동 시 한칸씩 밀리는 버그 수정

* feat: FolderSection에 dnd 적용

* feat: LinkEditorSection 에서 DirectoryTreeSection 으로 Folder Drag and Drop 가능

* fix: DirectorySection에서 동일 부모의 자식 간 순서 변경 시 폴더를 아래쪽으로 이동할 경우 두칸씩 움직이는 문제 해결

* feat: DirectorySection에서 Folder를 이동 시 폴더 사라지는 로직 추가

* feat: LinkEditorSection에서 Pick Dnd 가능

* refactor: 중복 코드 hook으로 분리

* refactor: 이름 변경

* refactor: 이름 변경

* design: Lucid Icon 적용

* refactor: 중복 코드 제거

* chore: marged branch frontend

* chore: yarn cache clean and re-installed

* [FEAT] 우측으로 dnd 작업 가능 (#145)

* design: theme 변경시 icon 색상도 변경되도록 수정

* feat: LinkEditorSection 상단에 Directory Name 동적 변화

* design: 선택된 항목 강조 표시

* fix: DirectorySection 내부에서 dnd 작업 시 우측에도 반영되도록 수정

* fix: DirectorySection 내부에서 dnd 작업 시 우측에도 반영되도록 수정: 순서 변경 적용

* fix: DirectorySection 내부에서 dnd 작업 시 우측에도 반영되도록 수정: 순서 변경 적용

* fix: 순서 변경 시 인덱스 오차 수정

* feat: 폴더 클릭 시 해당 폴더로 이동

* fix: 내부에 요소가 없으면 빈 화면 표시

* feat: 좌측->우측 dnd 가능

* fix: 최초 로드 시 treeApi를 받아오지 못하는 문제 해결

* �[FEAT] .env 파일 설정 및 서버와 연결 확인 (#158)

* feat: 환경변수로 도메인 저장
* feat: 간단한 login 페이지 생성 및 .env파일 세팅

* �[FEAT] 크롬 익스텐션 로그인 링크 페이지 구현 (#167)

* build: dev 모드, production 모드에 따라 환경변수 주입
* build: build시에 manifest.json에 환경변수 주입
* fix: mode에 따른 환경변수 주입
* fix: script 오타 수정
* chore: ky 종속성 설치
* feat: ky를 이용한 baseApi 생성
* feat: 로그인 여부 파악 후 페이지 렌더링
* chore: tsbuildinfo 삭제
* chore: 주석 제거
* feat: Text 컴포넌트 구현
* feat: Button 컴포넌트 구현
* feat: 로그인 링크 페이지 구현
* feat: 상수로 적용
* fix: 상수대신 .env 직접 적용
- 해당 코드에서 에러가 생겨서 추후 수정할 예정
* chore: 주석 추가

* [FEAT] Swagger의 api-doc을 이용한 type 생성 (#177)

* feat: type 생성
* chore: root의 ts version 원상 복구

* [CI] 프론트엔드 서버 배포 스크립트 (#202)

* 🚀 프론트 서버 배포 설정

* 🚀 프론트 브랜치와 연결

* 🚀 docker image 빌드 전 환경변수 생성(for next build)

* build: 필요하지 않은 github action script 제거

* fix: cd script 원상 복구

---------

Co-authored-by: dmdgpdi <[email protected]>

* [FEAT] 북마크 생성 페이지 디자인 및 태그 API 연결, (#210)

* chore: 북마크 페이지 폴더 내로 이동

* feat: 북마크 페이지 기초적인 레이아웃 설정

* refactor: BookmarkHeader 컴포넌트 분리

* feat: Gap 컴포넌트 구현

* feat: Gap 컴포넌트 default값 변경

* feat: 북마크 페이지 style 분리

* feat: ogImage 가져오기

* feat: ThumbnailImage 컴포넌트 구현

* feat: 이미지 로딩 시 애니메이션 적용

* chore: 주석 제거

* refactor: ThumbnailImage 컴포넌트 수정

* feat: input tag css 적용

* feat: TagPicker tab 및 focus 애니메이션 적용

* refactor: onKeyDown 함수 뺴기

* chore: 인풋 값 확인

* feat: 위, 아래 화살표에 따라 focus를 변경하는 hook 생성

* feat: 화살표따라 탭 포커스 이동 적용

* feat: props에 따라 고정된 속성 제공

* chore: SelectedTagListLayout 폴더 이동

* feat: 공통 스타일 적용

* feat: SelectedTagList의 스타일 추가

* chore: 간단한 색 변경

* chore: 필요없는 data-desc 제거

* feat: 팝오버 버튼 tab 이동 막기, 엔터 키 제거

* chore: style 변경

* feat: 태그픽커 및 다이얼로그에 style 적용

* feat: radix-ui popover 를 floating-ui로 대체

* feat: 팝오버 버튼 디자인 구현

* feat: 태그 삭제 모달 디자인 추가

* feat: tag 목록이 길 때 스타일 변경

* �chore: 스크롤바 제거 globalStyle에 적용

* feat: 선택한 라벨 높이에 따라 commandListHeight 변경

* chore: css 제거

* feat: CommandList 로딩 화면 추가

* chore: randomcolor 라이브러리 설치

* chore: pre-commit command 수정

* fix: pre-commit command 수정

* feat: numberColor 함수 구현 및 태그 생성시 적용

* feat: randomColor style 적용

* chore: type 생성

* fix: 태그 다이얼로그에서 공백 입력시 아무것도 뜨지 않게 변경

* chore: schema를 위한 절대 경로 추가

* feat: 실제 서버의 타입으로 변경

* fix: 태그 리스트가 없을 때, Command.Empty가 보이게 조건문 변경

* fix: �적용되지 않는 함수 제거

* feat: 태그 생성 api 연결

* refactor: 태그 선택 취소 시에 id값만 이용

* feat: delete tag api 연결

* feat: updateTag api 연결

* chore: schema 타입 최신화

* fix: tagName 수정 후 enter key 입력시 모달창 생기는 버그 수정

* feat: 사용하지 않는 CurrentTabInfo 컴포넌트 삭제

* refactor: useGetTabInfo 폴더 이동

* refactor: api 적용을 위해 default value 변경

* fear: create pick api 연결

* chore: react hot toast 라이브러리 설치

* chore: 사용하지 않는 SAMPLE_DATA 제거

* feat: toast 라이브러리 적용

* feat: ApiErrorBody type 선언

* chore: todo 제거

* feat: post api 통신 에러 핸들링 추가

* feat: deleteTag optimistic update 추가

* feat: update tag optimistic update 추가

* refactor: useCalculateCommandListHeight hook으로 분리

* refactor: onSelectCreatableTag 함수 분리

* chore: 쓰지 않는 return 제거

* feat: enter key로 태그 삭제 및 취소 가능

* feat: 간단한 에러 페이지 생성

* feat: 에러 핸들링 추가

* [FEAT] sanitizeHtml에서 DOMPurify로 교체 (#213)

* fix: 런타임 에러 해결(잘못된 변수 접근) (#215)

* [FEAT] 크롬 익스텐션 픽 수정 기능 구현 (#229)

* chore: schema 최신화
* feat: getLinkByUrl api 추가
* feat: useHasLink hook 구현
* chore: API 변경에 따른 type 최신화
* feat: CreatePickForm, UpdatePickForm 분리
* feat: chore: Pick API 변경에 따른 type 최신화
* feat: link api 삭제
* feat: getPickByUrl api 추가
* feat: useHasPick 변경
* chore: ThumbnailImage backgroundColor 변경
* feat: updateForm 구현
* feat: 로딩 상태 시의 Skeleton 구현
* feat: DeferredComponent 구현
* feat: 로딩화면 구현
* chore: 주석 제거

* [FEAT] Backend api 연결 및 ux 미세조정 (#227)

* design: flex wrap 설정

* design: flex wrap 이중 줄바꿈 문제 수정

* feat: 우클릭 시 context menu 표시

* chore: 주석 제거

* chore: alt 이름 변경

* feat: treeRef 추가

* feat: mockData create 가능

* feat: api 연동: create&move

* feat: api 연동: dnd move 동작 확인

* refactor: 핸들러 함수 hook으로 분리

* feat: edit ux 추가 및 arborist node outline 제거

* feat: folder rename 연결 완료

* feat: folder delete(move to recyclebin) 연결 완료

* feat: create 로직 수정

* feat: 초기 로드 시 recycleBin 생성(향후 수정 예정)

* feat: Tree 컴포넌트 추가 전 커밋

* chore: popover Demo 추가

* design: 버튼 및 팝오버 디자인 수정

* feat: 휴지통 붙임:수정예정

* feat: 휴지통 숨김 설정

* design: 전체적인 디자인 미세 조정

* feat: 로그아웃 버튼 추가 및 디렉토리 조정

* feat: client 로그인 검증로직 추가

* design: 로그인 페이지 디자인 추가

* refactor: 폴더 create 로직 수정

* refactor: 폴더 create 로직 수정2

* refactor: 필요없어진 popover제거

* fix: 중첩 폴더 구조에서 폴더 생성 불가한 문제 해결

* design: 에러 토스트 메시지 추가

* refactor: 삭제 로직 수정(id 부여 방식)

* feat: 휴지통에서 폴더 완전삭제 가능

* [FEAT] 익스텐션 테마 적용 (#241)

* feat: theme을 techpick-shared 모노레포로 분리
* feat: theme 적용
* design: 익스텐션 테마 적용
* fix: peerDependencies제거
* design: techpick의 theme을 techpick-shared에 의존하게 변경
* feat: techpick reset.css 수정
* feat: git pull 이후 필요없는 파일 삭제
* feat: theme 동기화

* [FEAT] 카드 컴포넌트 디자인 구현 (#246)

* fix: ky middleware credentials속성 올바르게 적용

* feat: teckpick-service와 동일하게 id 변경

* feat: techpick-shared의 export 추가

* feat: images모든 url을 허용 및 next.config.mjs제거

* chore: 의존성 설치

* chore: @/schema 절대 경로 추가

* chore: portalContainer id 변경

* feat: pickCard 컴포넌트 디자인 및 레이아웃 구현

* feat: TagPicker 컴포넌트 복사

* [FEAT] 버그 수정, 휴지통 복원, context menu, pr 요청사항 적용 (#247)

* fix: 한글 입력시 폴더 두번 생성되는 문제 해결

* fix: 생성중인 폴더가 있을 때, 폴더 추가생성 방지로직 추가

* refactor: 폴더 위치 변경 및 Input 테마 적용

* fix: 노드 클릭 시 2개의 트리 중 한 노드만 focus되도록 수정

* refactor: 프로젝트 디렉토리 및 파일 구조 수정

* refactor: 프로젝트 디렉토리 및 파일 구조 수정2

* feat: recycleBin에서 contextmenu 사용 가능

* feat: recycleBin에서 restore 가능

* refactor: 이전 코드리뷰 comment 반영

* fix: 폴더 생성시 input이 사라지는 문제 수정

* fix: 폴더 삭제 시 우측 화면 업데이트 안되는 문제 수정

* fix: DirectorySection ui 틀어짐 수정

* feat: 휴지통 내부 dnd 가능

* fix: 좌측 디렉토리 절반만 표시되는 문제 수정

* fix: 간격 수정

* fix: 휴지통 dnd 비활성화

* fix: 생성 또는 이름변경 실패 이후 + 버튼클릭 안되는 버그 수정

* feat: 우측 folder contextMenu 이용가능
*버그 수정 필요(recycleBin menu 출력되는 문제)*

* fix: 우측 contextMenu 버그 수정

* fix: 우측 context 수정중

* chore:충돌 방지용 git pull

* [CI] 도커 이미지 build 관련 버그 수정 (#252)

* build: Dockerfile yarn berry 적용 및 필요한 파일 추가
* chore: 주석 변경

* fix: tag 생성 연속 입력 문제 해결 (#257)

* [FIX] 로그인된 상태일 때 메인 페이지로 리다이렉트 (#260)

* [FEAT] unclassified 표시 가능 (#261)

* feat: unclassifiedPicks api 호출 코드 추가

* feat: unclassified 표시됨

* [FEAT] PickCard API 연결 (#266)

* chore: 주석 추가

* feat: PickCard 이미지 스타일 수정

* chore: 쓰지 않는 apis 폴더 삭제

* refactor: 중복된 api middleware 제거

* fix: ky middleware content-type 추가

* feat: getPick api 연결

* design: 디자인 변경

* chore: import 순서 변경

* feat: updatePick api 연결

* feat: selected Tag 태그 삭제시 상태 변경

* chore: 주석제거

---------

Co-authored-by: Jason <[email protected]>

* feat: skelton 적용 (#268)

* feat: skelton 적용

* feat: link 추가 및 tagPicker 동작 수정

* [FIX] 태그 생성 후 창 유지후에 수정 했을 때, 생성한게 추가가 안되는 로직 (#270)

* [FEAT] pick dnd (#272)

* feat: nodeApi로 변환 로직 추가

* fix: 임시 디바운싱 적용

* fix: api 교체

* fix: 간헐적으로 unclassified 안보이는 문제 수정

* feat: pick 휴지통, 복원, 삭제 api 연결완료

* fix: 이름 길어지면 ...으로 표시

* fix: 가상 미분류 폴더 렌더링 방지 처리

* fix: 버그유발 기능 비활성화

* fix: fix

* fix: fix2

* [REFACTOR] 폴더구조 변경 (#308)

* refactor: shared 폴더 제거

* refactor: entities/pick 폴더 제거

* refactor: entities/tag 제거

* refactor: features/tag 제거

* refactor: features/userManagement 제거

* refactor: features/themeManagement 제거

* refactor: features/nodeManagement 제거

* refactor: widgets 제거

* [REFACTOR] import 순서 변경 (#311)

* chore: eslint import 순서 정리
* reafactor: import 순서 변경

* feat: 디자인 토큰 추가

* feat: 디자인 토큰 적용

* feat: �commontThemeContract 삭제

* fix: ThemeProvider 변경사항 적용

* fix: 위치 조정

* [FEAT] 디자인 토큰 추가

* [FEAT] 같은 계층일 때, 폴더 multi select 구현 (#332)

* chore: dnd-kit 설치 및 tree 페이지 생성

* feat: jest 설정추가

* fix: jest monorepo별 적용

* chore: root jest config 삭제

* feat: 같은 부모 밑에서 1개씩 폴더 이동

* design: tree page margin 변경

* test: 복수의 폴더 이동 테스트코트 작성

* feat: 현재 드래그 여부 상태 zustand에 추가

* feat: 폴더 다중 선택 기능 추가

* feat: DragOverlay추가

* design: primary color로 변경

* fix: test문 it.only 제거

* refactor: dndTreeStore에 hasIndex 적용

* [FEAT] 검색창 및 리스트 로직 설계 (#333)

* feat: 검색 위젯 로직 구현

* feat: 유틸리티 클래스 구현 (파싱, 필터링)

* doc: 유틸리티 참고 이미지 및 설명

* feat: zustand, react query 추가

* feat: 뷰포트 리액트 컴포넌트

* refactor: esToolkit import

* refactor: useViewScope 변경

* refactor: useQuery 함수명 파일명 변경

* refactor: useQuery 함수명 파일명 변경

* refactor: Util 함수 리팩토링

* [FEAT] 픽 리스트 - 사용자 설정 필터 & 뷰 템플릿 (#348)

* feat: 검색 위젯 로직 구현

* feat: 유틸리티 클래스 구현 (파싱, 필터링)

* doc: 유틸리티 참고 이미지 및 설명

* feat: zustand, react query 추가

* feat: 뷰포트 리액트 컴포넌트

* refactor: esToolkit import

* refactor: useViewScope 변경

* refactor: useQuery 함수명 파일명 변경

* refactor: useQuery 함수명 파일명 변경

* refactor: Util 함수 리팩토링

* chore: 파일 제거 및 위치 이동

* chore: use-Immer 패키지 추가

* feat: 유틸리티 (Stream, Tokenizer) 리팩토링 및 개선

* chore: 공통 타입 추가 및 일부 변경

* feat: 태그 아이템 UI 컴포넌트 (익스텐션에서 가져옴)

* feat: 최상단 컴포넌트 (뷰어) 및 상태 구현

* test: 쿼리 더미 데이터 추가

* feat: 옵션 리스트 위젯 및 상태 구현

* feat: 검색창 위젯 구현

* feat: 필터 옵션 기능 구현

* feat: 뷰 템플릿 (리스트 vs 그리드) 옵션 구현

* chore: 디렉토리 이름 변경, 기존 폴더 제거

* chore: dummy data 업데이트

* ♻️ refactor: 코드 리뷰 기반으로 리팩토링 진행

* [REFACTOR] Drag & Drop 함수 및 컴포넌트 분리  (#351)

* test: moveFolder test code 삭제

* feat: mockdata 변경에 따른 로직 변경

* refactor: 중앙 스토어에서 로직 분리

* design: treePageWrapper css 변경

* feat: shift + click시에 active가 부모 폴더가 다르면 초기화

* feat: 다른 폴더간 이동 구현

* chore: 테스트코드 예제 삭제

* refactor: reorderFolderInSameParent 함수명 수정

* refactor: SelectedFolderListType으로 대체

* refactor: handleClick 함수 분리

* chore: tree 컴포넌트를 components 폴더로 이동

* [FEAT] 공통 테마에 jsdoc 추가 (#354)

* [FIX] drag & drop 후 정렬 변경 (#360)

* fix: drag & drop 후 정렬 변경

* refactor: isSameParentFolder parameter 변경(동일한 값)

* [FEAT] 폴더 생성 UI 및 상태 관리 로직 변경 (#365)

* design: 작업 전 디자인 변경

* design: CreateFolderInput 디자인 추가

* feat: 폴더 생성 UI 구현

* design: FolderTree 전체적인 레이아웃 변경

* design: 폴더 트리 디자인 개선

* feat: CreateFolderInput 생성시 focus 이동

* design: createFolderInputLayout 디자인 변경

* [FEAT] 폴더 이름 변경 UI 및 로직 구현 (#367)

* feat: CreateFolderInput, FolderInput 컴포넌트로 추출

* design: 공통 테마 사이즈 추가

* chore: PORTAL_CONTAINER_ID 상수로 변경

* feat: 폴더 이름 변경 UI 및 로직 연결

* feat: 우클릭시에 포커스되는 폴더 변경

* [FEAT]: 삭제 UI 및 로직 추가 (#369)

* [CI/CD] nextjs docker image 사이즈 감소 (#380)

* [FEAT] Folder API 연결 (#399)

* chore: api 변경에 따른 스키마 업데이트

* feat: 폴더 관련 api 타입 지정

* refactor: api 변경에 따른 타입 변환

* feat: top level error 추가

* feat: folder crud api 추가

* chore: api 변경에 따른 타입 변경

* feat: 폴더 드래그 앤 드랍 api 연결

* feat: 폴더 이름 변경 api 연결

* feat: 휴지통 이동 api 연결

* refactor: -1 매직넘버 상수로 변경

* chore: mockdata 삭제

* chore: re-resizable 의존성 설치

* faet: FolderTree 크기 조정 가능하게 변경

* chore: api 변경에 따른 타입 최신화

* feat: createFolder api 연결

* refactor: getFolders, getBasicFolders 로 함수명 변경

* reafactor: getRootFolderList로 변경

* [FEAT] 폴더 클릭에 따른 라우팅 변경 (#405)

* feat: 라우팅 설정 변경

* chore: root 폴더에서 tsc 동작시 build된 파일 생성 차단

* chore: legacy 삭제

* feat: 폴더 클릭시마다 라우팅 이동

* feat: useTreeStore subscribeWithSelector 적용

* refactor: FolderInfoItem 컴포넌트 분리

* feat: url을 이용해 folder 선택하게 변경

* feat: route 경로 추가

* feat: middleware redirect url 변경

* feat: 휴지통 및 미분류 폴더 추가

* design: 최초 로딩시에 사이드바 사이즈 지정

* design: 사이드바 디자인 조정

* chore: 쓰지 않는 props 제거

* refactor: useEffect 함수명 추가

* [FEAT] 검색 위젯 기능 구현 및 미사용 필터 제거 (#410)

* chore: 중간 작업 공유

* chore: 타입 변경 및 기존 SearchWidget.tsx 리팩토링

* chore: 타입 변경 및 기존 SearchWidget.tsx 리팩토링

* feat: 기존 로직에서 미사용하는 필터 제거

* feat: dndTreeStore 병합 작업

* [FEAT] 검색창 자동 완성 (#418)

* refactor: PrefixTokenizer 구현 수정

* refactor: PrefixTokenizer 구현 수정

* feat: 검색 위젯 토큰화 구현

* chore: 화면 테스트를 위한 뷰어 패널 코드 수정 (반영 안될 수 있는 커밋)

* feat: 토큰 검색창 CSS 설정

* chore: 일부 주석 추가 및 코드 위치 변경

* chore: yarn.lock 파일 커밋

* [FEAT] 같은 폴더 내에서 Pick Drag&Drop 구현 (#420)

* chore: 백엔드 api 타입 최신화

* chore: util 스펠링 정확하게 변경

* feat: pickType 추가

* feat: getPicksByFolderId 추가

* refactor: viewTemplate 코드 변경

* refactor: 바로 호출이 아닌, useEffect 내에서 비동기함수 호출

* chore: git pull을 위한 커밋

* refactor: pickCardListViewer로 PickCard 컴포넌트 이동

* design: card link style 변경

* feat: 더블 클릭시 링크 이동

* feat: dnd가 가능한 list와 그렇지 않은 list분리

* refactor: dnd여부에 따라 PickListViewer분리

* refactor: DnDCurrentType을 dnd.type으로 이동

* refactor: 공통 utils함수로 추출

* feat: 픽에서 픽으로 이동(api 미연결)

* feat: pick multi-select 구현

* feat: multi-select drag&drop 구현(api 미연결)

* feat: 같은 폴더 내 픽 drag&drop api 연결

* [FIX] 깃허브 액션 API 테스트

* [FIX] 검색창 버그 수정 및 URL 업데이트 (#424)

* 🚨 fix: useSearchParams 사용처에 <Suspence> 추가

* [DESIGN] 폴더 영역 디자인 개선 (#430)

* [FEAT] 픽을 폴더로 이동하는 기능 추가 (#432)

* refactor: draggable type에 따라 검증 함수 분리

* chore: store barrel export 추가

* feat: pick to folder를 위한 dnd context 생성

* fix: dnd context 변경에 따른 로직 변경

* refactor: 컴포넌트명 변경

* refactor: useGetDndContextSensor로 로직 분리

* fix: 로직에 따라 pickId 문자열 대신 정수로 수정

* feat: PickDraggableObjectType에 부모 폴더 id 추가

* feat: 드래깅하는 카드 정보 store에 추가

* feat: pick to pick 시 overlay 카드 생성

* feat: folder drag시 folder overlay 보이도록 변경

* design: 카드 드래그 시 크기 줄이기

* feat: pick to folder drag over시 폴더 색상 변경

* refactor: movePicksToEqualFolder로 함수명 변경

* feat: 휴지통 및 미분류로 픽 이동 감지

* feat: 다른 폴더로 픽 이동 로직 추가

* feat: 폴더 디테일 페이지 뷰 연결

* feat: �휴지통 페이지 카드 렌더링

* [FIX] DragOver 수정 및 휴지통 이동 로직 변경 (#441)

* fix: DragOver 개선

* refactor: 백엔드 API 변경에 따른 휴지통 이동 로직 변경

* [FIX] 현재 포커스된 폴더 삭제 시에 미분류 페이지로 리다이렉트 (#446)

* fix: 현재 포커스된 폴더 삭제 시에 미분류 페이지로 리다이렉트

* design: 드래그시 outline 제거

* [FEAT] 로그인 리다이렉트 URL 추가 (#450)

* chore: sample 대신 관용적으로 사용되는 example로 변경

* feat: 로그인 redirect url 추가

* ci/cd: github Actions secrets 추가 및 적용

* [REFACTOR] 익스텐션 폴더 구조 변경 및 API 최신화 (#458)

* feat: 익스텐션 로그인 페이지 디자인 변경

* chore: 백엔드 타입 최신화

* chore: 백엔드 타입 최신화

* refactor: type은 types폴더로 이동

* chore: 백엔드 타입 최신화

* refactor: api 호출 함수 변경

* refactor: api url 상수로 관리

* feat: barrel export에서 값과 함수 제거

* refactor: 도메인 의존성 없는 컴포넌트 lib폴더로 이동

* refactor: toast 관련 함수 lib 폴더로 이동

* refactor: store는 store폴더로 이동

* chore: 사용하지 않는 타입 제거

* refactor: util함수 util 폴더로 이동

* refactor: 페이지 폴더 제거

* refactor: 컴포넌트는 컴포넌트 폴더로 이동

* fix: returnErrorFromHTTPError에 await 문구 추가

* chore: 백엔드 api 변경에 따른 타입 변경

* [FIX] 로그인 이후 뒤로가기 시 로그인 화면으로 이동하지 못하게 수정 (#453)

* [fix] 픽 검색 API 페이지네이션 적용 (#460)

* chore: 무한스크롤 라이브러리 추가

* chore: 무한스크롤 라이브러리 추가

* feat: 무한 스크롤 구현

* chore: pick 조회 스토어 함수 수정

* chore: 불필요한 코드 수정

* [FEAT] radix-color 추가 (#462)

* feat: radix-color 추가

* chore: radix-color 추가 변경사항 적용

* chore: route 변수 수정

* feat:  breadcrumb 적용

* chore: 기타 스타일링

* chore: 입력창 스타일링

* feat: 무한 스크롤 다듬기 작업

* feat: 검색창 변수 수정

* [DESIGN] 검색 바 디자인 개선 (#463)

* chore: route 변수 수정

* feat:  breadcrumb 적용

* chore: 기타 스타일링

* chore: 입력창 스타일링

* feat: 무한 스크롤 다듬기 작업

* feat: 검색창 변수 수정

* fix: useSearchParams는 suspense로 반드시 감싸야 한다.

* refactor: ApiFolderErrorCode 오타 수정 (#468)

* [FEAT] 메모 제거, 폴더 선택 추가(API 미연결), 우클릭시 사이트 이동 (#473)

* feat: 익스텐션 아이콘 추가

* feat: 로그인 로고 변경

* feat: 북마크 페이지 아이콘 변경 및 링크로 이동

* chore: 오타 수정

* feat: theme 추가

* feat: 메모 제거

* feat: 로그인 페이지 삭제

* chore: radix select 설치

* feat: 폴더 선택 select 간단한 컴포넌트 구현

* feat: createPick시에 폴더 선택 기능 구현

* feat: update시에도 폴더 선택 기능 추가(api 미연결)

* feat: 크롬 익스텐션 우클릭시에 서비스 링크로 이동

* feat: 로딩 화면 추가

* [REFACTOR] 픽 리팩토링, 검색 테스트 구현 (#474)

* refactor: FolderType label 수정

* refactor: 파라미터 idList -> pickIdList 명시적으로 변경

* refactor: folder 내부에 있는 pick_order 리스트에 pickId가 중복 생성되는 문제 해결

* refactor: root folder 검색 못하도록 예외 처리

* refactor: pick controller 메서드명 수정

* refactor: DB fleid 함수를 이용하여 정렬된 픽 리스트 조회할 수 있는 메서드 구현

* refactor: 픽 검색 시 폴더 리스트가 null인 경우 검증하지 않도록 변경, tag 검증 추가

* refactor: 테스트 코드 작성

* refactor: 테스트 코드 ParameterizedTest로 리팩토링 (#476)

* [DESIGN] 익스텐션 디자인 변경 (#479)

* chore: title 설정

* chore: 아이콘 변경 및 안쓰는 아이콘 제거

* feat: radix-ui 의존성 설치

* design: 테마 추가

* design: globalStyle a tag 제거

* design: TagPicker 디자인 변경

* refactor: numberToRandomColor 변경

* design: folder select 디자인 변경

* design: TagPicker placeholder 추가

* design: ThumbnailImage css 변경

* design: CreatePickForm 변경

* feat: BookmarkHeader 제거

* feat: useCalculateCommandListHeight 삭제

* design: 업데이트 및 로딩 화면 디자인 변경 적용

* design: 로딩 화면 변경 적용

* refactor: loginGuard 로직 변경

* feat: FolderSelect 화살표 이동 추가

* chore: 사용하지 않는 헤더 삭제

* [FIX] 픽 수정 리팩토링 및 검증로직 개선 (#477)

* refactor: 불필요한 초기값 제거

* fix: 엔티티를 list로 조회시 존재하지 않는 엔티티를 조회하려고 하면 NOT_FOUND 예외 발생

* fix: pick update시 부모폴더 id도 변경 가능하도록 수정, 누락된 검증 로직 추가

* fix: 기능 변경에 의한 테스트 코드 수정

* fix: idList로 폴더 조회시 존재하지 않는 폴더id로 조회하면 예외 발생

* refactor: 파라미터명 명확하게 수정 idList -> folderIdList

* [FEAT] error 메세지 전송 및 폰트 적용방식 변경 (#482)

* feat: 에러 메세지 명세

* feat: error 메세지 명세

* feat: 폰트 적용 방식 변경

* chore: react-router-dom 버전 변경

v7 점진적으로 도입하는 버전이라 warning log가 떠서 변경

* feat: 폴더 응답에 생성 수정 일자 추가 (#485)

* [�FEAT] 익스텐션 배포 전, 수정 (#489)

* fix: 디자인 변경

* chore: 익스텐션에서 사용하지 않는 의존성 제거

* fix: 휴지통 보이지 않게 하기

* feat: 서버 에러시 toast 알림

* feat: 정상 동작 시 창닫기

* feat: error message 추가

* feat: 폴더 최신순 정렬

* design: 색 추가 및 적용

* design: 인풋 디자인 변경

* feat: font 재적용

* fix: http로 시작하지않으면 저장 안되게 수정

* fix: update시에 폴더 추가

* design: footer 디자인 추가

* docs: manifest.json description 추가

* hotfix: 익스텐션 design 변경

* fix: zip파일 제거

* [FEAT] 에러 요청에 대한 로깅 구현 (#481)

* feat: error request logging 구현

* feat: 기존 예외처리 로직에 요청 로깅 추가

* chore: 주석 추가

* fix: 로깅 방식 변경 - application.log에 sql 로깅 제외

* fix: 누락된 로깅 로직 추가

* [fix] refetch 검색 안되는 문제 해결 (#496)

* [FEAT] 픽 렌더링 카드에서 리스트 아이템으로 교체 (#501)

* feat: PickRenderModeState 구현

* feat: PickRecordListLayout 컴포넌트 구현

* feat: PickCard대신 PickRecord 렌더링으로 변경

* feat: usePickRenderModeStore 의존성 제거

* �[FEAT] 폴더 export 기능 구현 (#504)

* feat: 폴더 export 기능 구현

* feat: url 수정

* [DESIGN] 디자인 변경 (#500)

* [FEAT] 파비콘 추가 및 title 변경 (#503)

* [FEAT] 픽 제목 최대 길이 검증 및 Validation 검증 리팩토링 (#499)

* refactor: 픽 제목 최대 길이 제약조건 추가

* feat: 픽 제목 최대 길이 제약조건 예외, 예외 코드 추가

* refactor: bean validation 예외 상세하게 반환하도록 수정

* refactor: tag 이동 시 리스트 길이보다 큰 인덱스로 이동 시 IndexOutOfBoundsException 발생하는 문제 해결

* fix: title이 null일 때 터지는 오류 해결

* fix: && 문법 오류 수정

* [BUG] 픽 태그 삭제 버그, 픽 수정 버그 수정 (#509)

* refactor: 픽에 사용되었던 유저 태그 삭제 시 500에러 해결

* refactor: pick unique index title 제거

* refactor: 픽을 휴지통으로 이동 시 폴더 내에 있는 픽 리스트 제거 및 가독성을 위해 로직 공통 처리

* refactor: 불필요한 메서드 제거 및 메서드명 변경

* refactor: 운영 환경에서 스웨거 접근 못하도록 하는 설정 추가

* refactor: 폴더 삭제 시 픽들이 휴지통으로 이동될 때 부모 폴더의 픽 리스트 수정이 필요하지 않음.

* refactor: 미분류, 휴지통 폴더에 폴더 생성하지 못하도록 변경, 에러 메세지 변경

* refactor: 메서드명 수정

* refactor: 픽 생성 시 타이틀이 없으면 터지는 예외 해결

* refactor: 데드락 문제 해결을 위해 트랜잭션 범위 최소화

* [FEAT] PickRecord 컴포넌트 구현 및 pick 수정(태그, 타이틀)기능 구현 (#513)

* feat: PickRecord에서 PickListItem 분리

* refactor: TagPicker 크롬 익스텐션 코드 가져오기

* design: list item 줄어들 때, textoverflow 적용

* fix: li 내부에 li가 들어갈 수 없음

* refactor: pick 수정 api 변경

* feat: updatePickInfo 로직 구현

* feat: updatePickInfoStore 구현

* feat: 픽 제목 수정 기능 구현

* chore: 나중에 할 todo 등록

@todo: 현재 SearchWidget이 사용되는 페이지에 전체적으로 적용되고 있음.

* chore: @radix-ui/react-separator 설치

* refactor: PickRecord PickSearchRecord로 변경

* feat: PickRecord로 대체

* feat: tagStore 안쓰는 함수 삭제

* refactor: tag 관련 api 함수 호출 경로 수정

* design: 안보이는 색 변경

* feat: TagPicker CRUD 적용

* design: 디자인 변경

* [BUG] 픽 태그 리스트 수정 시 데드락 문제 수정 (#514)

* refactor: 픽 생성 시 타이틀이 없으면 터지는 예외 해결

* refactor: 데드락 문제 해결을 위해 트랜잭션 범위 최소화

* hotfix: Pick 엔티티의 Link Lazy -> Eager

* [FEAT] 픽 휴지통 이동 및 휴지통에서 픽 삭제 구현, 픽 포커스 변경 (#515)

* feat: PickRecord에서 PickListItem 분리

* refactor: TagPicker 크롬 익스텐션 코드 가져오기

* design: list item 줄어들 때, textoverflow 적용

* fix: li 내부에 li가 들어갈 수 없음

* refactor: pick 수정 api 변경

* feat: updatePickInfo 로직 구현

* feat: updatePickInfoStore 구현

* feat: 픽 제목 수정 기능 구현

* chore: 나중에 할 todo 등록

@todo: 현재 SearchWidget이 사용되는 페이지에 전체적으로 적용되고 있음.

* chore: @radix-ui/react-separator 설치

* refactor: PickRecord PickSearchRecord로 변경

* feat: PickRecord로 대체

* feat: tagStore 안쓰는 함수 삭제

* refactor: tag 관련 api 함수 호출 경로 수정

* design: 안보이는 색 변경

* feat: TagPicker CRUD 적용

* design: 디자인 변경

* feat: deletePicks api 함수 구현

* design: TagPicker 화면 짤림 수정

* feat: 우클릭 휴지통 이동 및 삭제 구현

* feat: PickRecord로 렌더링 변경

* feat: 페이지 이동시, pick item 외부 클릭시 선택된 요소 초기화

* refactor: PickTag에 낙관적 락 설정

* refactor: Spring retry 추가

* [REFACTOR] PickTag 테이블에 낙관적 락 설정 (#519)

* refactor: PickTag에 낙관적 락 설정

* refactor: Spring retry 추가

* refactor: 픽태그 삭제 부분 수정

* design: tag 생성이나 삭제 시에 TagAutocompleteDialog 위치 조정 (#520)

* [FIX] 두번 useEffect 호출 되는 거 방지 (#518)

* refactor: pick 수정하는 부분에 비관적 락 추가 (#521)

* chore: 로그인 페이지 작업 (#508)

* [FEAT] 크롬 북마크 Import 기능 구현 (#522)

* fix: access token, JSESSIONID 로깅 안하도록 수정, multipart file 캐싱 안하도록 수정

* fix: 입력값이 공백 또는 null일 경우 update하지 않음, 기본값을 빈스트링("")으로 설정

* feat: ogTag 업데이트 구현 및 필요한 의존성 추가

* feat: chrome 북마크 import를 위한 메소드 추가

* feat: chrome 북마크 import export 구현

* refactor: 주석 수정

* refactor: swagger 설정 수정

* refactor: link의 title과 description 필드 text타입으로 수정

* chore: 주석 typo 수정

* refactor: typo 수정

* [DESIGN] 디자인 작업 (#524)

* chore: 로그인 페이지 작업

* feat: 디자인 작업 반영

* fix: 미사용 import 제거

* fix: 서치 버그 해결

* feat: og 태그 데이터 가져오는 api 구현 (#525)

* refactor: 운영 서버에서 스웨거 접근 못하도록 변경 (#527)

* [DESIGN] 배포전 PR (#529)

* design: tag 생성이나 삭제 시에 TagAutocompleteDialog 위치 조정

* feat: Gap 컴포넌트 변경

* design: PickRecord 이미지 영역 사이즈 변경

* design: 헤더 Image table 명명

* design: flex-shrink 적용

* chore: 코드 스타일 변경

* fix: TagPicker 컴포넌트 floating element style 변경

* design: TagRecord Input 디자인 변경

* design: font 모든 부분에 동일하게 적용

* refactor: moveFolderToRecycleBin refactoring

* design: 디자인 변경

* design:2차변경

* design: 버튼 color 추가

* feat: PickSearchRecord 추가

* feat: 링크 추가

* fix: url 수정 및 구현안된 기능 숨기기

* fix: unused import 제거

* fix: 폴더 삭제 전체 삭제 변경

* [FIX] tag CRUD 버그 수정 (#538)

* refactor: 프론트엔드 관련 코드 삭제

* refactor: 충돌 해결

---------

Co-authored-by: dmdgpdi <[email protected]>
Co-authored-by: Jason <[email protected]>
Co-authored-by: Jason <[email protected]>
Co-authored-by: Minky <[email protected]>
Co-authored-by: Pak Su Hyung <[email protected]>
dmdgpdi added a commit that referenced this pull request Nov 22, 2024
* Backend Api Release (#528)

* refactor: ApiFolderErrorCode 오타 수정 (#468)

* [REFACTOR] 픽 리팩토링, 검색 테스트 구현 (#474)

* refactor: FolderType label 수정

* refactor: 파라미터 idList -> pickIdList 명시적으로 변경

* refactor: folder 내부에 있는 pick_order 리스트에 pickId가 중복 생성되는 문제 해결

* refactor: root folder 검색 못하도록 예외 처리

* refactor: pick controller 메서드명 수정

* refactor: DB fleid 함수를 이용하여 정렬된 픽 리스트 조회할 수 있는 메서드 구현

* refactor: 픽 검색 시 폴더 리스트가 null인 경우 검증하지 않도록 변경, tag 검증 추가

* refactor: 테스트 코드 작성

* refactor: 테스트 코드 ParameterizedTest로 리팩토링 (#476)

* [FIX] 픽 수정 리팩토링 및 검증로직 개선 (#477)

* refactor: 불필요한 초기값 제거

* fix: 엔티티를 list로 조회시 존재하지 않는 엔티티를 조회하려고 하면 NOT_FOUND 예외 발생

* fix: pick update시 부모폴더 id도 변경 가능하도록 수정, 누락된 검증 로직 추가

* fix: 기능 변경에 의한 테스트 코드 수정

* fix: idList로 폴더 조회시 존재하지 않는 폴더id로 조회하면 예외 발생

* refactor: 파라미터명 명확하게 수정 idList -> folderIdList

* feat: 폴더 응답에 생성 수정 일자 추가 (#485)

* [FEAT] 에러 요청에 대한 로깅 구현 (#481)

* feat: error request logging 구현

* feat: 기존 예외처리 로직에 요청 로깅 추가

* chore: 주석 추가

* fix: 로깅 방식 변경 - application.log에 sql 로깅 제외

* fix: 누락된 로깅 로직 추가

* �[FEAT] 폴더 export 기능 구현 (#504)

* feat: 폴더 export 기능 구현

* feat: url 수정

* [FEAT] 픽 제목 최대 길이 검증 및 Validation 검증 리팩토링 (#499)

* refactor: 픽 제목 최대 길이 제약조건 추가

* feat: 픽 제목 최대 길이 제약조건 예외, 예외 코드 추가

* refactor: bean validation 예외 상세하게 반환하도록 수정

* refactor: tag 이동 시 리스트 길이보다 큰 인덱스로 이동 시 IndexOutOfBoundsException 발생하는 문제 해결

* fix: title이 null일 때 터지는 오류 해결

* fix: && 문법 오류 수정

* [BUG] 픽 태그 삭제 버그, 픽 수정 버그 수정 (#509)

* refactor: 픽에 사용되었던 유저 태그 삭제 시 500에러 해결

* refactor: pick unique index title 제거

* refactor: 픽을 휴지통으로 이동 시 폴더 내에 있는 픽 리스트 제거 및 가독성을 위해 로직 공통 처리

* refactor: 불필요한 메서드 제거 및 메서드명 변경

* refactor: 운영 환경에서 스웨거 접근 못하도록 하는 설정 추가

* refactor: 폴더 삭제 시 픽들이 휴지통으로 이동될 때 부모 폴더의 픽 리스트 수정이 필요하지 않음.

* refactor: 미분류, 휴지통 폴더에 폴더 생성하지 못하도록 변경, 에러 메세지 변경

* refactor: 메서드명 수정

* refactor: 픽 생성 시 타이틀이 없으면 터지는 예외 해결

* refactor: 데드락 문제 해결을 위해 트랜잭션 범위 최소화

* [BUG] 픽 태그 리스트 수정 시 데드락 문제 수정 (#514)

* refactor: 픽 생성 시 타이틀이 없으면 터지는 예외 해결

* refactor: 데드락 문제 해결을 위해 트랜잭션 범위 최소화

* hotfix: Pick 엔티티의 Link Lazy -> Eager

* refactor: PickTag에 낙관적 락 설정

* refactor: Spring retry 추가

* [REFACTOR] PickTag 테이블에 낙관적 락 설정 (#519)

* refactor: PickTag에 낙관적 락 설정

* refactor: Spring retry 추가

* refactor: 픽태그 삭제 부분 수정

* refactor: pick 수정하는 부분에 비관적 락 추가 (#521)

* [FEAT] 크롬 북마크 Import 기능 구현 (#522)

* fix: access token, JSESSIONID 로깅 안하도록 수정, multipart file 캐싱 안하도록 수정

* fix: 입력값이 공백 또는 null일 경우 update하지 않음, 기본값을 빈스트링("")으로 설정

* feat: ogTag 업데이트 구현 및 필요한 의존성 추가

* feat: chrome 북마크 import를 위한 메소드 추가

* feat: chrome 북마크 import export 구현

* refactor: 주석 수정

* refactor: swagger 설정 수정

* refactor: link의 title과 description 필드 text타입으로 수정

* chore: 주석 typo 수정

* refactor: typo 수정

* feat: og 태그 데이터 가져오는 api 구현 (#525)

* refactor: 운영 서버에서 스웨거 접근 못하도록 변경 (#527)

---------

Co-authored-by: Pak Su Hyung <[email protected]>
Co-authored-by: Sangwon Yang <[email protected]>

* [CI/CD] 배포 release (#530)

* chore: 세팅중인 상태

* fix: vanilla-extract 설정 변경

* fix: storybook 실행 안되는 오류 해결

@chromatic-com/storybook이 문제였음.

* chore: storybook tset 확인

* chore: eslint 예외 추가

* chore: eslint, prettier 설정

* chore: DS_Store ignore

* chore: husky 테스트

* chore: husky 적용 중

* chore: husky 적용

* chore: 테스트용 컴포넌트 삭제

* chore: jest 적용

* chore: ts를 devDependencies로 이동

* chore: sample test 파일 삭제

* chore: add files to gitignore

* chore: vscode setting 추가

* chore: playwright example test code 삭제

* chore: e2e test github action 추가

* fix: action 오타 수정

* fix: 깃허브 액션 오타 수정

* chore: add corepack

* chore: 실행 순서 변경

* chore: browser 설치

* chore: playwright-report path 변경

* chore: �액션 if문 제거

* fix: 액션 탭 간격 변경

* chore: github action 테스트를 위한 싶패 테스트

* chore: 항상 report를 뽑을 수 있게 변경

* chore: github action 테스트를 위한 성공 테스트

* chore: vanilla-extract storybook 적용

* chore: 프로젝트 세팅을 위한 필요없는 파일 없애기

* chore: playwright yarn script 추가

* chore: react-hot-toast 적용

* feat: 깃허브 액션 테스트용 PR (#4)

* chore: 세팅중인 상태

* fix: vanilla-extract 설정 변경

* fix: storybook 실행 안되는 오류 해결

@chromatic-com/storybook이 문제였음.

* chore: storybook tset 확인

* chore: eslint 예외 추가

* chore: eslint, prettier 설정

* chore: DS_Store ignore

* chore: husky 테스트

* chore: husky 적용 중

* chore: husky 적용

* chore: 테스트용 컴포넌트 삭제

* chore: jest 적용

* chore: ts를 devDependencies로 이동

* chore: sample test 파일 삭제

* chore: add files to gitignore

* chore: vscode setting 추가

* chore: playwright example test code 삭제

* chore: github action 테스트를 위한 싶패 테스트

* chore: github action 테스트를 위한 성공 테스트

* chore: vanilla-extract storybook 적용

* chore: 프로젝트 세팅을 위한 필요없는 파일 없애기

* chore: playwright yarn script 추가

* chore: react-hot-toast 적용

---------

Co-authored-by: Jason <[email protected]>

* chore: 프로젝트 구조 세팅 (#11)

* chore: 필요없는 파일 제거

* fix: 파일명 오타 수정

* feat: 기본 디렉토리 추가

* chore: yarn set version berry (#12)

* chore: 깃허브 액션 변경

* feat: 모노레포 분리 (#28)

* chore: 서비스 디렉토리 이동

* chore: eslint 적용중

* fix: eslint 설정

* chore: extension 프로젝트 세팅 중 husky 충돌

* fix: pre-commit 동작 수정

* chore: backup

* chore: backup

* chore: backup2

* chore: setting

* chore: ignore 설정

* chore: husky 설치

* chore: monorepo로 변경된 뒤 액션 변경

* chore: husky 설치

---------

Co-authored-by: Jason <[email protected]>

* chore: 폴더명 변경에 따른 액션 변경

* chore: 폴더명 변경 (#37)

* Front/feat/#35 (#40)

* chore: 폴더명 변경
* build: 크롬 익스텐션 빌드 설정
* feat: css 파일 제거
* build: 파일 수정시마다 build되는 스크립트 추가
* chore: 의존성 설치
@tanstack/react-query, @vanilla-extract/css, react-router-dom, zustand
* feat: 디렉토리 생성
* feat: router 추가
* feat: react-query provider 설정
* feat: vanilla-extract 세팅

* feat: 현재 탭에서 데이터 가져오기 (#50)

* feat: 북마크 페이지 생성
* chore: 절대경로 수정
* build: build시에는 빌드를 한번하게 변경
* feat: 새로운 링크로 이동할 시 og image가져오는 동작 추
* feat: tab 열 때 마다 og image 가져오기
* refactor: 쓰지 않는 코드 제거
* chore: 주석 제거
* feat: 파비콘 가져오기
* feat: 서비스워커를 이용해서 동작하는 것으로 변경
* refactor: useGetTabInfo hook으로 분리
* refactor: background.ts 제거
* feat: og:description 가져오기
* chore: 쓰지 않는 상수 제거

* feat: 페이지 기본 요소 렌더링 (#52)

* chore: init

* design: theme 설정

* design: dirView 구조 정의

* chore: downgrade version - yarn 4.3.1 / typescript 5.5.4

* feat: react-arborist 적용 및 테스트 완료

* feat: 디렉토리 구성 및 아이콘 추가

* chore: use-resize-observer 라이브러리 추가

* design: tree 높이 동적 조절되도록 수정

* feat: 우측 view에 folder 및 link 표시

* chore: 컴포넌트 분리

* chore: 불필요한 주석 제거

* chore: 4.3.1 cjs 추가

* refactor: pr 수정요청사항 적용

* chore: import 수정

* chore: index.ts 추가

* chore: index.ts 추가

* chore: conflict 해결

* refactor: barrel exports pattern 적용

* refactor: icon export 처리

* refactor: directoryNode export 처리

* refactor: icon 이동

* refactor: icon을 public으로 이동

* chore: 불필요한 index 제거

* chore: 이름 변경

* chore: 이름 변경

* chore: 이름 변경

* chore: 이름 변경

* chore: 이름 변경

* [FEAT] 익스텐션 태그 인풋 핵심 로직 구현 (#126)

* feat: 북마크 페이지 생성
* chore: 절대경로 수정
* build: build시에는 빌드를 한번하게 변경
* feat: 새로운 링크로 이동할 시 og image가져오는 동작 추가
* feat: tab 열 때 마다 og image 가져오기
* refactor: 쓰지 않는 코드 제거
* chore: 주석 제거
* feat: 파비콘 가져오기
* feat: 서비스워커를 이용해서 동작하는 것으로 변경
* refactor: useGetTabInfo hook으로 분리
* refactor: background.ts 제거
* feat: og:description 가져오기
* chore: 쓰지 않는 상수 제거
* feat: cmdk 적용
* feat: 현재 선택한 태그가 보이도록 변경
* feat: 비동기 호출 흉내내서 라벨 데이터 가져오기
* chore: immer 설치
* feat: tagStore CRUD 구현
* chore: lucide icon 설치
* feat: deselect button ui 추가
* feat: deselect 기능 추가
* feat: SelectedTag ui 개선
* chore: todo 주석 제거
* feat: 동일한 태그가 없을 때 생성 아이템 추가
* feat: 태그 생성 로직 구현
* chore: 폴더 변경
* feat: TagInfoPopover 간단한 UI 구현
* feat: tag update 기능 추가
* chore: tagStore 폴더 변경
* chore: @radix-ui/react-dialog 설치
* chore: showDeleteTagDialogButton 파일 변경
* feat: DeleteTagDialog 상태 관리 구현
* chore: 다음 작업에 할 Todo 내용 추가
* feat: DeleteTag 관련 컴포넌트 구현
* chore: Command.Dialog css 변경
* refactor: useEffect내 함수 기명함수로 변경
* refactor: 분리되어있던 컴포넌트 SelectedTagItem폴더로 이동
* chore: components 에서 ui로 폴더명 변경
* refactor: TagInput컴포넌트에서 TagSelectionDialog컴포넌트 분리
* refactor: TagInput에서 TagPicker로 컴포넌트명 변경
* refactor: TagAutocompleteDialog로 컴포넌트명 변경
* refactor: TagPicker css명 변경
* refactor: css classname 변경
* refactor: 분리되어있던 css 합치기
* refactor: onSelectTag함수로 반복되는 함수 호출 합침
* refactor: 문자열 상수로 변경
* chore: 주석 추가
* feat: enter키 입력시 popover 켜지게 변경
* refactor: PopoverTriggerButton으로 분리
* chore: 사용하지 않는 index.ts 제거
* chore: 폴더명 components에서 ui로 변경
* chore: 폴더명 변경
* chore: tsbuildinfo update
* chore: 폴더 위치 이동
* chore: 폴더 이동
* chore: git pull frontend
* chore: todo 주석 추가

* [FEAT] Drag&Drop 구현: Directory (#117)

* test: mockdata 동적 생성

* chore: react-dnd, react-dnd-html5-backend 추가

* feat: dragDropManager 적용

* feat: dragDropManager 적용

* feat: Drag&Drop 시 mockData도 변경되도록 수정

* feat: treeData를 전역 상태로 관리

* design: LinkEditorSection 렌더링 요소 변경

* design: hover 시 음영 추가

* refactor: type 변경

* feat: 현재 위치에 폴더가 없으면 표시하지 않도록 변경

* fix: 아래로 이동 시 한칸씩 밀리는 버그 수정

* feat: FolderSection에 dnd 적용

* feat: LinkEditorSection 에서 DirectoryTreeSection 으로 Folder Drag and Drop 가능

* fix: DirectorySection에서 동일 부모의 자식 간 순서 변경 시 폴더를 아래쪽으로 이동할 경우 두칸씩 움직이는 문제 해결

* feat: DirectorySection에서 Folder를 이동 시 폴더 사라지는 로직 추가

* feat: LinkEditorSection에서 Pick Dnd 가능

* refactor: 중복 코드 hook으로 분리

* refactor: 이름 변경

* refactor: 이름 변경

* design: Lucid Icon 적용

* refactor: 중복 코드 제거

* chore: marged branch frontend

* chore: yarn cache clean and re-installed

* [FEAT] 우측으로 dnd 작업 가능 (#145)

* design: theme 변경시 icon 색상도 변경되도록 수정

* feat: LinkEditorSection 상단에 Directory Name 동적 변화

* design: 선택된 항목 강조 표시

* fix: DirectorySection 내부에서 dnd 작업 시 우측에도 반영되도록 수정

* fix: DirectorySection 내부에서 dnd 작업 시 우측에도 반영되도록 수정: 순서 변경 적용

* fix: DirectorySection 내부에서 dnd 작업 시 우측에도 반영되도록 수정: 순서 변경 적용

* fix: 순서 변경 시 인덱스 오차 수정

* feat: 폴더 클릭 시 해당 폴더로 이동

* fix: 내부에 요소가 없으면 빈 화면 표시

* feat: 좌측->우측 dnd 가능

* fix: 최초 로드 시 treeApi를 받아오지 못하는 문제 해결

* �[FEAT] .env 파일 설정 및 서버와 연결 확인 (#158)

* feat: 환경변수로 도메인 저장
* feat: 간단한 login 페이지 생성 및 .env파일 세팅

* �[FEAT] 크롬 익스텐션 로그인 링크 페이지 구현 (#167)

* build: dev 모드, production 모드에 따라 환경변수 주입
* build: build시에 manifest.json에 환경변수 주입
* fix: mode에 따른 환경변수 주입
* fix: script 오타 수정
* chore: ky 종속성 설치
* feat: ky를 이용한 baseApi 생성
* feat: 로그인 여부 파악 후 페이지 렌더링
* chore: tsbuildinfo 삭제
* chore: 주석 제거
* feat: Text 컴포넌트 구현
* feat: Button 컴포넌트 구현
* feat: 로그인 링크 페이지 구현
* feat: 상수로 적용
* fix: 상수대신 .env 직접 적용
- 해당 코드에서 에러가 생겨서 추후 수정할 예정
* chore: 주석 추가

* [FEAT] Swagger의 api-doc을 이용한 type 생성 (#177)

* feat: type 생성
* chore: root의 ts version 원상 복구

* [CI] 프론트엔드 서버 배포 스크립트 (#202)

* :rocket: 프론트 서버 배포 설정

* :rocket: 프론트 브랜치와 연결

* :rocket: docker image 빌드 전 환경변수 생성(for next build)

* build: 필요하지 않은 github action script 제거

* fix: cd script 원상 복구

---------

Co-authored-by: dmdgpdi <[email protected]>

* [FEAT] 북마크 생성 페이지 디자인 및 태그 API 연결, (#210)

* chore: 북마크 페이지 폴더 내로 이동

* feat: 북마크 페이지 기초적인 레이아웃 설정

* refactor: BookmarkHeader 컴포넌트 분리

* feat: Gap 컴포넌트 구현

* feat: Gap 컴포넌트 default값 변경

* feat: 북마크 페이지 style 분리

* feat: ogImage 가져오기

* feat: ThumbnailImage 컴포넌트 구현

* feat: 이미지 로딩 시 애니메이션 적용

* chore: 주석 제거

* refactor: ThumbnailImage 컴포넌트 수정

* feat: input tag css 적용

* feat: TagPicker tab 및 focus 애니메이션 적용

* refactor: onKeyDown 함수 뺴기

* chore: 인풋 값 확인

* feat: 위, 아래 화살표에 따라 focus를 변경하는 hook 생성

* feat: 화살표따라 탭 포커스 이동 적용

* feat: props에 따라 고정된 속성 제공

* chore: SelectedTagListLayout 폴더 이동

* feat: 공통 스타일 적용

* feat: SelectedTagList의 스타일 추가

* chore: 간단한 색 변경

* chore: 필요없는 data-desc 제거

* feat: 팝오버 버튼 tab 이동 막기, 엔터 키 제거

* chore: style 변경

* feat: 태그픽커 및 다이얼로그에 style 적용

* feat: radix-ui popover 를 floating-ui로 대체

* feat: 팝오버 버튼 디자인 구현

* feat: 태그 삭제 모달 디자인 추가

* feat: tag 목록이 길 때 스타일 변경

* �chore: 스크롤바 제거 globalStyle에 적용

* feat: 선택한 라벨 높이에 따라 commandListHeight 변경

* chore: css 제거

* feat: CommandList 로딩 화면 추가

* chore: randomcolor 라이브러리 설치

* chore: pre-commit command 수정

* fix: pre-commit command 수정

* feat: numberColor 함수 구현 및 태그 생성시 적용

* feat: randomColor style 적용

* chore: type 생성

* fix: 태그 다이얼로그에서 공백 입력시 아무것도 뜨지 않게 변경

* chore: schema를 위한 절대 경로 추가

* feat: 실제 서버의 타입으로 변경

* fix: 태그 리스트가 없을 때, Command.Empty가 보이게 조건문 변경

* fix: �적용되지 않는 함수 제거

* feat: 태그 생성 api 연결

* refactor: 태그 선택 취소 시에 id값만 이용

* feat: delete tag api 연결

* feat: updateTag api 연결

* chore: schema 타입 최신화

* fix: tagName 수정 후 enter key 입력시 모달창 생기는 버그 수정

* feat: 사용하지 않는 CurrentTabInfo 컴포넌트 삭제

* refactor: useGetTabInfo 폴더 이동

* refactor: api 적용을 위해 default value 변경

* fear: create pick api 연결

* chore: react hot toast 라이브러리 설치

* chore: 사용하지 않는 SAMPLE_DATA 제거

* feat: toast 라이브러리 적용

* feat: ApiErrorBody type 선언

* chore: todo 제거

* feat: post api 통신 에러 핸들링 추가

* feat: deleteTag optimistic update 추가

* feat: update tag optimistic update 추가

* refactor: useCalculateCommandListHeight hook으로 분리

* refactor: onSelectCreatableTag 함수 분리

* chore: 쓰지 않는 return 제거

* feat: enter key로 태그 삭제 및 취소 가능

* feat: 간단한 에러 페이지 생성

* feat: 에러 핸들링 추가

* [FEAT] sanitizeHtml에서 DOMPurify로 교체 (#213)

* fix: 런타임 에러 해결(잘못된 변수 접근) (#215)

* [FEAT] 크롬 익스텐션 픽 수정 기능 구현 (#229)

* chore: schema 최신화
* feat: getLinkByUrl api 추가
* feat: useHasLink hook 구현
* chore: API 변경에 따른 type 최신화
* feat: CreatePickForm, UpdatePickForm 분리
* feat: chore: Pick API 변경에 따른 type 최신화
* feat: link api 삭제
* feat: getPickByUrl api 추가
* feat: useHasPick 변경
* chore: ThumbnailImage backgroundColor 변경
* feat: updateForm 구현
* feat: 로딩 상태 시의 Skeleton 구현
* feat: DeferredComponent 구현
* feat: 로딩화면 구현
* chore: 주석 제거

* [FEAT] Backend api 연결 및 ux 미세조정 (#227)

* design: flex wrap 설정

* design: flex wrap 이중 줄바꿈 문제 수정

* feat: 우클릭 시 context menu 표시

* chore: 주석 제거

* chore: alt 이름 변경

* feat: treeRef 추가

* feat: mockData create 가능

* feat: api 연동: create&move

* feat: api 연동: dnd move 동작 확인

* refactor: 핸들러 함수 hook으로 분리

* feat: edit ux 추가 및 arborist node outline 제거

* feat: folder rename 연결 완료

* feat: folder delete(move to recyclebin) 연결 완료

* feat: create 로직 수정

* feat: 초기 로드 시 recycleBin 생성(향후 수정 예정)

* feat: Tree 컴포넌트 추가 전 커밋

* chore: popover Demo 추가

* design: 버튼 및 팝오버 디자인 수정

* feat: 휴지통 붙임:수정예정

* feat: 휴지통 숨김 설정

* design: 전체적인 디자인 미세 조정

* feat: 로그아웃 버튼 추가 및 디렉토리 조정

* feat: client 로그인 검증로직 추가

* design: 로그인 페이지 디자인 추가

* refactor: 폴더 create 로직 수정

* refactor: 폴더 create 로직 수정2

* refactor: 필요없어진 popover제거

* fix: 중첩 폴더 구조에서 폴더 생성 불가한 문제 해결

* design: 에러 토스트 메시지 추가

* refactor: 삭제 로직 수정(id 부여 방식)

* feat: 휴지통에서 폴더 완전삭제 가능

* [FEAT] 익스텐션 테마 적용 (#241)

* feat: theme을 techpick-shared 모노레포로 분리
* feat: theme 적용
* design: 익스텐션 테마 적용
* fix: peerDependencies제거
* design: techpick의 theme을 techpick-shared에 의존하게 변경
* feat: techpick reset.css 수정
* feat: git pull 이후 필요없는 파일 삭제
* feat: theme 동기화

* [FEAT] 카드 컴포넌트 디자인 구현 (#246)

* fix: ky middleware credentials속성 올바르게 적용

* feat: teckpick-service와 동일하게 id 변경

* feat: techpick-shared의 export 추가

* feat: images모든 url을 허용 및 next.config.mjs제거

* chore: 의존성 설치

* chore: @/schema 절대 경로 추가

* chore: portalContainer id 변경

* feat: pickCard 컴포넌트 디자인 및 레이아웃 구현

* feat: TagPicker 컴포넌트 복사

* [FEAT] 버그 수정, 휴지통 복원, context menu, pr 요청사항 적용 (#247)

* fix: 한글 입력시 폴더 두번 생성되는 문제 해결

* fix: 생성중인 폴더가 있을 때, 폴더 추가생성 방지로직 추가

* refactor: 폴더 위치 변경 및 Input 테마 적용

* fix: 노드 클릭 시 2개의 트리 중 한 노드만 focus되도록 수정

* refactor: 프로젝트 디렉토리 및 파일 구조 수정

* refactor: 프로젝트 디렉토리 및 파일 구조 수정2

* feat: recycleBin에서 contextmenu 사용 가능

* feat: recycleBin에서 restore 가능

* refactor: 이전 코드리뷰 comment 반영

* fix: 폴더 생성시 input이 사라지는 문제 수정

* fix: 폴더 삭제 시 우측 화면 업데이트 안되는 문제 수정

* fix: DirectorySection ui 틀어짐 수정

* feat: 휴지통 내부 dnd 가능

* fix: 좌측 디렉토리 절반만 표시되는 문제 수정

* fix: 간격 수정

* fix: 휴지통 dnd 비활성화

* fix: 생성 또는 이름변경 실패 이후 + 버튼클릭 안되는 버그 수정

* feat: 우측 folder contextMenu 이용가능
*버그 수정 필요(recycleBin menu 출력되는 문제)*

* fix: 우측 contextMenu 버그 수정

* fix: 우측 context 수정중

* chore:충돌 방지용 git pull

* [CI] 도커 이미지 build 관련 버그 수정 (#252)

* build: Dockerfile yarn berry 적용 및 필요한 파일 추가
* chore: 주석 변경

* fix: tag 생성 연속 입력 문제 해결 (#257)

* [FIX] 로그인된 상태일 때 메인 페이지로 리다이렉트 (#260)

* [FEAT] unclassified 표시 가능 (#261)

* feat: unclassifiedPicks api 호출 코드 추가

* feat: unclassified 표시됨

* [FEAT] PickCard API 연결 (#266)

* chore: 주석 추가

* feat: PickCard 이미지 스타일 수정

* chore: 쓰지 않는 apis 폴더 삭제

* refactor: 중복된 api middleware 제거

* fix: ky middleware content-type 추가

* feat: getPick api 연결

* design: 디자인 변경

* chore: import 순서 변경

* feat: updatePick api 연결

* feat: selected Tag 태그 삭제시 상태 변경

* chore: 주석제거

---------

Co-authored-by: Jason <[email protected]>

* feat: skelton 적용 (#268)

* feat: skelton 적용

* feat: link 추가 및 tagPicker 동작 수정

* [FIX] 태그 생성 후 창 유지후에 수정 했을 때, 생성한게 추가가 안되는 로직 (#270)

* [FEAT] pick dnd (#272)

* feat: nodeApi로 변환 로직 추가

* fix: 임시 디바운싱 적용

* fix: api 교체

* fix: 간헐적으로 unclassified 안보이는 문제 수정

* feat: pick 휴지통, 복원, 삭제 api 연결완료

* fix: 이름 길어지면 ...으로 표시

* fix: 가상 미분류 폴더 렌더링 방지 처리

* fix: 버그유발 기능 비활성화

* fix: fix

* fix: fix2

* [REFACTOR] 폴더구조 변경 (#308)

* refactor: shared 폴더 제거

* refactor: entities/pick 폴더 제거

* refactor: entities/tag 제거

* refactor: features/tag 제거

* refactor: features/userManagement 제거

* refactor: features/themeManagement 제거

* refactor: features/nodeManagement 제거

* refactor: widgets 제거

* [REFACTOR] import 순서 변경 (#311)

* chore: eslint import 순서 정리
* reafactor: import 순서 변경

* feat: 디자인 토큰 추가

* feat: 디자인 토큰 적용

* feat: �commontThemeContract 삭제

* fix: ThemeProvider 변경사항 적용

* fix: 위치 조정

* [FEAT] 디자인 토큰 추가

* [FEAT] 같은 계층일 때, 폴더 multi select 구현 (#332)

* chore: dnd-kit 설치 및 tree 페이지 생성

* feat: jest 설정추가

* fix: jest monorepo별 적용

* chore: root jest config 삭제

* feat: 같은 부모 밑에서 1개씩 폴더 이동

* design: tree page margin 변경

* test: 복수의 폴더 이동 테스트코트 작성

* feat: 현재 드래그 여부 상태 zustand에 추가

* feat: 폴더 다중 선택 기능 추가

* feat: DragOverlay추가

* design: primary color로 변경

* fix: test문 it.only 제거

* refactor: dndTreeStore에 hasIndex 적용

* [FEAT] 검색창 및 리스트 로직 설계 (#333)

* feat: 검색 위젯 로직 구현

* feat: 유틸리티 클래스 구현 (파싱, 필터링)

* doc: 유틸리티 참고 이미지 및 설명

* feat: zustand, react query 추가

* feat: 뷰포트 리액트 컴포넌트

* refactor: esToolkit import

* refactor: useViewScope 변경

* refactor: useQuery 함수명 파일명 변경

* refactor: useQuery 함수명 파일명 변경

* refactor: Util 함수 리팩토링

* [FEAT] 픽 리스트 - 사용자 설정 필터 & 뷰 템플릿 (#348)

* feat: 검색 위젯 로직 구현

* feat: 유틸리티 클래스 구현 (파싱, 필터링)

* doc: 유틸리티 참고 이미지 및 설명

* feat: zustand, react query 추가

* feat: 뷰포트 리액트 컴포넌트

* refactor: esToolkit import

* refactor: useViewScope 변경

* refactor: useQuery 함수명 파일명 변경

* refactor: useQuery 함수명 파일명 변경

* refactor: Util 함수 리팩토링

* chore: 파일 제거 및 위치 이동

* chore: use-Immer 패키지 추가

* feat: 유틸리티 (Stream, Tokenizer) 리팩토링 및 개선

* chore: 공통 타입 추가 및 일부 변경

* feat: 태그 아이템 UI 컴포넌트 (익스텐션에서 가져옴)

* feat: 최상단 컴포넌트 (뷰어) 및 상태 구현

* test: 쿼리 더미 데이터 추가

* feat: 옵션 리스트 위젯 및 상태 구현

* feat: 검색창 위젯 구현

* feat: 필터 옵션 기능 구현

* feat: 뷰 템플릿 (리스트 vs 그리드) 옵션 구현

* chore: 디렉토리 이름 변경, 기존 폴더 제거

* chore: dummy data 업데이트

* :recycle: refactor: 코드 리뷰 기반으로 리팩토링 진행

* [REFACTOR] Drag & Drop 함수 및 컴포넌트 분리  (#351)

* test: moveFolder test code 삭제

* feat: mockdata 변경에 따른 로직 변경

* refactor: 중앙 스토어에서 로직 분리

* design: treePageWrapper css 변경

* feat: shift + click시에 active가 부모 폴더가 다르면 초기화

* feat: 다른 폴더간 이동 구현

* chore: 테스트코드 예제 삭제

* refactor: reorderFolderInSameParent 함수명 수정

* refactor: SelectedFolderListType으로 대체

* refactor: handleClick 함수 분리

* chore: tree 컴포넌트를 components 폴더로 이동

* [FEAT] 공통 테마에 jsdoc 추가 (#354)

* [FIX] drag & drop 후 정렬 변경 (#360)

* fix: drag & drop 후 정렬 변경

* refactor: isSameParentFolder parameter 변경(동일한 값)

* [FEAT] 폴더 생성 UI 및 상태 관리 로직 변경 (#365)

* design: 작업 전 디자인 변경

* design: CreateFolderInput 디자인 추가

* feat: 폴더 생성 UI 구현

* design: FolderTree 전체적인 레이아웃 변경

* design: 폴더 트리 디자인 개선

* feat: CreateFolderInput 생성시 focus 이동

* design: createFolderInputLayout 디자인 변경

* [FEAT] 폴더 이름 변경 UI 및 로직 구현 (#367)

* feat: CreateFolderInput, FolderInput 컴포넌트로 추출

* design: 공통 테마 사이즈 추가

* chore: PORTAL_CONTAINER_ID 상수로 변경

* feat: 폴더 이름 변경 UI 및 로직 연결

* feat: 우클릭시에 포커스되는 폴더 변경

* [FEAT]: 삭제 UI 및 로직 추가 (#369)

* [CI/CD] nextjs docker image 사이즈 감소 (#380)

* [FEAT] Folder API 연결 (#399)

* chore: api 변경에 따른 스키마 업데이트

* feat: 폴더 관련 api 타입 지정

* refactor: api 변경에 따른 타입 변환

* feat: top level error 추가

* feat: folder crud api 추가

* chore: api 변경에 따른 타입 변경

* feat: 폴더 드래그 앤 드랍 api 연결

* feat: 폴더 이름 변경 api 연결

* feat: 휴지통 이동 api 연결

* refactor: -1 매직넘버 상수로 변경

* chore: mockdata 삭제

* chore: re-resizable 의존성 설치

* faet: FolderTree 크기 조정 가능하게 변경

* chore: api 변경에 따른 타입 최신화

* feat: createFolder api 연결

* refactor: getFolders, getBasicFolders 로 함수명 변경

* reafactor: getRootFolderList로 변경

* [FEAT] 폴더 클릭에 따른 라우팅 변경 (#405)

* feat: 라우팅 설정 변경

* chore: root 폴더에서 tsc 동작시 build된 파일 생성 차단

* chore: legacy 삭제

* feat: 폴더 클릭시마다 라우팅 이동

* feat: useTreeStore subscribeWithSelector 적용

* refactor: FolderInfoItem 컴포넌트 분리

* feat: url을 이용해 folder 선택하게 변경

* feat: route 경로 추가

* feat: middleware redirect url 변경

* feat: 휴지통 및 미분류 폴더 추가

* design: 최초 로딩시에 사이드바 사이즈 지정

* design: 사이드바 디자인 조정

* chore: 쓰지 않는 props 제거

* refactor: useEffect 함수명 추가

* [FEAT] 검색 위젯 기능 구현 및 미사용 필터 제거 (#410)

* chore: 중간 작업 공유

* chore: 타입 변경 및 기존 SearchWidget.tsx 리팩토링

* chore: 타입 변경 및 기존 SearchWidget.tsx 리팩토링

* feat: 기존 로직에서 미사용하는 필터 제거

* feat: dndTreeStore 병합 작업

* [FEAT] 검색창 자동 완성 (#418)

* refactor: PrefixTokenizer 구현 수정

* refactor: PrefixTokenizer 구현 수정

* feat: 검색 위젯 토큰화 구현

* chore: 화면 테스트를 위한 뷰어 패널 코드 수정 (반영 안될 수 있는 커밋)

* feat: 토큰 검색창 CSS 설정

* chore: 일부 주석 추가 및 코드 위치 변경

* chore: yarn.lock 파일 커밋

* [FEAT] 같은 폴더 내에서 Pick Drag&Drop 구현 (#420)

* chore: 백엔드 api 타입 최신화

* chore: util 스펠링 정확하게 변경

* feat: pickType 추가

* feat: getPicksByFolderId 추가

* refactor: viewTemplate 코드 변경

* refactor: 바로 호출이 아닌, useEffect 내에서 비동기함수 호출

* chore: git pull을 위한 커밋

* refactor: pickCardListViewer로 PickCard 컴포넌트 이동

* design: card link style 변경

* feat: 더블 클릭시 링크 이동

* feat: dnd가 가능한 list와 그렇지 않은 list분리

* refactor: dnd여부에 따라 PickListViewer분리

* refactor: DnDCurrentType을 dnd.type으로 이동

* refactor: 공통 utils함수로 추출

* feat: 픽에서 픽으로 이동(api 미연결)

* feat: pick multi-select 구현

* feat: multi-select drag&drop 구현(api 미연결)

* feat: 같은 폴더 내 픽 drag&drop api 연결

* [FIX] 깃허브 액션 API 테스트

* [FIX] 검색창 버그 수정 및 URL 업데이트 (#424)

* :rotating_light: fix: useSearchParams 사용처에 <Suspence> 추가

* [DESIGN] 폴더 영역 디자인 개선 (#430)

* [FEAT] 픽을 폴더로 이동하는 기능 추가 (#432)

* refactor: draggable type에 따라 검증 함수 분리

* chore: store barrel export 추가

* feat: pick to folder를 위한 dnd context 생성

* fix: dnd context 변경에 따른 로직 변경

* refactor: 컴포넌트명 변경

* refactor: useGetDndContextSensor로 로직 분리

* fix: 로직에 따라 pickId 문자열 대신 정수로 수정

* feat: PickDraggableObjectType에 부모 폴더 id 추가

* feat: 드래깅하는 카드 정보 store에 추가

* feat: pick to pick 시 overlay 카드 생성

* feat: folder drag시 folder overlay 보이도록 변경

* design: 카드 드래그 시 크기 줄이기

* feat: pick to folder drag over시 폴더 색상 변경

* refactor: movePicksToEqualFolder로 함수명 변경

* feat: 휴지통 및 미분류로 픽 이동 감지

* feat: 다른 폴더로 픽 이동 로직 추가

* feat: 폴더 디테일 페이지 뷰 연결

* feat: �휴지통 페이지 카드 렌더링

* [FIX] DragOver 수정 및 휴지통 이동 로직 변경 (#441)

* fix: DragOver 개선

* refactor: 백엔드 API 변경에 따른 휴지통 이동 로직 변경

* [FIX] 현재 포커스된 폴더 삭제 시에 미분류 페이지로 리다이렉트 (#446)

* fix: 현재 포커스된 폴더 삭제 시에 미분류 페이지로 리다이렉트

* design: 드래그시 outline 제거

* [FEAT] 로그인 리다이렉트 URL 추가 (#450)

* chore: sample 대신 관용적으로 사용되는 example로 변경

* feat: 로그인 redirect url 추가

* ci/cd: github Actions secrets 추가 및 적용

* [REFACTOR] 익스텐션 폴더 구조 변경 및 API 최신화 (#458)

* feat: 익스텐션 로그인 페이지 디자인 변경

* chore: 백엔드 타입 최신화

* chore: 백엔드 타입 최신화

* refactor: type은 types폴더로 이동

* chore: 백엔드 타입 최신화

* refactor: api 호출 함수 변경

* refactor: api url 상수로 관리

* feat: barrel export에서 값과 함수 제거

* refactor: 도메인 의존성 없는 컴포넌트 lib폴더로 이동

* refactor: toast 관련 함수 lib 폴더로 이동

* refactor: store는 store폴더로 이동

* chore: 사용하지 않는 타입 제거

* refactor: util함수 util 폴더로 이동

* refactor: 페이지 폴더 제거

* refactor: 컴포넌트는 컴포넌트 폴더로 이동

* fix: returnErrorFromHTTPError에 await 문구 추가

* chore: 백엔드 api 변경에 따른 타입 변경

* [FIX] 로그인 이후 뒤로가기 시 로그인 화면으로 이동하지 못하게 수정 (#453)

* [fix] 픽 검색 API 페이지네이션 적용 (#460)

* chore: 무한스크롤 라이브러리 추가

* chore: 무한스크롤 라이브러리 추가

* feat: 무한 스크롤 구현

* chore: pick 조회 스토어 함수 수정

* chore: 불필요한 코드 수정

* [FEAT] radix-color 추가 (#462)

* feat: radix-color 추가

* chore: radix-color 추가 변경사항 적용

* chore: route 변수 수정

* feat:  breadcrumb 적용

* chore: 기타 스타일링

* chore: 입력창 스타일링

* feat: 무한 스크롤 다듬기 작업

* feat: 검색창 변수 수정

* [DESIGN] 검색 바 디자인 개선 (#463)

* chore: route 변수 수정

* feat:  breadcrumb 적용

* chore: 기타 스타일링

* chore: 입력창 스타일링

* feat: 무한 스크롤 다듬기 작업

* feat: 검색창 변수 수정

* fix: useSearchParams는 suspense로 반드시 감싸야 한다.

* [FEAT] 메모 제거, 폴더 선택 추가(API 미연결), 우클릭시 사이트 이동 (#473)

* feat: 익스텐션 아이콘 추가

* feat: 로그인 로고 변경

* feat: 북마크 페이지 아이콘 변경 및 링크로 이동

* chore: 오타 수정

* feat: theme 추가

* feat: 메모 제거

* feat: 로그인 페이지 삭제

* chore: radix select 설치

* feat: 폴더 선택 select 간단한 컴포넌트 구현

* feat: createPick시에 폴더 선택 기능 구현

* feat: update시에도 폴더 선택 기능 추가(api 미연결)

* feat: 크롬 익스텐션 우클릭시에 서비스 링크로 이동

* feat: 로딩 화면 추가

* [DESIGN] 익스텐션 디자인 변경 (#479)

* chore: title 설정

* chore: 아이콘 변경 및 안쓰는 아이콘 제거

* feat: radix-ui 의존성 설치

* design: 테마 추가

* design: globalStyle a tag 제거

* design: TagPicker 디자인 변경

* refactor: numberToRandomColor 변경

* design: folder select 디자인 변경

* design: TagPicker placeholder 추가

* design: ThumbnailImage css 변경

* design: CreatePickForm 변경

* feat: BookmarkHeader 제거

* feat: useCalculateCommandListHeight 삭제

* design: 업데이트 및 로딩 화면 디자인 변경 적용

* design: 로딩 화면 변경 적용

* refactor: loginGuard 로직 변경

* feat: FolderSelect 화살표 이동 추가

* chore: 사용하지 않는 헤더 삭제

* [FEAT] error 메세지 전송 및 폰트 적용방식 변경 (#482)

* feat: 에러 메세지 명세

* feat: error 메세지 명세

* feat: 폰트 적용 방식 변경

* chore: react-router-dom 버전 변경

v7 점진적으로 도입하는 버전이라 warning log가 떠서 변경

* [�FEAT] 익스텐션 배포 전, 수정 (#489)

* fix: 디자인 변경

* chore: 익스텐션에서 사용하지 않는 의존성 제거

* fix: 휴지통 보이지 않게 하기

* feat: 서버 에러시 toast 알림

* feat: 정상 동작 시 창닫기

* feat: error message 추가

* feat: 폴더 최신순 정렬

* design: 색 추가 및 적용

* design: 인풋 디자인 변경

* feat: font 재적용

* fix: http로 시작하지않으면 저장 안되게 수정

* fix: update시에 폴더 추가

* design: footer 디자인 추가

* docs: manifest.json description 추가

* hotfix: 익스텐션 design 변경

* fix: zip파일 제거

* [fix] refetch 검색 안되는 문제 해결 (#496)

* [FEAT] 픽 렌더링 카드에서 리스트 아이템으로 교체 (#501)

* feat: PickRenderModeState 구현

* feat: PickRecordListLayout 컴포넌트 구현

* feat: PickCard대신 PickRecord 렌더링으로 변경

* feat: usePickRenderModeStore 의존성 제거

* [DESIGN] 디자인 변경 (#500)

* [FEAT] 파비콘 추가 및 title 변경 (#503)

* [FEAT] PickRecord 컴포넌트 구현 및 pick 수정(태그, 타이틀)기능 구현 (#513)

* feat: PickRecord에서 PickListItem 분리

* refactor: TagPicker 크롬 익스텐션 코드 가져오기

* design: list item 줄어들 때, textoverflow 적용

* fix: li 내부에 li가 들어갈 수 없음

* refactor: pick 수정 api 변경

* feat: updatePickInfo 로직 구현

* feat: updatePickInfoStore 구현

* feat: 픽 제목 수정 기능 구현

* chore: 나중에 할 todo 등록

@todo: 현재 SearchWidget이 사용되는 페이지에 전체적으로 적용되고 있음.

* chore: @radix-ui/react-separator 설치

* refactor: PickRecord PickSearchRecord로 변경

* feat: PickRecord로 대체

* feat: tagStore 안쓰는 함수 삭제

* refactor: tag 관련 api 함수 호출 경로 수정

* design: 안보이는 색 변경

* feat: TagPicker CRUD 적용

* design: 디자인 변경

* [FEAT] 픽 휴지통 이동 및 휴지통에서 픽 삭제 구현, 픽 포커스 변경 (#515)

* feat: PickRecord에서 PickListItem 분리

* refactor: TagPicker 크롬 익스텐션 코드 가져오기

* design: list item 줄어들 때, textoverflow 적용

* fix: li 내부에 li가 들어갈 수 없음

* refactor: pick 수정 api 변경

* feat: updatePickInfo 로직 구현

* feat: updatePickInfoStore 구현

* feat: 픽 제목 수정 기능 구현

* chore: 나중에 할 todo 등록

@todo: 현재 SearchWidget이 사용되는 페이지에 전체적으로 적용되고 있음.

* chore: @radix-ui/react-separator 설치

* refactor: PickRecord PickSearchRecord로 변경

* feat: PickRecord로 대체

* feat: tagStore 안쓰는 함수 삭제

* refactor: tag 관련 api 함수 호출 경로 수정

* design: 안보이는 색 변경

* feat: TagPicker CRUD 적용

* design: 디자인 변경

* feat: deletePicks api 함수 구현

* design: TagPicker 화면 짤림 수정

* feat: 우클릭 휴지통 이동 및 삭제 구현

* feat: PickRecord로 렌더링 변경

* feat: 페이지 이동시, pick item 외부 클릭시 선택된 요소 초기화

* design: tag 생성이나 삭제 시에 TagAutocompleteDialog 위치 조정 (#520)

* [FIX] 두번 useEffect 호출 되는 거 방지 (#518)

* chore: 로그인 페이지 작업 (#508)

* [DESIGN] 디자인 작업 (#524)

* chore: 로그인 페이지 작업

* feat: 디자인 작업 반영

* fix: 미사용 import 제거

* fix: 서치 버그 해결

* [DESIGN] 배포전 PR (#529)

* design: tag 생성이나 삭제 시에 TagAutocompleteDialog 위치 조정

* feat: Gap 컴포넌트 변경

* design: PickRecord 이미지 영역 사이즈 변경

* design: 헤더 Image table 명명

* design: flex-shrink 적용

* chore: 코드 스타일 변경

* fix: TagPicker 컴포넌트 floating element style 변경

* design: TagRecord Input 디자인 변경

* design: font 모든 부분에 동일하게 적용

* refactor: moveFolderToRecycleBin refactoring

* design: 디자인 변경

* design:2차변경

* design: 버튼 color 추가

* feat: PickSearchRecord 추가

* feat: 링크 추가

---------

Co-authored-by: Jason <[email protected]>
Co-authored-by: Jason <[email protected]>
Co-authored-by: Minky <[email protected]>

* [FIX] 구현되지 않는 기능 �주석 처리 (#531)

* chore: 세팅중인 상태

* fix: vanilla-extract 설정 변경

* fix: storybook 실행 안되는 오류 해결

@chromatic-com/storybook이 문제였음.

* chore: storybook tset 확인

* chore: eslint 예외 추가

* chore: eslint, prettier 설정

* chore: DS_Store ignore

* chore: husky 테스트

* chore: husky 적용 중

* chore: husky 적용

* chore: 테스트용 컴포넌트 삭제

* chore: jest 적용

* chore: ts를 devDependencies로 이동

* chore: sample test 파일 삭제

* chore: add files to gitignore

* chore: vscode setting 추가

* chore: playwright example test code 삭제

* chore: e2e test github action 추가

* fix: action 오타 수정

* fix: 깃허브 액션 오타 수정

* chore: add corepack

* chore: 실행 순서 변경

* chore: browser 설치

* chore: playwright-report path 변경

* chore: �액션 if문 제거

* fix: 액션 탭 간격 변경

* chore: github action 테스트를 위한 싶패 테스트

* chore: 항상 report를 뽑을 수 있게 변경

* chore: github action 테스트를 위한 성공 테스트

* chore: vanilla-extract storybook 적용

* chore: 프로젝트 세팅을 위한 필요없는 파일 없애기

* chore: playwright yarn script 추가

* chore: react-hot-toast 적용

* feat: 깃허브 액션 테스트용 PR (#4)

* chore: 세팅중인 상태

* fix: vanilla-extract 설정 변경

* fix: storybook 실행 안되는 오류 해결

@chromatic-com/storybook이 문제였음.

* chore: storybook tset 확인

* chore: eslint 예외 추가

* chore: eslint, prettier 설정

* chore: DS_Store ignore

* chore: husky 테스트

* chore: husky 적용 중

* chore: husky 적용

* chore: 테스트용 컴포넌트 삭제

* chore: jest 적용

* chore: ts를 devDependencies로 이동

* chore: sample test 파일 삭제

* chore: add files to gitignore

* chore: vscode setting 추가

* chore: playwright example test code 삭제

* chore: github action 테스트를 위한 싶패 테스트

* chore: github action 테스트를 위한 성공 테스트

* chore: vanilla-extract storybook 적용

* chore: 프로젝트 세팅을 위한 필요없는 파일 없애기

* chore: playwright yarn script 추가

* chore: react-hot-toast 적용

---------

Co-authored-by: Jason <[email protected]>

* chore: 프로젝트 구조 세팅 (#11)

* chore: 필요없는 파일 제거

* fix: 파일명 오타 수정

* feat: 기본 디렉토리 추가

* chore: yarn set version berry (#12)

* chore: 깃허브 액션 변경

* feat: 모노레포 분리 (#28)

* chore: 서비스 디렉토리 이동

* chore: eslint 적용중

* fix: eslint 설정

* chore: extension 프로젝트 세팅 중 husky 충돌

* fix: pre-commit 동작 수정

* chore: backup

* chore: backup

* chore: backup2

* chore: setting

* chore: ignore 설정

* chore: husky 설치

* chore: monorepo로 변경된 뒤 액션 변경

* chore: husky 설치

---------

Co-authored-by: Jason <[email protected]>

* chore: 폴더명 변경에 따른 액션 변경

* chore: 폴더명 변경 (#37)

* Front/feat/#35 (#40)

* chore: 폴더명 변경
* build: 크롬 익스텐션 빌드 설정
* feat: css 파일 제거
* build: 파일 수정시마다 build되는 스크립트 추가
* chore: 의존성 설치
@tanstack/react-query, @vanilla-extract/css, react-router-dom, zustand
* feat: 디렉토리 생성
* feat: router 추가
* feat: react-query provider 설정
* feat: vanilla-extract 세팅

* feat: 현재 탭에서 데이터 가져오기 (#50)

* feat: 북마크 페이지 생성
* chore: 절대경로 수정
* build: build시에는 빌드를 한번하게 변경
* feat: 새로운 링크로 이동할 시 og image가져오는 동작 추
* feat: tab 열 때 마다 og image 가져오기
* refactor: 쓰지 않는 코드 제거
* chore: 주석 제거
* feat: 파비콘 가져오기
* feat: 서비스워커를 이용해서 동작하는 것으로 변경
* refactor: useGetTabInfo hook으로 분리
* refactor: background.ts 제거
* feat: og:description 가져오기
* chore: 쓰지 않는 상수 제거

* feat: 페이지 기본 요소 렌더링 (#52)

* chore: init

* design: theme 설정

* design: dirView 구조 정의

* chore: downgrade version - yarn 4.3.1 / typescript 5.5.4

* feat: react-arborist 적용 및 테스트 완료

* feat: 디렉토리 구성 및 아이콘 추가

* chore: use-resize-observer 라이브러리 추가

* design: tree 높이 동적 조절되도록 수정

* feat: 우측 view에 folder 및 link 표시

* chore: 컴포넌트 분리

* chore: 불필요한 주석 제거

* chore: 4.3.1 cjs 추가

* refactor: pr 수정요청사항 적용

* chore: import 수정

* chore: index.ts 추가

* chore: index.ts 추가

* chore: conflict 해결

* refactor: barrel exports pattern 적용

* refactor: icon export 처리

* refactor: directoryNode export 처리

* refactor: icon 이동

* refactor: icon을 public으로 이동

* chore: 불필요한 index 제거

* chore: 이름 변경

* chore: 이름 변경

* chore: 이름 변경

* chore: 이름 변경

* chore: 이름 변경

* [FEAT] 익스텐션 태그 인풋 핵심 로직 구현 (#126)

* feat: 북마크 페이지 생성
* chore: 절대경로 수정
* build: build시에는 빌드를 한번하게 변경
* feat: 새로운 링크로 이동할 시 og image가져오는 동작 추가
* feat: tab 열 때 마다 og image 가져오기
* refactor: 쓰지 않는 코드 제거
* chore: 주석 제거
* feat: 파비콘 가져오기
* feat: 서비스워커를 이용해서 동작하는 것으로 변경
* refactor: useGetTabInfo hook으로 분리
* refactor: background.ts 제거
* feat: og:description 가져오기
* chore: 쓰지 않는 상수 제거
* feat: cmdk 적용
* feat: 현재 선택한 태그가 보이도록 변경
* feat: 비동기 호출 흉내내서 라벨 데이터 가져오기
* chore: immer 설치
* feat: tagStore CRUD 구현
* chore: lucide icon 설치
* feat: deselect button ui 추가
* feat: deselect 기능 추가
* feat: SelectedTag ui 개선
* chore: todo 주석 제거
* feat: 동일한 태그가 없을 때 생성 아이템 추가
* feat: 태그 생성 로직 구현
* chore: 폴더 변경
* feat: TagInfoPopover 간단한 UI 구현
* feat: tag update 기능 추가
* chore: tagStore 폴더 변경
* chore: @radix-ui/react-dialog 설치
* chore: showDeleteTagDialogButton 파일 변경
* feat: DeleteTagDialog 상태 관리 구현
* chore: 다음 작업에 할 Todo 내용 추가
* feat: DeleteTag 관련 컴포넌트 구현
* chore: Command.Dialog css 변경
* refactor: useEffect내 함수 기명함수로 변경
* refactor: 분리되어있던 컴포넌트 SelectedTagItem폴더로 이동
* chore: components 에서 ui로 폴더명 변경
* refactor: TagInput컴포넌트에서 TagSelectionDialog컴포넌트 분리
* refactor: TagInput에서 TagPicker로 컴포넌트명 변경
* refactor: TagAutocompleteDialog로 컴포넌트명 변경
* refactor: TagPicker css명 변경
* refactor: css classname 변경
* refactor: 분리되어있던 css 합치기
* refactor: onSelectTag함수로 반복되는 함수 호출 합침
* refactor: 문자열 상수로 변경
* chore: 주석 추가
* feat: enter키 입력시 popover 켜지게 변경
* refactor: PopoverTriggerButton으로 분리
* chore: 사용하지 않는 index.ts 제거
* chore: 폴더명 components에서 ui로 변경
* chore: 폴더명 변경
* chore: tsbuildinfo update
* chore: 폴더 위치 이동
* chore: 폴더 이동
* chore: git pull frontend
* chore: todo 주석 추가

* [FEAT] Drag&Drop 구현: Directory (#117)

* test: mockdata 동적 생성

* chore: react-dnd, react-dnd-html5-backend 추가

* feat: dragDropManager 적용

* feat: dragDropManager 적용

* feat: Drag&Drop 시 mockData도 변경되도록 수정

* feat: treeData를 전역 상태로 관리

* design: LinkEditorSection 렌더링 요소 변경

* design: hover 시 음영 추가

* refactor: type 변경

* feat: 현재 위치에 폴더가 없으면 표시하지 않도록 변경

* fix: 아래로 이동 시 한칸씩 밀리는 버그 수정

* feat: FolderSection에 dnd 적용

* feat: LinkEditorSection 에서 DirectoryTreeSection 으로 Folder Drag and Drop 가능

* fix: DirectorySection에서 동일 부모의 자식 간 순서 변경 시 폴더를 아래쪽으로 이동할 경우 두칸씩 움직이는 문제 해결

* feat: DirectorySection에서 Folder를 이동 시 폴더 사라지는 로직 추가

* feat: LinkEditorSection에서 Pick Dnd 가능

* refactor: 중복 코드 hook으로 분리

* refactor: 이름 변경

* refactor: 이름 변경

* design: Lucid Icon 적용

* refactor: 중복 코드 제거

* chore: marged branch frontend

* chore: yarn cache clean and re-installed

* [FEAT] 우측으로 dnd 작업 가능 (#145)

* design: theme 변경시 icon 색상도 변경되도록 수정

* feat: LinkEditorSection 상단에 Directory Name 동적 변화

* design: 선택된 항목 강조 표시

* fix: DirectorySection 내부에서 dnd 작업 시 우측에도 반영되도록 수정

* fix: DirectorySection 내부에서 dnd 작업 시 우측에도 반영되도록 수정: 순서 변경 적용

* fix: DirectorySection 내부에서 dnd 작업 시 우측에도 반영되도록 수정: 순서 변경 적용

* fix: 순서 변경 시 인덱스 오차 수정

* feat: 폴더 클릭 시 해당 폴더로 이동

* fix: 내부에 요소가 없으면 빈 화면 표시

* feat: 좌측->우측 dnd 가능

* fix: 최초 로드 시 treeApi를 받아오지 못하는 문제 해결

* �[FEAT] .env 파일 설정 및 서버와 연결 확인 (#158)

* feat: 환경변수로 도메인 저장
* feat: 간단한 login 페이지 생성 및 .env파일 세팅

* �[FEAT] 크롬 익스텐션 로그인 링크 페이지 구현 (#167)

* build: dev 모드, production 모드에 따라 환경변수 주입
* build: build시에 manifest.json에 환경변수 주입
* fix: mode에 따른 환경변수 주입
* fix: script 오타 수정
* chore: ky 종속성 설치
* feat: ky를 이용한 baseApi 생성
* feat: 로그인 여부 파악 후 페이지 렌더링
* chore: tsbuildinfo 삭제
* chore: 주석 제거
* feat: Text 컴포넌트 구현
* feat: Button 컴포넌트 구현
* feat: 로그인 링크 페이지 구현
* feat: 상수로 적용
* fix: 상수대신 .env 직접 적용
- 해당 코드에서 에러가 생겨서 추후 수정할 예정
* chore: 주석 추가

* [FEAT] Swagger의 api-doc을 이용한 type 생성 (#177)

* feat: type 생성
* chore: root의 ts version 원상 복구

* [CI] 프론트엔드 서버 배포 스크립트 (#202)

* :rocket: 프론트 서버 배포 설정

* :rocket: 프론트 브랜치와 연결

* :rocket: docker image 빌드 전 환경변수 생성(for next build)

* build: 필요하지 않은 github action script 제거

* fix: cd script 원상 복구

---------

Co-authored-by: dmdgpdi <[email protected]>

* [FEAT] 북마크 생성 페이지 디자인 및 태그 API 연결, (#210)

* chore: 북마크 페이지 폴더 내로 이동

* feat: 북마크 페이지 기초적인 레이아웃 설정

* refactor: BookmarkHeader 컴포넌트 분리

* feat: Gap 컴포넌트 구현

* feat: Gap 컴포넌트 default값 변경

* feat: 북마크 페이지 style 분리

* feat: ogImage 가져오기

* feat: ThumbnailImage 컴포넌트 구현

* feat: 이미지 로딩 시 애니메이션 적용

* chore: 주석 제거

* refactor: ThumbnailImage 컴포넌트 수정

* feat: input tag css 적용

* feat: TagPicker tab 및 focus 애니메이션 적용

* refactor: onKeyDown 함수 뺴기

* chore: 인풋 값 확인

* feat: 위, 아래 화살표에 따라 focus를 변경하는 hook 생성

* feat: 화살표따라 탭 포커스 이동 적용

* feat: props에 따라 고정된 속성 제공

* chore: SelectedTagListLayout 폴더 이동

* feat: 공통 스타일 적용

* feat: SelectedTagList의 스타일 추가

* chore: 간단한 색 변경

* chore: 필요없는 data-desc 제거

* feat: 팝오버 버튼 tab 이동 막기, 엔터 키 제거

* chore: style 변경

* feat: 태그픽커 및 다이얼로그에 style 적용

* feat: radix-ui popover 를 floating-ui로 대체

* feat: 팝오버 버튼 디자인 구현

* feat: 태그 삭제 모달 디자인 추가

* feat: tag 목록이 길 때 스타일 변경

* �chore: 스크롤바 제거 globalStyle에 적용

* feat: 선택한 라벨 높이에 따라 commandListHeight 변경

* chore: css 제거

* feat: CommandList 로딩 화면 추가

* chore: randomcolor 라이브러리 설치

* chore: pre-commit command 수정

* fix: pre-commit command 수정

* feat: numberColor 함수 구현 및 태그 생성시 적용

* feat: randomColor style 적용

* chore: type 생성

* fix: 태그 다이얼로그에서 공백 입력시 아무것도 뜨지 않게 변경

* chore: schema를 위한 절대 경로 추가

* feat: 실제 서버의 타입으로 변경

* fix: 태그 리스트가 없을 때, Command.Empty가 보이게 조건문 변경

* fix: �적용되지 않는 함수 제거

* feat: 태그 생성 api 연결

* refactor: 태그 선택 취소 시에 id값만 이용

* feat: delete tag api 연결

* feat: updateTag api 연결

* chore: schema 타입 최신화

* fix: tagName 수정 후 enter key 입력시 모달창 생기는 버그 수정

* feat: 사용하지 않는 CurrentTabInfo 컴포넌트 삭제

* refactor: useGetTabInfo 폴더 이동

* refactor: api 적용을 위해 default value 변경

* fear: create pick api 연결

* chore: react hot toast 라이브러리 설치

* chore: 사용하지 않는 SAMPLE_DATA 제거

* feat: toast 라이브러리 적용

* feat: ApiErrorBody type 선언

* chore: todo 제거

* feat: post api 통신 에러 핸들링 추가

* feat: deleteTag optimistic update 추가

* feat: update tag optimistic update 추가

* refactor: useCalculateCommandListHeight hook으로 분리

* refactor: onSelectCreatableTag 함수 분리

* chore: 쓰지 않는 return 제거

* feat: enter key로 태그 삭제 및 취소 가능

* feat: 간단한 에러 페이지 생성

* feat: 에러 핸들링 추가

* [FEAT] sanitizeHtml에서 DOMPurify로 교체 (#213)

* fix: 런타임 에러 해결(잘못된 변수 접근) (#215)

* [FEAT] 크롬 익스텐션 픽 수정 기능 구현 (#229)

* chore: schema 최신화
* feat: getLinkByUrl api 추가
* feat: useHasLink hook 구현
* chore: API 변경에 따른 type 최신화
* feat: CreatePickForm, UpdatePickForm 분리
* feat: chore: Pick API 변경에 따른 type 최신화
* feat: link api 삭제
* feat: getPickByUrl api 추가
* feat: useHasPick 변경
* chore: ThumbnailImage backgroundColor 변경
* feat: updateForm 구현
* feat: 로딩 상태 시의 Skeleton 구현
* feat: DeferredComponent 구현
* feat: 로딩화면 구현
* chore: 주석 제거

* [FEAT] Backend api 연결 및 ux 미세조정 (#227)

* design: flex wrap 설정

* design: flex wrap 이중 줄바꿈 문제 수정

* feat: 우클릭 시 context menu 표시

* chore: 주석 제거

* chore: alt 이름 변경

* feat: treeRef 추가

* feat: mockData create 가능

* feat: api 연동: create&move

* feat: api 연동: dnd move 동작 확인

* refactor: 핸들러 함수 hook으로 분리

* feat: edit ux 추가 및 arborist node outline 제거

* feat: folder rename 연결 완료

* feat: folder delete(move to recyclebin) 연결 완료

* feat: create 로직 수정

* feat: 초기 로드 시 recycleBin 생성(향후 수정 예정)

* feat: Tree 컴포넌트 추가 전 커밋

* chore: popover Demo 추가

* design: 버튼 및 팝오버 디자인 수정

* feat: 휴지통 붙임:수정예정

* feat: 휴지통 숨김 설정

* design: 전체적인 디자인 미세 조정

* feat: 로그아웃 버튼 추가 및 디렉토리 조정

* feat: client 로그인 검증로직 추가

* design: 로그인 페이지 디자인 추가

* refactor: 폴더 create 로직 수정

* refactor: 폴더 create 로직 수정2

* refactor: 필요없어진 popover제거

* fix: 중첩 폴더 구조에서 폴더 생성 불가한 문제 해결

* design: 에러 토스트 메시지 추가

* refactor: 삭제 로직 수정(id 부여 방식)

* feat: 휴지통에서 폴더 완전삭제 가능

* [FEAT] 익스텐션 테마 적용 (#241)

* feat: theme을 techpick-shared 모노레포로 분리
* feat: theme 적용
* design: 익스텐션 테마 적용
* fix: peerDependencies제거
* design: techpick의 theme을 techpick-shared에 의존하게 변경
* feat: techpick reset.css 수정
* feat: git pull 이후 필요없는 파일 삭제
* feat: theme 동기화

* [FEAT] 카드 컴포넌트 디자인 구현 (#246)

* fix: ky middleware credentials속성 올바르게 적용

* feat: teckpick-service와 동일하게 id 변경

* feat: techpick-shared의 export 추가

* feat: images모든 url을 허용 및 next.config.mjs제거

* chore: 의존성 설치

* chore: @/schema 절대 경로 추가

* chore: portalContainer id 변경

* feat: pickCard 컴포넌트 디자인 및 레이아웃 구현

* feat: TagPicker 컴포넌트 복사

* [FEAT] 버그 수정, 휴지통 복원, context menu, pr 요청사항 적용 (#247)

* fix: 한글 입력시 폴더 두번 생성되는 문제 해결

* fix: 생성중인 폴더가 있을 때, 폴더 추가생성 방지로직 추가

* refactor: 폴더 위치 변경 및 Input 테마 적용

* fix: 노드 클릭 시 2개의 트리 중 한 노드만 focus되도록 수정

* refactor: 프로젝트 디렉토리 및 파일 구조 수정

* refactor: 프로젝트 디렉토리 및 파일 구조 수정2

* feat: recycleBin에서 contextmenu 사용 가능

* feat: recycleBin에서 restore 가능

* refactor: 이전 코드리뷰 comment 반영

* fix: 폴더 생성시 input이 사라지는 문제 수정

* fix: 폴더 삭제 시 우측 화면 업데이트 안되는 문제 수정

* fix: DirectorySection ui 틀어짐 수정

* feat: 휴지통 내부 dnd 가능

* fix: 좌측 디렉토리 절반만 표시되는 문제 수정

* fix: 간격 수정

* fix: 휴지통 dnd 비활성화

* fix: 생성 또는 이름변경 실패 이후 + 버튼클릭 안되는 버그 수정

* feat: 우측 folder contextMenu 이용가능
*버그 수정 필요(recycleBin menu 출력되는 문제)*

* fix: 우측 contextMenu 버그 수정

* fix: 우측 context 수정중

* chore:충돌 방지용 git pull

* [CI] 도커 이미지 build 관련 버그 수정 (#252)

* build: Dockerfile yarn berry 적용 및 필요한 파일 추가
* chore: 주석 변경

* fix: tag 생성 연속 입력 문제 해결 (#257)

* [FIX] 로그인된 상태일 때 메인 페이지로 리다이렉트 (#260)

* [FEAT] unclassified 표시 가능 (#261)

* feat: unclassifiedPicks api 호출 코드 추가

* feat: unclassified 표시됨

* [FEAT] PickCard API 연결 (#266)

* chore: 주석 추가

* feat: PickCard 이미지 스타일 수정

* chore: 쓰지 않는 apis 폴더 삭제

* refactor: 중복된 api middleware 제거

* fix: ky middleware content-type 추가

* feat: getPick api 연결

* design: 디자인 변경

* chore: import 순서 변경

* feat: updatePick api 연결

* feat: selected Tag 태그 삭제시 상태 변경

* chore: 주석제거

---------

Co-authored-by: Jason <[email protected]>

* feat: skelton 적용 (#268)

* feat: skelton 적용

* feat: link 추가 및 tagPicker 동작 수정

* [FIX] 태그 생성 후 창 유지후에 수정 했을 때, 생성한게 추가가 안되는 로직 (#270)

* [FEAT] pick dnd (#272)

* feat: nodeApi로 변환 로직 추가

* fix: 임시 디바운싱 적용

* fix: api 교체

* fix: 간헐적으로 unclassified 안보이는 문제 수정

* feat: pick 휴지통, 복원, 삭제 api 연결완료

* fix: 이름 길어지면 ...으로 표시

* fix: 가상 미분류 폴더 렌더링 방지 처리

* fix: 버그유발 기능 비활성화

* fix: fix

* fix: fix2

* [REFACTOR] 폴더구조 변경 (#308)

* refactor: shared 폴더 제거

* refactor: entities/pick 폴더 제거

* refactor: entities/tag 제거

* refactor: features/tag 제거

* refactor: features/userManagement 제거

* refactor: features/themeManagement 제거

* refactor: features/nodeManagement 제거

* refactor: widgets 제거

* [REFACTOR] import 순서 변경 (#311)

* chore: eslint import 순서 정리
* reafactor: import 순서 변경

* feat: 디자인 토큰 추가

* feat: 디자인 토큰 적용

* feat: �commontThemeContract 삭제

* fix: ThemeProvider 변경사항 적용

* fix: 위치 조정

* [FEAT] 디자인 토큰 추가

* [FEAT] 같은 계층일 때, 폴더 multi select 구현 (#332)

* chore: dnd-kit 설치 및 tree 페이지 생성

* feat: jest 설정추가

* fix: jest monorepo별 적용

* chore: root jest config 삭제

* feat: 같은 부모 밑에서 1개씩 폴더 이동

* design: tree page margin 변경

* test: 복수의 폴더 이동 테스트코트 작성

* feat: 현재 드래그 여부 상태 zustand에 추가

* feat: 폴더 다중 선택 기능 추가

* feat: DragOverlay추가

* design: primary color로 변경

* fix: test문 it.only 제거

* refactor: dndTreeStore에 hasIndex 적용

* [FEAT] 검색창 및 리스트 로직 설계 (#333)

* feat: 검색 위젯 로직 구현

* feat: 유틸리티 클래스 구현 (파싱, 필터링)

* doc: 유틸리티 참고 이미지 및 설명

* feat: zustand, react query 추가

* feat: 뷰포트 리액트 컴포넌트

* refactor: esToolkit import

* refactor: useViewScope 변경

* refactor: useQuery 함수명 파일명 변경

* refactor: useQuery 함수명 파일명 변경

* refactor: Util 함수 리팩토링

* [FEAT] 픽 리스트 - 사용자 설정 필터 & 뷰 템플릿 (#348)

* feat: 검색 위젯 로직 구현

* feat: 유틸리티 클래스 구현 (파싱, 필터링)

* doc: 유틸리티 참고 이미지 및 설명

* feat: zustand, react query 추가

* feat: 뷰포트 리액트 컴포넌트

* refactor: esToolkit import

* refactor: useViewScope 변경

* refactor: useQuery 함수명 파일명 변경

* refactor: useQuery 함수명 파일명 변경

* refactor: Util 함수 리팩토링

* chore: 파일 제거 및 위치 이동

* chore: use-Immer 패키지 추가

* feat: 유틸리티 (Stream, Tokenizer) 리팩토링 및 개선

* chore: 공통 타입 추가 및 일부 변경

* feat: 태그 아이템 UI 컴포넌트 (익스텐션에서 가져옴)

* feat: 최상단 컴포넌트 (뷰어) 및 상태 구현

* test: 쿼리 더미 데이터 추가

* feat: 옵션 리스트 위젯 및 상태 구현

* feat: 검색창 위젯 구현

* feat: 필터 옵션 기능 구현

* feat: 뷰 템플릿 (리스트 vs 그리드) 옵션 구현

* chore: 디렉토리 이름 변경, 기존 폴더 제거

* chore: dummy data 업데이트

* :recycle: refactor: 코드 리뷰 기반으로 리팩토링 진행

* [REFACTOR] Drag & Drop 함수 및 컴포넌트 분리  (#351)

* test: moveFolder test code 삭제

* feat: mockdata 변경에 따른 로직 변경

* refactor: 중앙 스토어에서 로직 분리

* design: treePageWrapper css 변경

* feat: shift + click시에 active가 부모 폴더가 다르면 초기화

* feat: 다른 폴더간 이동 구현

* chore: 테스트코드 예제 삭제

* refactor: reorderFolderInSameParent 함수명 수정

* refactor: SelectedFolderListType으로 대체

* refactor: handleClick 함수 분리

* chore: tree 컴포넌트를 components 폴더로 이동

* [FEAT] 공통 테마에 jsdoc 추가 (#354)

* [FIX] drag & drop 후 정렬 변경 (#360)

* fix: drag & drop 후 정렬 변경

* refactor: isSameParentFolder parameter 변경(동일한 값)

* [FEAT] 폴더 생성 UI 및 상태 관리 로직 변경 (#365)

* design: 작업 전 디자인 변경

* design: CreateFolderInput 디자인 추가

* feat: 폴더 생성 UI 구현

* design: FolderTree 전체적인 레이아웃 변경

* design: 폴더 트리 디자인 개선

* feat: CreateFolderInput 생성시 focus 이동

* design: createFolderInputLayout 디자인 변경

* [FEAT] 폴더 이름 변경 UI 및 로직 구현 (#367)

* feat: CreateFolderInput, FolderInput 컴포넌트로 추출

* design: 공통 테마 사이즈 추가

* chore: PORTAL_CONTAINER_ID 상수로 변경

* feat: 폴더 이름 변경 UI 및 로직 연결

* feat: 우클릭시에 포커스되는 폴더 변경

* [FEAT]: 삭제 UI 및 로직 추가 (#369)

* [CI/CD] nextjs docker image 사이즈 감소 (#380)

* [FEAT] Folder API 연결 (#399)

* chore: api 변경에 따른 스키마 업데이트

* feat: 폴더 관련 api 타입 지정

* refactor: api 변경에 따른 타입 변환

* feat: top level error 추가

* feat: folder crud api 추가

* chore: api 변경에 따른 타입 변경

* feat: 폴더 드래그 앤 드랍 api 연결

* feat: 폴더 이름 변경 api 연결

* feat: 휴지통 이동 api 연결

* refactor: -1 매직넘버 상수로 변경

* chore: mockdata 삭제

* chore: re-resizable 의존성 설치

* faet: FolderTree 크기 조정 가능하게 변경

* chore: api 변경에 따른 타입 최신화

* feat: createFolder api 연결

* refactor: getFolders, getBasicFolders 로 함수명 변경

* reafactor: getRootFolderList로 변경

* [FEAT] 폴더 클릭에 따른 라우팅 변경 (#405)

* feat: 라우팅 설정 변경

* chore: root 폴더에서 tsc 동작시 build된 파일 생성 차단

* chore: legacy 삭제

* feat: 폴더 클릭시마다 라우팅 이동

* feat: useTreeStore subscribeWithSelector 적용

* refactor: FolderInfoItem 컴포넌트 분리

* feat: url을 이용해 folder 선택하게 변경

* feat: route 경로 추가

* feat: middleware redirect url 변경

* feat: 휴지통 및 미분류 폴더 추가

* design: 최초 로딩시에 사이드바 사이즈 지정

* design: 사이드바 디자인 조정

* chore: 쓰지 않는 props 제거

* refactor: useEffect 함수명 추가

* [FEAT] 검색 위젯 기능 구현 및 미사용 필터 제거 (#410)

* chore: 중간 작업 공유

* chore: 타입 변경 및 기존 SearchWidget.tsx 리팩토링

* chore: 타입 변경 및 기존 SearchWidget.tsx 리팩토링

* feat: 기존 로직에서 미사용하는 필터 제거

* feat: dndTreeStore 병합 작업

* [FEAT] 검색창 자동 완성 (#418)

* refactor: PrefixTokenizer 구현 수정

* refactor: PrefixTokenizer 구현 수정

* feat: 검색 위젯 토큰화 구현

* chore: 화면 테스트를 위한 뷰어 패널 코드 수정 (반영 안될 수 있는 커밋)

* feat: 토큰 검색창 CSS 설정

* chore: 일부 주석 추가 및 코드 위치 변경

* chore: yarn.lock 파일 커밋

* [FEAT] 같은 폴더 내에서 Pick Drag&Drop 구현 (#420)

* chore: 백엔드 api 타입 최신화

* chore: util 스펠링 정확하게 변경

* feat: pickType 추가

* feat: getPicksByFolderId 추가

* refactor: viewTemplate 코드 변경

* refactor: 바로 호출이 아닌, useEffect 내에서 비동기함수 호출

* chore: git pull을 위한 커밋

* refactor: pickCardListViewer로 PickCard 컴포넌트 이동

* design: card link style 변경

* feat: 더블 클릭시 링크 이동

* feat: dnd가 가능한 list와 그렇지 않은 list분리

* refactor: dnd여부에 따라 PickListViewer분리

* refactor: DnDCurrentType을 dnd.type으로 이동

* refactor: 공통 utils함수로 추출

* feat: 픽에서 픽으로 이동(api 미연결)

* feat: pick multi-select 구현

* feat: multi-select drag&drop 구현(api 미연결)

* feat: 같은 폴더 내 픽 drag&drop api 연결

* [FIX] 깃허브 액션 API 테스트

* [FIX] 검색창 버그 수정 및 URL 업데이트 (#424)

* :rotating_light: fix: useSearchParams 사용처에 <Suspence> 추가

* [DESIGN] 폴더 영역 디자인 개선 (#430)

* [FEAT] 픽을 폴더로 이동하는 기능 추가 (#432)

* refactor: draggable type에 따라 검증 함수 분리

* chore: store barrel export 추가

* feat: pick to folder를 위한 dnd context 생성

* fix: dnd context 변경에 따른 로직 변경

* refactor: 컴포넌트명 변경

* refactor: useGetDndContextSensor로 로직 분리

* fix: 로직에 따라 pickId 문자열 대신 정수로 수정

* feat: PickDraggableObjectType에 부모 폴더 id 추가

* feat: 드래깅하는 카드 정보 store에 추가

* feat: pick to pick 시 overlay 카드 생성

* feat: folder drag시 folder overlay 보이도록 변경

* design: 카드 드래그 시 크기 줄이기

* feat: pick to folder drag over시 폴더 색상 변경

* refactor: movePicksToEqualFolder로 함수명 변경

* feat: 휴지통 및 미분류로 픽 이동 감지

* feat: 다른 폴더로 픽 이동 로직 추가

* feat: 폴더 디테일 페이지 뷰 연결

* feat: �휴지통 페이지 카드 렌더링

* [FIX] DragOver 수정 및 휴지통 이동 로직 변경 (#441)

* fix: DragOver 개선

* refactor: 백엔드 API 변경에 따른 휴지통 이동 로직 변경

* [FIX] 현재 포커스된 폴더 삭제 시에 미분류 페이지로 리다이렉트 (#446)

* fix: 현재 포커스된 폴더 삭제 시에 미분류 페이지로 리다이렉트

* design: 드래그시 outline 제거

* [FEAT] 로그인 리다이렉트 URL 추가 (#450)

* chore: sample 대신 관용적으로 사용되는 example로 변경

* feat: 로그인 redirect url 추가

* ci/cd: github Actions secrets 추가 및 적용

* [REFACTOR] 익스텐션 폴더 구조 변경 및 API 최신화 (#458)

* feat: 익스텐션 로그인 페이지 디자인 변경

* chore: 백엔드 타입 최신화

* chore: 백엔드 타입 최신화

* refactor: type은 types폴더로 이동

* chore: 백엔드 타입 최신화

* refactor: api 호출 함수 변경

* refactor: api url 상수로 관리

* feat: barrel export에서 값과 함수 제거

* refactor: 도메인 의존성 없는 컴포넌트 lib폴더로 이동

* refactor: toast 관련 함수 lib 폴더로 이동

* refactor: store는 store폴더로 이동

* chore: 사용하지 않는 타입 제거

* refactor: util함수 util 폴더로 이동

* refactor: 페이지 폴더 제거

* refactor: 컴포넌트는 컴포넌트 폴더로 이동

* fix: returnErrorFromHTTPError에 await 문구 추가

* chore: 백엔드 api 변경에 따른 타입 변경

* [FIX] 로그인 이후 뒤로가기 시 로그인 화면으로 이동하지 못하게 수정 (#453)

* [fix] 픽 검색 API 페이지네이션 적용 (#460)

* chore: 무한스크롤 라이브러리 추가

* chore: 무한스크롤 라이브러리 추가

* feat: 무한 스크롤 구현

* chore: pick 조회 스토어 함수 수정

* chore: 불필요한 코드 수정

* [FEAT] radix-color 추가 (#462)

* feat: radix-color 추가

* chore: radix-color 추가 변경사항 적용

* chore: route 변수 수정

* feat:  breadcrumb 적용

* chore: 기타 스타일링

* chore: 입력창 스타일링

* feat: 무한 스크롤 다듬기 작업

* feat: 검색창 변수 수정

* [DESIGN] 검색 바 디자인 개선 (#463)

* chore: route 변수 수정

* feat:  breadcrumb 적용

* chore: 기타 스타일링

* chore: 입력창 스타일링

* feat: 무한 스크롤 다듬기 작업

* feat: 검색창 변수 수정

* fix: useSearchParams는 suspense로 반드시 감싸야 한다.

* refactor: ApiFolderErrorCode 오타 수정 (#468)

* [FEAT] 메모 제거, 폴더 선택 추가(API 미연결), 우클릭시 사이트 이동 (#473)

* feat: 익스텐션 아이콘 추가

* feat: 로그인 로고 변경

* feat: 북마크 페이지 아이콘 변경 및 링크로 이동

* chore: 오타 수정

* feat: theme 추가

* feat: 메모 제거

* feat: 로그인 페이지 삭제

* chore: radix select 설치

* feat: 폴더 선택 select 간단한 컴포넌트 구현

* feat: createPick시에 폴더 선택 기능 구현

* feat: update시에도 폴더 선택 기능 추가(api 미연결)

* feat: 크롬 익스텐션 우클릭시에 서비스 링크로 이동

* feat: 로딩 화면 추가

* [REFACTOR] 픽 리팩토링, 검색 테스트 구현 (#474)

* refactor: FolderType label 수정

* refactor: 파라미터 idList -> pickIdList 명시적으로 변경

* refactor: folder 내부에 있는 pick_order 리스트에 pickId가 중복 생성되는 문제 해결

* refactor: root folder 검색 못하도록 예외 처리

* refactor: pick controller 메서드명 수정

* refactor: DB fleid 함수를 이용하여 정렬된 픽 리스트 조회할 수 있는 메서드 구현

* refactor: 픽 검색 시 폴더 리스트가 null인 경우 검증하지 않도록 변경, tag 검증 추가

* refactor: 테스트 코드 작성

* refactor: 테스트 코드 ParameterizedTest로 리팩토링 (#476)

* [DESIGN] 익스텐션 디자인 변경 (#479)

* chore: title 설정

* chore: 아이콘 변경 및 안쓰는 아이콘 제거

* feat: radix-ui 의존성 설치

* design: 테마 추가

* design: globalStyle a tag 제거

* design: TagPicker 디자인 변경

* refactor: numberToRandomColor 변경

* design: folder select 디자인 변경

* design: TagPicker placeholder 추가

* design: ThumbnailImage css 변경

* design: CreatePickForm 변경

* feat: BookmarkHeader 제거

* feat: useCalculateCommandListHeight 삭제

* design: 업데이트 및 로딩 화면 디자인 변경 적용

* design: 로딩 화면 변경 적용

* refactor: loginGuard 로직 변경

* feat: FolderSelect 화살표 이동 추가

* chore: 사용하지 않는 헤더 삭제

* [FIX] 픽 수정 리팩토링 및 검증로직 개선 (#477)

* refactor: 불필요한 초기값 제거

* fix: 엔티티를 list로 조회시 존재하지 않는 엔티티를 조회하려고 하면 NOT_FOUND 예외 발생

* fix: pick update시 부모폴더 id도 변경 가능하도록 수정, 누락된 검증 로직 추가

* fix: 기능 변경에 의한 테스트 코드 수정

* fix: idList로 폴더 조회시 존재하지 않는 폴더id로 조회하면 예외 발생

* refactor: 파라미터명 명확하게 수정 idList -> folderIdList

* [FEAT] error 메세지 전송 및 폰트 적용방식 변경 (#482)

* feat: 에러 메세지 명세

* feat: error 메세지 명세

* feat: 폰트 적용 방식 변경

* chore: react-router-dom 버전 변경

v7 점진적으로 도입하는 버전이라 warning log가 떠서 변경

* feat: 폴더 응답에 생성 수정 일자 추가 (#485)

* [�FEAT] 익스텐션 배포 전, 수정 (#489)

* fix: 디자인 변경

* chore: 익스텐션에서 사용하지 않는 의존성 제거

* fix: 휴지통 보이지 않게 하기

* feat: 서버 에러시 toast 알림

* feat: 정상 동작 시 창닫기

* feat: error message 추가

* feat: 폴더 최신순 정렬

* design: 색 추가 및 적용

* design: 인풋 디자인 변경

* feat: font 재적용

* fix: http로 시작하지않으면 저장 안되게 수정

* fix: update시에 폴더 추가

* design: footer 디자인 추가

* docs: manifest.json description 추가

* hotfix: 익스텐션 design 변경

* fix: zip파일 제거

* [FEAT] 에러 요청에 대한 로깅 구현 (#481)

* feat: error request logging 구현

* feat: 기존 예외처리 로직에 요청 로깅 추가

* chore: 주석 추가

* fix: 로깅 방식 변경 - application.log에 sql 로깅 제외

* fix: 누락된 로깅 로직 추가

* [fix] refetch 검색 안되는 문제 해결 (#496)

* [FEAT] 픽 렌더링 카드에서 리스트 아이템으로 교체 (#501)

* feat: PickRenderModeState 구현

* feat: PickRecordListLayout 컴포넌트 구현

* feat: PickCard대신 PickRecord 렌더링으로 변경

* feat: usePickRenderModeStore 의존성 제거

* �[FEAT] 폴더 export 기능 구현 (#504)

* feat: 폴더 export 기능 구현

* feat: url 수정

* [DESIGN] 디자인 변경 (#500)

* [FEAT] 파비콘 추가 및 title 변경 (#503)

* [FEAT] 픽 제목 최대 길이 검증 및 Validation 검증 리팩토링 (#499)

* refactor: 픽 제목 최대 길이 제약조건 추가

* feat: 픽 제목 최대 길이 제약조건 예외, 예외 코드 추가

* refactor: bean validation 예외 상세하게 반환하도록 수정

* refactor: tag 이동 시 리스트 길이보다 큰 인덱스로 이동 시 IndexOutOfBoundsException 발생하는 문제 해결

* fix: title이 null일 때 터지는 오류 해결

* fix: && 문법 오류 수정

* [BUG] 픽 태그 삭제 버그, 픽 수정 버그 수정 (#509)

* refactor: 픽에 사용되었던 유저 태그 삭제 시 500에러 해결

* refactor: pick unique index title 제거

* refactor: 픽을 휴지통으로 이동 시 폴더 내에 있는 픽 리스트 제거 및 가독성을 위해 로직 공통 처리

* refactor: 불필요한 메서드 제거 및 메서드명 변경

* refactor: 운영 환경에서 스웨거 접근 못하도록 하는 설정 추가

* refactor: 폴더 삭제 시 픽들이 휴지통으로 이동될 때 부모 폴더의 픽 리스트 수정이 필요하지 않음.

* refactor: 미분류, 휴지통 폴더에 폴더 생성하지 못하도록 변경, 에러 메세지 변경

* refactor: 메서드명 수정

* refactor: 픽 생성 시 타이틀이 없으면 터지는 예외 해결

* refactor: 데드락 문제 해결을 위해 트랜잭션 범위 최소화

* [FEAT] PickRecord 컴포넌트 구현 및 pick 수정(태그, 타이틀)기능 구현 (#513)

* feat: PickRecord에서 PickListItem 분리

* refactor: TagPicker 크롬 익스텐션 코드 가져오기

* design: list item 줄어들 때, textoverflow 적용

* fix: li 내부에 li가 들어갈 수 없음

* refactor: pick 수정 api 변경

* feat: updatePickInfo 로직 구현

* feat: updatePickInfoStore 구현

* feat: 픽 제목 수정 기능 구현

* chore: 나중에 할 todo 등록

@todo: 현재 SearchWidget이 사용되는 페이지에 전체적으로 적용되고 있음.

* chore: @radix-ui/react-separator 설치

* refactor: PickRecord PickSearchRecord로 변경

* feat: PickRecord로 대체

* feat: tagStore 안쓰는 함수 삭제

* refactor: tag 관련 api 함수 호출 경로 수정

* design: 안보이는 색 변경

* feat: TagPicker CRUD 적용

* design: 디자인 변경

* [BUG] 픽 태그 리스트 수정 시 데드락 문제 수정 (#514)

* refactor: 픽 생성 시 타이틀이 없으면 터지는 예외 해결

* refactor: 데드락 문제 해결을 위해 트랜잭션 범위 최소화

* hotfix: Pick 엔티티의 Link Lazy -> Eager

* [FEAT] 픽 휴지통 이동 및 휴지통에서 픽 삭제 구현, 픽 포커스 변경 (#515)

* feat: PickRecord에서 PickListItem 분리

* refactor: TagPicker 크롬 익스텐션 코드 가져오기

* design: list item 줄어들 때, textoverflow 적용

* fix: li 내부에 li가 들어갈 수 없음

* refactor: pick 수정 api 변경

* feat: updatePickInfo 로직 구현

* feat: updatePickInfoStore 구현

* feat: 픽 제목 수정 기능 구현

* chore: 나중에 할 todo 등록

@todo: 현재 SearchWidget이 사용되는 페이지에 전체적으로 적용되고 있음.

* chore: @radix-ui/react-separator 설치

* refactor: PickRecord PickSearchRecord로 변경

* feat: PickRecord로 대체

* feat: tagStore 안쓰는 함수 삭제

* refactor: tag 관련 api 함수 호출 경로 수정

* design: 안보이는 색 변경

* feat: TagPicker CRUD 적용

* design: 디자인 변경

* feat: deletePicks api 함수 구현

* design: TagPicker 화면 짤림 수정

* feat: 우클릭 휴지통 이동 및 삭제 구현

* feat: PickRecord로 렌더링 변경

* feat: 페이지 이동시, pick item 외부 클릭시 선택된 요소 초기화

* refactor: PickTag에 낙관적 락 설정

* refactor: Spring retry 추가

* [REFACTOR] PickTag 테이블에 낙관적 락 설정 (#519)

* refactor: PickTag에 낙관적 락 설정

* refactor: Spring retry 추가

* refactor: 픽태그 삭제 부분 수정

* design: tag 생성이나 삭제 시에 TagAutocompleteDialog 위치 조정 (#520)

* [FIX] 두번 useEffect 호출 되는 거 방지 (#518)

* refactor: pick 수정하는 부분에 비관적 락 추가 (#521)

* chore: 로그인 페이지 작업 (#508)

* [FEAT] 크롬 북마크 Import 기능 구현 (#522)

* fix: access token, JSESSIONID 로깅 안하도록 수정, multipart file 캐싱 안하도록 수정

* fix: 입력값이 공백 또는 null일 경우 update하지 않음, 기본값을 빈스트링("")으로 설정

* feat: ogTag 업데이트 구현 및 필요한 의존성 추가

* feat: chrome 북마크 import를 위한 메소드 추가

* feat: chrome 북마크 import export 구현

* refactor: 주석 수정

* refactor: swagger 설정 수정

* refactor: link의 title과 description 필드 text타입으로 수정

* chore: 주석 typo 수정

* refactor: typo 수정

* [DESIGN] 디자인 작업 (#524)

* chore: 로그인 페이지 작업

* feat: 디자인 작업 반영

* fix: 미사용 import 제거

* fix: 서치 버그 해결

* feat: og 태그 데이터 가져오는 api 구현 (#525)

* refactor: 운영 서버에서 스웨거 접근 못하도록 변경 (#527)

* [DESIGN] 배포전 PR (#529)

* design: tag 생성이나 삭제 시에 TagAutocompleteDialog 위치 조정

* feat: Gap 컴포넌트 변경

* design: PickRecord 이미지 영역 사이즈 변경

* design: 헤더 Image table 명명

* design: flex-shrink 적용

* chore: 코드 스타일 변경

* fix: TagPicker 컴포넌트 floating element style 변경

* design: TagRecord Input 디자인 변경

* design: font 모든 부분에 동일하게 적용

* refactor: moveFolderToRecycleBin refactoring

* design: 디자인 변경

* design:2차변경

* design: 버튼 color 추가

* feat: PickSearchRecord 추가

* feat: 링크 추가

* fix: url 수정 및 구현안된 기능 숨기기

---------

Co-authored-by: Jason <[email protected]>
Co-authored-by: Jason <[email protected]>
Co-authored-by: Minky <[email protected]>
Co-authored-by: Pak Su Hyung <[email protected]>
Co-authored-by: Sangwon Yang <[email protected]>

* [FIX] 빌드 수정을 위한 PR (#532)

* chore: 세팅중인 상태

* fix: vanilla-extract 설정 변경

* fix: storybook 실행 안되는 오류 해결

@chromatic-com/storybook이 문제였음.

* chore: storybook tset 확인

* chore: eslint 예외 추가

* chore: eslint, prettier 설정

* chore: DS_Store ignore

* chore: husky 테스트

* chore: husky 적용 중

* chore: husky 적용

* chore: 테스트용 컴포넌트 삭제

* chore: jest 적용

* chore: ts를 devDependencies로 이동

* chore: sample test 파일 삭제

* chore: add files to gitignore

* chore: vscode setting 추가

* chore: playwright example test code 삭제

* chore: e2e test github action 추가

* fix: action 오타 수정

* fix: 깃허브 액션 오타 수정

* chore: add corepack

* chore: 실행 순서 변경

* chore: browser 설치

* chore: playwright-report path 변경

* chore: �액션 if문 제거

* fix: 액션 탭 간격 변경

* chore: github action 테스트를 위한 싶패 테스트

* chore: 항상 report를 뽑을 수 있게 변경

* chore: github action 테스트를 위한 성공 테스트

* chore: vanilla-extract storybook 적용

* chore: 프로젝트 세팅을 위한 필요없는 파일 없애기

* chore: playwright yarn script 추가

* chore: react-hot-toast 적용

* feat: 깃허브 액션 테스트용 PR (#4)

* chore: 세팅중인 상태

* fix: vanilla-extract 설정 변경

* fix: storybook 실행 안되는 오류 해결

@chromatic-com/storybook이 문제였음.

* chore: storybook tset 확인

* chore: eslint 예외 추가

* chore: eslint, prettier 설정

* chore: DS_Store ignore

* chore: husky 테스트

* chore: husky 적용 중

* chore: husky 적용

* chore: 테스트용 컴포넌트 삭제

* chore: jest 적용

* chore: ts를 devDependencies로 이동

* chore: sample test 파일 삭제

* chore: add files to gitignore

* chore: vscode setting 추가

* chore: playwright example test code 삭제

* chore: github action 테스트를 위한 싶패 테스트

* chore: github action 테스트를 위한 성공 테스트

* chore: vanilla-extract storybook 적용

* chore: 프로젝트 세팅을 위한 필요없는 파일 없애기

* chore: playwright yarn script 추가

* chore: react-hot-toast 적용

---------

Co-authored-by: Jason <[email protected]>

* chore: 프로젝트 구조 세팅 (#11)

* chore: 필요없는 파일 제거

* fix: 파일명 오타 수정

* feat: 기본 디렉토리 추가

* chore: yarn set version berry (#12)

* chore: 깃허브 액션 변경

* feat: 모노레포 분리 (#28)

* chore: 서비스 디렉토리 이동

* chore: eslint 적용중

* fix: eslint 설정

* chore: extension 프로젝트 세팅 중 husky 충돌

* fix: pre-commit 동작 수정

* chore: backup

* chore: backup

* chore: backup2

* chore: setting

* chore: ignore 설정

* chore: husky 설치

* chore: monorepo로 변경된 뒤 액션 변경

* chore: husky 설치

---------

Co-authored-by: Jason <[email protected]>

* chore: 폴더명 변경에 따른 액션 변경

* chore: 폴더명 변경 (#37)

* Front/feat/#35 (#40)

* chore: 폴더명 변경
* build: 크롬 익스텐션 빌드 설정
* feat: css 파일 제거
* build: 파일 수정시마다 build되는 스크립트 추가
* chore: 의존성 설치
@tanstack/react-query, @vanilla-extract/css, react-router-dom, zustand
* feat: 디렉토리 생성
* feat: router 추가
* feat: react-query provider 설정
* feat: vanilla-extract 세팅

* feat: 현재 탭에서 데이터 가져오기 (#50)

* feat: 북마크 페이지 생성
* chore: 절대경로 수정
* build: build시에는 빌드를 한번하게 변경
* feat: 새로운 링크로 이동할 시 og image가져오는 동작 추
* feat: tab 열 때 마다 og image 가져오기
* refactor: 쓰지 않는 코드 제거
* chore: 주석 제거
* feat: 파비콘 가져오기
* feat: 서비스워커를 이용해서 동작하는 것으로 변경
* refactor: useGetTabInfo hook으로 분리
* refactor: background.ts 제거
* feat: og:description 가져오기
* chore: 쓰지 않는 상수 제거

* feat: 페이지 기본 요소 렌더링 (#52)

* chore: init

* design: theme 설정

* design: dirView 구조 정의

* chore: downgrade version - yarn 4.3.1 / typescript 5.5.4

* feat: react-arborist 적용 및 테스트 완료

* feat: 디렉토리 구성 및 아이콘 추가

* chore: use-resize-observer 라이브러리 추가

* design: tree 높이 동적 조절되도록 수정

* feat: 우측 view에 folder 및 link 표시

* chore: 컴포넌트 분리

* chore: 불필요한 주석 제거

* chore: 4.3.1 cjs 추가

* refactor: pr 수정요청사항 적용

* chore: import 수정

* chore: index.ts 추가

* chore: index.ts 추가

* chore: conflict 해결

* refactor: barrel exports pattern 적용

* refactor: icon export 처리

* refactor: directoryNode export 처리

* refactor: icon 이동

* refactor: icon을 public으로 이동

* chore: 불필요한 index 제거

* chore: 이름 변경

* chore: 이름 변경

* chore: 이름 변경

* chore: 이름 변경

* chore: 이름 변경

* [FEAT] 익스텐션 태그 인풋 핵심 로직 구현 (#126)

* feat: 북마크 페이지 생성
* chore: 절대경로 수정
* build: build시에는 빌드를 한번하게 변경
* feat: 새로운 링크로 이동할 시 og image가져오는 동작 추가
* feat: tab 열 때 마다 og image 가져오기
* refactor: 쓰지 않는 코드 제거
* chore: 주석 제거
* feat: 파비콘 가져오기
* feat: 서비스워커를 이용해서 동작하는 것으로 변경
* refactor: useGetTabInfo hook으로 분리
* refactor: background.ts 제거
* feat: og:description 가져오기
* chore: 쓰지 않는 상수 제거
* feat: cmdk 적용
* feat: 현재 선택한 태그가 보이도록 변경
* feat: 비동기 호출 흉내내서 라벨 데이터 가져오기
* chore: immer 설치
* feat: tagStore CRUD 구현
* chore: lucide icon 설치
* feat: deselect button ui 추가
* feat: deselect 기능 추가
* feat: SelectedTag ui 개선
* chore: todo 주석 제거
* feat: 동일한 태그가 없을 때 생성 아이템 추가
* feat: 태그 생성 로직 구현
* chore: 폴더 변경
* feat: TagInfoPopover 간단한 UI 구현
* feat: tag update 기능 추가
* chore: tagStore 폴더 변경
* chore: @radix-ui/react-dialog 설치
* chore: showDeleteTagDialogButton 파일 변경
* feat: DeleteTagDialog 상태 관리 구현
* chore: 다음 작업에 할 Todo 내용 추가
* feat: DeleteTag 관련 컴포넌트 구현
* chore: Command.Dialog css 변경
* refactor: useEffect내 함수 기명함수로 변경
* refactor: 분리되어있던 컴포넌트 SelectedTagItem폴더로 이동
* chore: components 에서 ui로 폴더명 변경
* refactor: TagInput컴포넌트에서 TagSelectionDialog컴포넌트 분리
* refactor: TagInput에서 TagPicker로 컴포넌트명 변경
* refactor: TagAutocompleteDialog로 컴포넌트명 변경
* refactor: TagPicker css명 변경
* refactor: css classname 변경
* refactor: 분리되어있던 css 합치기
* refactor: onSelectTag함수로 반복되는 함수 호출 합침
* refactor: 문자열 상수로 변경
* chore: 주석 추가
* feat: enter키 입력시 popover 켜지게 변경
* refactor: PopoverTriggerButton으로 분리
* chore: 사용하지 않는 index.ts 제거
* chore: 폴더명 components에서 ui로 변경
* chore: 폴더명 변경
* chore: tsbuildinfo update
* chore: 폴더 위치 이동
* chore: 폴더 이동
* chore: git pull frontend
* chore: todo …
@Gyaak Gyaak deleted the front/fix/search branch November 25, 2024 08:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
fix 🔥 bug 수정을 포함한 변경 사항 frontend 프론트 관련
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants