Skip to content

[CHORE] 마무리 수정 - #53

Merged
minsxo merged 7 commits into
mainfrom
feat/search-api
Jul 30, 2026
Merged

[CHORE] 마무리 수정#53
minsxo merged 7 commits into
mainfrom
feat/search-api

Conversation

@GirimNam

@GirimNam GirimNam commented Jul 30, 2026

Copy link
Copy Markdown
Member

📌 작업 내용

  • 리포트 생성 및 조회 api 수정 반영
  • 진보성 논리 분석 recommended 필드 제거 및 수정
  • 리포트 진보성 논리 항목 필터링
  • 사이드바 탭 활성화 기준 수정 및 최근 탐색 연동 수정
  • fonts 파일 추가

✅ 변경 사항

  • 새로운 기능 추가
  • 버그 수정
  • 코드 개선 및 수정
  • 문서 작성 및 업데이트
  • 배포 관련 수정
  • 브랜치 관련 수정
  • 기타:

🔗 관련 이슈

Closes #6
Closes #12
Closes #42

🧪 체크리스트

  • 제가 작성한 코드를 리뷰했습니다.
  • 문서에 변경 사항을 반영했습니다.
  • 새로운 경고를 생성하지 않습니다.
  • 새로운 기능이나 수정 사항이 기존 테스트와 충돌하지 않음을 확인했습니다.

📸 스크린샷

없음

💬 리뷰 요청 사항

기타

Summary by CodeRabbit

  • 새로운 기능

    • 리포트가 아직 생성되지 않은 경우 자동으로 생성한 뒤 조회합니다.
    • 분석 로직 선택 상태를 저장해 다음 방문 시 복원합니다.
    • 리포트에서 내용이 있는 진보성 분석 섹션만 표시합니다.
    • 사이드바가 하위 경로에서도 현재 메뉴를 올바르게 활성화합니다.
  • 개선 사항

    • 진행 중인 분석 상태 명칭을 “분석 중”으로 통일했습니다.
    • 분석 입력값이 기존 내용에 맞게 일관되게 표시됩니다.
    • 로컬 폰트 적용과 일부 텍스트 스타일을 개선했습니다.
    • 특허 제목과 비교 결과의 가독성을 향상했습니다.

@coderabbitai

coderabbitai Bot commented Jul 30, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@GirimNam, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 34 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 15ad0954-87cd-4320-8e22-96cfdabaec7e

📥 Commits

Reviewing files that changed from the base of the PR and between 8547346 and c6f5505.

📒 Files selected for processing (5)
  • src/app/(report)/myhistory/[id]/report/page.tsx
  • src/components/analysis/InventiveStep/Comparision/ComparisionPatentBox.tsx
  • src/components/report/InventiveStepReportComponents/TechComparision.tsx
  • src/components/search/items/InformationA.tsx
  • src/hooks/useInventiveStepAnalysis.ts
📝 Walkthrough

Walkthrough

진보성 분석 선택을 localStorage에 저장하고 입력 폼의 권장 상태 의존성을 제거했습니다. 리포트 자동 생성·재조회와 콘텐츠 기반 섹션 표시를 추가했으며, 활동기록 탭·사이드바 탐색·최근 케이스 캐시와 로컬 Pretendard 폰트 및 화면 스타일을 수정했습니다.

Changes

진보성 로직 선택과 입력 폼

Layer / File(s) Summary
로직 선택 영속화와 입력 폼 초기화
src/hooks/useInventiveStepAnalysis.ts, src/types/inventiveStep.type.ts, src/components/analysis/InventiveStep/LogicCards/*
선택된 로직을 localStorage에 저장·복원하고, recommended 및 placeholder 기반 초기화와 업데이트 상태를 제거했습니다.
분석 페이지 연결
src/app/(main)/analysis/.../page.tsx
입력 폼 호출과 로직 카드 토글에서 placeholder·disabled·업데이트 오류 의존성을 제거했습니다.

리포트 생성과 섹션 렌더링

Layer / File(s) Summary
리포트 자동 생성·재조회
src/hooks/useReport.ts, src/lib/api/analysis.ts
리포트 조회가 RP002로 실패하면 case ID만으로 리포트를 생성한 뒤 다시 조회하도록 변경했습니다.
콘텐츠 기반 진보성 섹션 표시
src/app/(report)/myhistory/.../page.tsx, src/components/report/InventiveStep.tsx
각 인자 콘텐츠의 존재 여부에 따라 진보성 섹션을 조건부 렌더링하도록 변경했습니다.

활동기록 탭과 탐색 상태

Layer / File(s) Summary
활동기록 상태 명칭과 집계
src/hooks/useMyHistory.ts, src/components/myhistory/Tab.tsx
대기 중 상태를 분석 중으로 변경하고 탭, 집계, 삭제 후 카운트 갱신을 일치시켰습니다.
사이드바 경로 활성화와 최근 케이스 갱신
src/components/sidebar/*, src/hooks/useSearchForm.ts
하위 경로를 포함한 활성 탭 판정과 검색 완료 후 최근 케이스 캐시 무효화를 추가했으며, 구성요소 재저장 API 호출을 제거했습니다. updateCaseComponents 관련 API와 타입도 삭제했습니다.

폰트와 화면 스타일

Layer / File(s) Summary
로컬 폰트 연결
src/app/fonts.ts, src/app/globals.css, src/app/layout.tsx
next/font/local 기반 Pretendard 가변 폰트를 등록하고 전역 CSS 변수로 연결했습니다.
리포트·특허 비교 스타일
src/components/analysis/InventiveStep/Comparision/ComparisionPatentBox.tsx, src/components/report/InventiveStepReportComponents/TechComparision.tsx, src/components/report/NoveltyComparision.tsx, src/components/report/Overview.tsx
특허 제목의 줄 제한을 제거하고 텍스트 스타일과 줄 높이 설정을 조정했습니다.

Estimated code review effort: 4 (Complex) | ~45 minutes

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (1 warning, 1 inconclusive)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 13.64% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Title check ❓ Inconclusive "마무리 수정"은 변경 내용을 식별하기 어려운 지나치게 일반적인 제목입니다. 핵심 변경인 활동기록, 진보성 논리, 리포트 API 연동을 반영한 구체적인 제목으로 바꿔주세요.
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Linked Issues check ✅ Passed 내 활동기록, 진보성 논리, 리포트 API 연동 요구사항이 요약된 변경 사항과 전반적으로 일치합니다.
Out of Scope Changes check ✅ Passed 폰트 추가와 UI 클래스 조정도 관련 페이지 구현을 뒷받침하는 범위로 보여, 명백한 무관 변경은 없습니다.
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/search-api

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 4

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@src/app/`(report)/myhistory/[id]/report/page.tsx:
- Around line 60-62: Update hasContent to return true only when the analysis
object contains meaningful, non-empty values, treating empty arrays, empty
strings, and equivalent blank entries as absent; apply the same predicate to the
additional section-rendering usage around the related content checks so sections
with only empty tables or placeholders are not rendered.

In `@src/components/analysis/InventiveStep/Comparision/ComparisionPatentBox.tsx`:
- Around line 25-27: 긴 특허번호와 제목이 카드 너비를 넘지 않도록 제목 요소에 text-wrap 및 break-words
클래스를 추가하세요. ComparisionPatentBox.tsx의 주인용·부인용 제목(25-27, 40-42)과
TechComparision.tsx의 1차·2차 참고문헌 제목(28-30, 43-45) 모두에 동일하게 적용하고, 전체 제목 내용은 유지하세요.

In `@src/hooks/useInventiveStepAnalysis.ts`:
- Around line 208-216: Remove the saveStoredSelection call from the
setSelectedLogics updater in useInventiveStepAnalysis. Keep the updater pure by
only computing and returning the next Set, then add a useEffect that persists
the current selectedLogics whenever selectedLogics or analysisId changes.

In `@src/hooks/useReport.ts`:
- Around line 82-100: Update the RP001 recovery flow in useReport so a getReport
failure is handled before falling through to the create-error mapping: preserve
the refetch error’s ApiError code/message or network-error message, set the
corresponding request error, clear the result as appropriate, and return. Keep
the existing CREATE_REPORT_ERROR_MESSAGES handling only for failures from report
creation.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 51ae2455-8abf-4107-817d-36cb07e75ce6

📥 Commits

Reviewing files that changed from the base of the PR and between dae5c6a and f0f7ccc.

⛔ Files ignored due to path filters (1)
  • src/app/fonts/PretendardVariable.woff2 is excluded by !**/*.woff2
📒 Files selected for processing (24)
  • src/app/(main)/analysis/[id]/[patentId]/page.tsx
  • src/app/(report)/myhistory/[id]/report/page.tsx
  • src/app/fonts.ts
  • src/app/globals.css
  • src/app/layout.tsx
  • src/components/analysis/InventiveStep/Comparision/ComparisionPatentBox.tsx
  • src/components/analysis/InventiveStep/LogicCards/ArgumentForm_A.tsx
  • src/components/analysis/InventiveStep/LogicCards/ArgumentForm_B.tsx
  • src/components/analysis/InventiveStep/LogicCards/ArgumentForm_C.tsx
  • src/components/analysis/InventiveStep/LogicCards/ArgumentForm_D.tsx
  • src/components/myhistory/Tab.tsx
  • src/components/report/InventiveStep.tsx
  • src/components/report/InventiveStepReportComponents/TechComparision.tsx
  • src/components/report/NoveltyComparision.tsx
  • src/components/report/Overview.tsx
  • src/components/sidebar/PreviousSearchItem.tsx
  • src/components/sidebar/Sidebar.tsx
  • src/hooks/useInventiveStepAnalysis.ts
  • src/hooks/useMyHistory.ts
  • src/hooks/useReport.ts
  • src/hooks/useSearchForm.ts
  • src/lib/api/analysis.ts
  • src/types/inventiveStep.type.ts
  • src/types/report.type.ts
💤 Files with no reviewable changes (2)
  • src/types/inventiveStep.type.ts
  • src/types/report.type.ts

Comment thread src/app/(report)/myhistory/[id]/report/page.tsx
Comment thread src/components/analysis/InventiveStep/Comparision/ComparisionPatentBox.tsx Outdated
Comment thread src/hooks/useInventiveStepAnalysis.ts
Comment thread src/hooks/useReport.ts
@github-actions

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🧹 Nitpick comments (1)
src/hooks/useSearchForm.ts (1)

269-273: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

hasAdditionalInfo를 명시적인 boolean으로 만들어 주세요.

현재 || 체인의 결과 타입은 boolean이 아니라 마지막으로 truthy한 string입니다. 조건문에서는 동작하지만 변수명과 타입 의도가 어긋나므로, 명시적인 boolean으로 고정하면 TypeScript 가독성과 유지보수성이 좋아집니다.

As per path instructions: TypeScript의 타입 안정성, 가독성, 유지보수성을 중점적으로 검토해야 합니다.

제안
-      const hasAdditionalInfo =
-        priorArtReference.trim() ||
-        differentiationNotes.trim() ||
-        measurementConditions.trim() ||
-        measurementResults.trim();
+      const hasAdditionalInfo = [
+        priorArtReference,
+        differentiationNotes,
+        measurementConditions,
+        measurementResults,
+      ].some((value) => value.trim().length > 0);
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/hooks/useSearchForm.ts` around lines 269 - 273, Update the
hasAdditionalInfo expression in the relevant search form logic to explicitly
produce a boolean while preserving the existing truthiness checks across
priorArtReference, differentiationNotes, measurementConditions, and
measurementResults.

Source: Path instructions

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In `@src/hooks/useSearchForm.ts`:
- Around line 269-273: Update the hasAdditionalInfo expression in the relevant
search form logic to explicitly produce a boolean while preserving the existing
truthiness checks across priorArtReference, differentiationNotes,
measurementConditions, and measurementResults.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: ad8ce7a1-7c80-4389-92de-6ee792703689

📥 Commits

Reviewing files that changed from the base of the PR and between f0f7ccc and 8547346.

📒 Files selected for processing (3)
  • src/hooks/useSearchForm.ts
  • src/lib/api/case.ts
  • src/types/case.type.ts
💤 Files with no reviewable changes (2)
  • src/types/case.type.ts
  • src/lib/api/case.ts

@github-actions

Copy link
Copy Markdown

@minsxo
minsxo merged commit a6e058f into main Jul 30, 2026
2 checks passed
GirimNam added a commit to GirimNam/IPX-FE that referenced this pull request Jul 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEAT] 분석 리포트 API 연동 [FEAT] 기술분석-진보성 논리 페이지 구현 [FEAT] 내 활동기록 페이지(대시보드) 구현

2 participants