✨ 주요 기능 추가:
- 링크 생성 후 즉시 렌더링 (캐시 무효화 수정)
- 하이라이트, 링크, 백링크 겹침 시 선택 팝업 메뉴
- 백링크 오프셋 기반 정확한 렌더링
- 링크 렌더링 디버깅 로직 강화
🔧 기술적 개선:
- 캐시 무효화 함수 수정 (invalidateRelatedCache 사용)
- 텍스트 오프셋 불일치 시 자동 검색 대체
- 겹치는 요소 감지 및 상호작용 처리
- 상세한 디버깅 로그 추가
🎨 UI/UX 개선:
- 겹침 메뉴에서 각 요소별 아이콘과 색상 구분
- 클릭된 요소 시각적 표시
- 툴팁과 메뉴 외부 클릭 처리
🐛 버그 수정:
- 신규 링크 생성 후 표시되지 않는 문제 해결
- 백링크 렌더링 오프셋 정확성 개선
- 캐시 관련 JavaScript 오류 수정
- PDF 다운로드 기능 복원 (직접 다운로드 + 연결된 PDF 지원)
- 언어 전환 기능 수정 (문서 내장 기능 활용)
- 헤더 네비게이션 버튼 구현 (뒤로가기, 목차, 이전/다음 문서)
- PDF 매칭 UI 추가 (book-documents.html)
- 링크/백링크 렌더링 안정화
- 서적 URL 파라미터 수정 (book_id 지원)
주요 수정사항:
- viewer-core.js: PDF 다운로드 로직 개선, 언어 전환 단순화
- book-documents.js/html: PDF 매칭 기능 및 URL 파라미터 수정
- components/header.html: 언어 전환 및 PDF 버튼 추가
- 모든 기능 테스트 완료 및 정상 작동 확인
- Fixed CachedAPI endpoint routing: /documents/{id}/links was incorrectly routed to getDocument()
- Added proper pattern matching for document API calls using regex
- Fixed link and backlink API calls to use correct getDocumentLinks() and getDocumentBacklinks() methods
- Added comprehensive debugging logs for API response tracking
- Resolved issue where links were not rendering in document viewer
Changes:
- cached-api.js: Fixed endpoint routing with proper regex pattern matching
- link-manager.js: Enhanced debugging and API response handling
- viewer-core.js: Added closeAllModals() to prevent modal auto-opening
Result: Document links and backlinks now render correctly (8 links restored)
- 링크 생성 기능 완전 복구
- createDocumentLink 함수를 Alpine.js 데이터 객체 내로 이동
- API 필드명 불일치 수정 (source_text → selected_text 등)
- 필수 필드 검증 및 상세 에러 로깅 추가
- API 엔드포인트 수정
- 백엔드와 일치하도록 /documents/{id}/links, /documents/{id}/backlinks 사용
- 올바른 매개변수 전달 방식 적용
- 링크/백링크 렌더링 안정화
- forEach 오류 방지를 위한 배열 타입 검증
- 데이터 없을 시 기존 링크 유지 로직
- 안전한 초기화 및 에러 처리
- UI 단순화
- 같은 서적/다른 서적 구분 제거
- 서적 선택 → 문서 선택 단순한 2단계 프로세스
- 백링크는 자동 생성되도록 수정
- 디버깅 로그 대폭 강화
- API 호출, 응답, 렌더링 각 단계별 상세 로깅
- 데이터 타입 및 개수 추적
주요 수정사항:
- 하이라이트 생성 시 color → highlight_color 필드명 수정으로 색상 전달 문제 해결
- 분홍색을 더 연하게 변경하여 글씨 가독성 향상
- 다중 하이라이트 렌더링을 위아래 균등 분할로 개선
- CSS highlight-span 클래스 추가 및 색상 적용 강화
- 하이라이트 생성/렌더링 과정에 상세한 디버깅 로그 추가
UI 개선:
- 단일 하이라이트: 선택한 색상으로 정확히 표시
- 다중 하이라이트: 위아래로 균등하게 색상 분할 표시
- 메모 입력 모달에서 선택된 텍스트 표시 개선
버그 수정:
- 프론트엔드-백엔드 API 스키마 불일치 해결
- CSS 스타일 우선순위 문제 해결
- 하이라이트 색상이 노랑색으로만 표시되던 문제 해결