Conversation
- pubspec.yaml에 Pretendard 폰트 추가 - lightTheme 및 darkTheme 정의 - 텍스트 스타일을 위한 appTextTheme 추가 - 테마 관련 파일 구조화
- pubspec.yaml에 isar, isar_flutter_libs, path_provider 추가 - pubspec.lock에 새로운 패키지 버전 및 의존성 추가 - BasePDF, BasePage, BaseLayout 인터페이스 추가
- app_theme.dart에서 색상 및 텍스트 테마 추가 - lightTheme 및 darkTheme에 outline 색상 수정 - color_scheme.dart에 lightOutline 및 darkOutline 추가
* feat: PDF 관리 프로바이더 인터페이스 추가 - PDFProvider 인터페이스 생성 - PDF 리스트 관리, 추가, 삭제, 업데이트 및 쿼리 기능 정의 * feat: PDF 인터페이스 비동기 메서드 추가 - BasePage와 BasePdf 인터페이스의 getLayouts() 및 getPages() 메서드를 Future 반환형으로 변경 - BasePdf 인터페이스에 getThumbnail() 메서드 추가 * feat: PDF 모델 및 레이아웃 모델, 페이지 모델 구현 추가 - PDFModel, PageModel, LayoutModel 클래스 및 관련 데이터베이스 필드 추가 - 각 모델에 대한 생성자 및 메서드 구현 - Isar 데이터베이스와의 통합을 위한 스키마 및 쿼리 기능 추가 - BaseLayout 및 BasePage 인터페이스에 @ignore 어노테이션 추가 (isar 상속 조건) * test: 통합 테스트 및 PDFProvider 테스트 추가 - integration_test/assets/test.pdf 파일 추가 - PDFProvider에 대한 통합 테스트 구현 (PDF 추가, 삭제, 업데이트 기능 검증) - pubspec.yaml에 integration_test 및 path 의존성 추가 - flutter_test.yml에서 Github action 통합 테스트 실행 방식 수정 * fix: isar 라이브러리 안드로이트 호환 문제 수정 - 서브프로젝트의 네임스페이스가 null일 경우, 프로젝트 그룹을 사용하여 네임스페이스를 설정하도록 build.gradle.kts 파일 수정
feat: PDF 문서 관리 기능 및 UI 구현, 상태 관리 구조 설계 • 최근 문서, PDF 카드, 리스트 아이템 UI 구현 (RecentWidget, PdfCard, PdfListItem) • 문서가 없을 경우 표시할 빈 문서 아이콘 추가 (EmptyFilesIcon) • 문서 추가를 위한 파일 선택 기능 구현 (AddDocumentButton, file_picker 사용) • 문서 삭제, 이름 변경 기능 및 다이얼로그 UI 추가 (showRenameDialog) • 썸네일 이미지 표시 및 AnimatedSwitcher를 활용한 전환 애니메이션 적용 • PDF 상태에 따른 열기 버튼 동작 및 사용자 알림 처리 (Snackbar) feat: PDFProvider 및 모델 계층 구조 구현 • PDFProvider 인터페이스 및 구현체 정의 • 상태 관리를 위한 InheritedPDFProviderWidget 설계 및 적용 • addPDF, update, delete, queryPDFs 등 문서 관리 메서드 구현 • 썸네일 및 총 페이지 수 자동 추출을 위한 _getPDFInfo 로직 추가 • 쿼리 시 limit 및 updatedAt 정렬 기능 적용 feat: 데이터 모델 및 Isar 데이터베이스 연동 • PDFModel, PageModel, LayoutModel 클래스 및 Isar 스키마 정의 • 인터페이스(BasePdf, BasePage, BaseLayout)에 비동기 메서드 추가 • PDFModel의 thumbnail, totalPages 필드 정의 및 업데이트 로직 반영 feat: 테마 및 스타일 개선, 패키지 추가 • app_theme.dart 및 color_scheme.dart에 색상 및 텍스트 테마 추가 • lightTheme, darkTheme의 outline 색상 업데이트 • intl, path, file_picker, integration_test 패키지 추가 fix: PDFProvider 상태 반영 및 Android 호환성 개선 • PDF 목록 변경 시 리스너를 통해 위젯 상태 갱신 • DummyPdf 제거 및 관련 위젯 로직을 PDFProvider 기반으로 변경 • InheritedPDFProviderWidget을 InheritedNotifier 기반으로 수정 • Isar Android 호환 문제 해결을 위해 build.gradle.kts의 네임스페이스 조건 처리 • PDFModel.update()에서 thumbnail이 null일 경우 기존 값을 유지하도록 수정 • showRenameDialog()에서 불필요한 textEditController.dispose() 호출 제거 test: 통합 테스트 및 기본 위젯 테스트 환경 구성 • PDFProvider에 대한 통합 테스트 추가 (추가, 삭제, 업데이트 기능 검증) • test.pdf 테스트 파일 및 Github Actions 통합 테스트 설정 추가 • 기본 위젯 테스트 케이스 템플릿 추가
- PDF 파일 렌더링을 위한 뷰어 위젯 구현 - FutureBuilder를 활용한 비동기 로딩 처리 - 핀치 제스처 및 아이콘 기반 확대/축소/중앙정렬 기능 구현 - 확대율, 페이지 번호, 검색 등을 포함한 하단바 구성 - 페이지 및 Figure 사이드바 구현 및 스크롤 연동 - 홈 화면 개선 - 홈으로 돌아가기 및 열기 버튼 기능 구현 - 뷰어로 라우팅을 위한 initialRoute 및 named route 구성 - PDF 파일 관리 기능 추가 - 로컬 저장소에서 PDF 불러오기 및 최근 문서 목록 저장 - 관련 shared_preferences, path_provider, isar 패키지 추가 - pdf_core 모델 정의(BasePDF, BasePage 등) - 내부 구조 개선 및 리팩터링 - 디렉토리 및 import 경로 정리 - StatefulWidget 기반 구조로 전환 - 싱글톤 패턴 적용 및 내부 캐싱·에러 핸들링 추가 - 테스트 및 안정성 개선 - deprecated const 속성 반영 - 실행 시 빌드 오류, 초기 배경 화면 오류, import 주소 등 수정 - 중복 의존성 및 디렉토리 제거(lib/features/snapfig 삭제) - 기타 개선 - 주석 및 문서화(README 디렉토리 및 구조 반영) - figure 테스트용 PDF 파일 추가 및 json 연동 구현
* refactor: PDF 뷰어 기능 개선 및 불필요한 파일 삭제 - 사용하지 않는 PDF 관련 모델 및 화면 파일 삭제 (figure_info.dart, ocr_text_block.dart, pdf_document_model.dart, pdf_layout_model.dart, pdf_page_model.dart, pdf_viewer_screen.dart, figure_list_panel.dart, ocr_overlay_painter.dart) - 새로운 PDF 뷰어 화면 구현 (pdf_viewer.dart) 및 사이드바 추가 (pdf_sidebar.dart) - PDF 뷰어의 상태 관리 및 UI 개선을 위한 ViewModel 추가 (pdf_viewer_view_model.dart) * feat: PDF 뷰어 UI 개선 및 새로운 위젯 추가 - PDF 미로딩 시 표시할 UI를 위한 NoPdfLoadedView 위젯 추가 - PDF 뷰어 하단 상태바를 위한 PDFBottomBar 위젯 추가 - PDF 뷰어 화면에서 사이드바 애니메이션 효과 추가 - 에러 메시지 스타일 개선 및 색상 조정
* chore: http 패키지 추가, flutter_client_sse 및 mockito 패키지 추가 * feat: ocr서버 api 연동 * refactor: 코멘트(await http.post, analyze/stream api) 반영 * fix: OCRProviderImpl 적용 * feat: OCRProvider에 대한 통합 테스트 추가 - OCRProvider의 process() 메서드에 대한 테스트 케이스를 추가하여 OCRResult 반환 및 예외 처리 검증 --------- Co-authored-by: dev_jaeho <33758013+jaeho0718@users.noreply.github.com>
* feat: LayoutModel에 Figure 관련 필드 및 메서드 추가 - LayoutModel에 figureId, figureNumber, caption, referencedFigureId, referenceText 필드를 추가하여 Figure 관련 정보를 저장할 수 있도록 개선 - BaseLayout 인터페이스에 Figure 관련 속성 정의 - PDFModel 및 PageModel에서 레이아웃을 로드하는 메서드 구현 - PDFProviderImpl에서 OCR 결과를 기반으로 레이아웃 데이터 저장 로직 추가 * feat: PDF 사이드바 썸네일 배경색 및 레이아웃 개선 - 각 레이아웃 타입에 따라 썸네일의 배경색을 추가하여 시각적 구분을 강화 - Figure 및 FigureReference 타입에 대한 텍스트 표시 기능 추가 - 썸네일 위젯 구조를 개선하여 아이콘과 텍스트를 세로로 정렬 * feat: PDF 뷰어에 페이지 정보 추가 및 레이아웃 개선 - PdfPageViewer에 pages 필드를 추가하여 페이지 정보를 전달 - 페이지 렌더링 시 figureReference 타입의 레이아웃을 비동기로 처리하여 시각적 요소를 개선 - 페이지에 대한 Stack 위젯을 활용하여 figureReference를 표시하는 기능 구현 * feat: PDF 뷰어 및 사이드바 레이아웃 개선 - PdfPageViewer에서 figureReference 타입의 레이아웃을 비동기로 처리하여 시각적 요소 개선 - 사이드바에서 Figure 타입의 레이아웃만 표시하도록 수정 - OCR 결과 처리 시 figureId, caption, figureNumber, confidence 필드에 기본값 설정하여 안정성 향상 - PDFProviderImpl에서 OCR 처리 로깅 추가 및 불필요한 주석 제거 * feat: PDF 뷰어 기능 개선 및 레이아웃 최적화 - PdfViewerViewModel에 페이지별 레이아웃을 관리하는 기능 추가 - PDF 뷰어에서 페이지 전환 및 확대/축소 상태를 ViewModel과 동기화 - PdfPageViewer에서 페이지 인덱스 및 레이아웃 처리 로직 개선 - OCR 결과에 페이지 크기 정보를 추가하여 안정성 향상 * feat: PDF 뷰어 기능 개선 및 오류 처리 추가 - OCRProvider의 baseUrl을 업데이트하여 API 연동 개선 - PdfViewerViewModel에서 불필요한 필드 제거 및 코드 정리 - PDF 뷰어에서 오류 메시지 처리 로직 개선 및 사용자 피드백 추가 - NoPdfLoadedView에 닫기 버튼 추가하여 사용자 경험 향상 - PDF 페이지 렌더링 시 피규어 박스 좌표 변환 로직 개선 * feat: PDF 뷰어에 피규어 팝업 기능 추가 및 오류 처리 개선 - PdfViewerViewModel에 피규어 ID로 피규어를 찾는 메서드 추가 - PDF 뷰어에서 피규어를 클릭 시 팝업으로 표시하는 기능 구현 - 피규어가 존재하지 않을 경우 사용자에게 오류 메시지 표시 - 팝업 애니메이션 및 위치 계산 로직 추가하여 사용자 경험 향상 * feat: PDF 뷰어 및 사이드바 레이아웃 개선 - PDF 뷰어에서 GestureDetector의 코드 가독성을 높이기 위해 줄 바꿈 적용 - 사이드바에서 페이지 썸네일 및 레이아웃 썸네일의 크기 및 배경색 조정 - 레이아웃 썸네일에 context를 전달하여 테마 색상 적용 - PDFProviderImpl에서 PDF 추가 시 OCR 처리 로직 위치 수정 * feat: PDF 뷰어 기능 개선 및 피규어 탐색 추가 - PdfViewerViewModel에 피규어 ID로 페이지 번호를 찾는 메서드 추가 - PDF 뷰어에서 피규어 선택 시 해당 페이지로 이동하는 기능 구현 - 피규어 팝업의 크기 계산 로직 개선 및 화면 경계 내에서 위치 조정 - 사이드바에서 피규어 제목 표시 방식을 개선하여 가독성 향상
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.