Skip to content

[FEAT] 전체그래프 변경 사항 수정 - #16

Merged
suwonthugger merged 10 commits into
mainfrom
feat/15-entire-graph
Jul 28, 2026
Merged

[FEAT] 전체그래프 변경 사항 수정#16
suwonthugger merged 10 commits into
mainfrom
feat/15-entire-graph

Conversation

@suwonthugger

@suwonthugger suwonthugger commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

👥 작업 배경 및 목적

🛠️ 주요 변경 사항

  • 핵심 변경 파일 및 로직을 요약해 주세요.

  • 코드 리뷰어가 집중해서 봐야 할 부분이 있다면 적어주세요.

  • 첫 페이지 전체 그래프 보이도록

  • 전체 그래프 디자인이 동적으로 눈에 잘 보이도록 수정

🧪 테스트 결과 (선택)

  • 로컬 환경 테스트 결과나 실행 화면 스크린샷이 있다면 첨부해 주세요.

Summary by CodeRabbit

  • 새로운 기능

    • 뉴스 새로고침 시 새 항목을 불러오고, 새 뉴스에는 NEW 배지와 알림이 표시됩니다.
    • 네트워크 화면 첫 진입 시 중심 노드가 자동으로 강조됩니다.
    • 온톨로지 그래프에 기업·개념·관계 데이터가 추가되었습니다.
  • 개선 사항

    • 기본 화면이 네트워크 보기로 변경되었습니다.
    • 그래프 배치와 화면 맞춤 동작이 안정화되었습니다.
    • 지도와 네트워크 탭 순서가 변경되었으며, 중심 노드 스타일이 개선되었습니다.

suwonthugger and others added 10 commits July 28, 2026 11:17
- 반도체 종목/개념노드를 51개(관계 74개)로 확장하고 fullLayout을 3단 링으로 재배치
- 커버 화면 -> /app 최초 진입 시 허브 노드를 한 번 자동 하이라이트하고, 하이라이트된
  서브그래프에 맞춰 fitView가 줌인되도록 변경

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
SK하이닉스처럼 연결이 많은 허브를 하이라이트하면 리빌 노드를 전부 담으려다
다시 크게 줌아웃되던 문제를 고침 — 일부 노드가 화면 밖으로 밀려나더라도
카드가 잘 보이는 배율 밑으로는 내려가지 않도록 함

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
기존에는 하이라이트 시작과 동시에 서브그래프로 줌인해서 확대된 화면 위에서
리빌 애니메이션이 재생됐다. usePropagation의 settled 상태를 확인해, 리빌이
다 끝나기 전에는 기존 화면 그대로 하이라이트가 퍼지는 걸 보여주고, 끝난
뒤에야 fitView로 줌인하도록 순서를 바꿈

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
카드가 더 크고 선명하게 보이도록 minZoom 하한선을 높임

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
fitView 이펙트가 mode를 구분하지 않아 뉴스맵의 관계 그래프(focus)에도
settled 대기 + minZoom 하한선이 적용되고 있었다. mode==='focus'는 기존처럼
즉시 전체 노드에 fitView하고, mode==='all'(전체 관계망)에서만 리빌 완료 후
서브그래프로 줌인하도록 분기

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
.nd.origin이 var(--n-900)(검정)을 쓰고 있었는데, 그래프 임팩트 기점이라는
의미상 디자인 가이드라인(주황은 그래프 임팩트 전용)에 맞춰 .nd.up과 같은
--o-500 주황 배경으로 통일

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- data.ts에 REFRESH_POOL(10건)과 pullRefreshBatch()를 추가해 새로고침을
  누를 때마다 새 뉴스 몇 건을 순환 발급해 목록 맨 앞에 끼워 넣도록 함(시연용)
- lib/api.ts에 refreshNews() 래퍼 추가, NewsPanel의 새로고침 버튼이 이를 호출한
  뒤 뉴스 쿼리를 첫 페이지부터 재조회
- 새로고침 결과("새 뉴스 N건이 도착했습니다")를 알리는 토스트 배너와, 새로
  추가된 카드에 NEW 배지를 표시 — 그래프 임팩트 전용인 주황 대신 중립/--ok
  토큰 사용

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
REFRESH_POOL 10건 중 6건이 CONCEPT 노드(테스트·검사, 웨이퍼소재, 온디바이스AI,
유리기판, CXL, 특수가스)를 영향 기점으로 쓰고 있어 "영향 기점" 패널에 티커
없는 테마명이 노출됐다. 각 헤드라인의 기점을 해당 테마와 직접 연결된 실제
종목(유니테스트, 한솔케미칼, 텔레칩스, 심텍, SK하이닉스, 후성)으로 바꿈

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@suwonthugger suwonthugger self-assigned this Jul 28, 2026
@suwonthugger suwonthugger linked an issue Jul 28, 2026 that may be closed by this pull request
2 tasks
@coderabbitai

coderabbitai Bot commented Jul 28, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 83efbfeb-5a99-4223-8a21-7919da020a8b

📥 Commits

Reviewing files that changed from the base of the PR and between 366fe65 and 31effb0.

📒 Files selected for processing (12)
  • src/components/Header.tsx
  • src/components/graph/GraphPanel.tsx
  • src/components/graph/NetworkView.tsx
  • src/components/graph/graph.css
  • src/components/news/NewsCard.tsx
  • src/components/news/NewsList.tsx
  • src/components/news/NewsPanel.tsx
  • src/lib/api.ts
  • src/lib/atoms.ts
  • src/lib/data.ts
  • src/lib/layout.ts
  • src/styles.css

📝 Walkthrough

Walkthrough

그래프 데이터와 레이아웃이 확장되고, 네트워크 첫 진입 하이라이트와 안정화 이후 화면 맞춤이 추가되었습니다. 뉴스 새로고침 API, 신규 뉴스 상태·배지·토스트가 구현되었으며 기본 탭과 그래프 원점 스타일이 변경되었습니다.

Changes

그래프 기능

Layer / File(s) Summary
그래프 데이터 및 레이아웃 기반
src/lib/data.ts, src/lib/layout.ts
온톨로지 기업·개념·관계 데이터와 새 뉴스 풀을 추가하고, 중심 노드와 3단 동심원 레이아웃을 반환하도록 변경했습니다.
네트워크 초기 하이라이트 및 화면 맞춤
src/components/graph/GraphPanel.tsx, src/components/graph/NetworkView.tsx, src/lib/atoms.ts
그래프 안정화 상태에 따라 fitView를 수행하고, 첫 진입 시 레이아웃 중심 노드를 한 번 하이라이트하도록 변경했습니다.

뉴스 기능

Layer / File(s) Summary
뉴스 새로고침 및 신규 뉴스 상태
src/lib/api.ts, src/lib/data.ts, src/lib/atoms.ts, src/components/news/NewsPanel.tsx
새 뉴스 ID를 반환하는 refreshNews()와 새로고침 결과 저장·초기화, 쿼리 리셋 및 토스트 표시 흐름을 추가했습니다.
뉴스 신규 표시와 기본 화면 스타일
src/components/news/NewsCard.tsx, src/components/news/NewsList.tsx, src/components/Header.tsx, src/components/graph/graph.css, src/styles.css
신규 뉴스에 NEW 배지를 표시하고, 뉴스 토스트와 그래프 원점 스타일을 추가했으며 기본 탭 순서를 변경했습니다.

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

Sequence Diagram(s)

sequenceDiagram
  participant NewsPanel
  participant refreshNews
  participant pullRefreshBatch
  participant NewsList
  participant NewsCard
  NewsPanel->>refreshNews: 새로고침 요청
  refreshNews->>pullRefreshBatch: 뉴스 배치 조회
  pullRefreshBatch-->>refreshNews: 추가 뉴스 반환
  refreshNews-->>NewsPanel: addedIds 반환
  NewsPanel->>NewsList: 신규 ID 상태 반영
  NewsList->>NewsCard: isNew 전달
  NewsCard-->>NewsList: NEW 배지 렌더링
Loading

Possibly related PRs

Suggested labels: feature

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/15-entire-graph

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

@suwonthugger
suwonthugger merged commit 0dbdfad into main Jul 28, 2026
1 of 2 checks passed
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] 전체그래프 변경 사항 수정

1 participant