FC-DEV-FinalProject / final-fe-team4

4조 프론트엔드 깃허브
0 stars 2 forks source link

[feat] 히스토리 내역 페이지 퍼블리싱 #202 #203

Closed dyeongg closed 6 days ago

dyeongg commented 6 days ago
스크린샷 2024-11-27 오후 4 44 54

Sourcery에 의한 요약

내보내기 기록을 볼 수 있는 새 페이지를 추가하고, 파일 재생, 일시 정지, 선택 및 다운로드 기능이 있는 테이블을 포함합니다. 이 새 페이지를 포함하도록 내비게이션을 업데이트합니다.

새로운 기능:

개선 사항:

Original summary in English ## Summary by Sourcery Add a new page for viewing export history records, including a table with functionalities for playing, pausing, selecting, and downloading files. Update the navigation to include this new page. New Features: - Introduce a new 'HistorysPage' component to display export history records, allowing users to view and download saved history files. Enhancements: - Update the navigation sidebar to include a new '히스토리 내역' (History Records) section.
sourcery-ai[bot] commented 6 days ago

리뷰어 가이드 by Sourcery

이 PR은 오디오 파일 처리 기록 목록을 표시하는 새로운 히스토리 페이지를 구현합니다. 구현에는 새로운 경로, 탐색 업데이트, 선택, 필터링 및 오디오 재생 제어와 같은 기능을 갖춘 히스토리 항목을 표시하기 위한 포괄적인 테이블 컴포넌트가 포함됩니다.

새로운 히스토리 페이지 컴포넌트에 대한 클래스 다이어그램

classDiagram
    class HistorysPage {
        +useState~string[]~ selectedItems
        +useState~boolean~ isAllSelected
        +handlePlay(id: string)
        +handlePause(id: string)
        +handleDelete()
        +handleSearch(searchTerm: string)
        +handleFilter()
        +handleSelectAll(checked: boolean)
        +handleSelectionChange(id: string, checked: boolean)
    }
    class HistoryListTable {
        +ProjectListTableItem[] items
        +onPlay(id: string)
        +onPause(id: string)
        +currentPlayingId?: string
        +isAllSelected: boolean
        +itemCount: number
        +onSelectAll(checked: boolean)
        +selectedItems: string[]
        +onSelectionChange(id: string, checked: boolean)
    }
    class ProjectListTableItem {
        +string id
        +string order
        +string projectName
        +string fileName
        +string content
        +string type
        +string status
        +string createdAt
    }
    HistorysPage --> HistoryListTable
    HistoryListTable --> ProjectListTableItem

파일 수준 변경 사항

변경 사항 세부 사항 파일
새로운 히스토리 페이지 경로 및 탐색 추가
  • 새로운 HISTORYS 경로 상수 추가
  • HistorysPage에 대한 새로운 경로 구성 추가
  • 사이드바 탐색 레이블을 '히스토리 목록'에서 '히스토리 내역'으로 업데이트
src/routes/router.tsx
src/components/section/sidebar/NavSidebar.tsx
테이블 인터페이스가 있는 새로운 히스토리 페이지 구현
  • 헤더 및 설명이 있는 페이지 레이아웃 생성
  • 검색, 필터 및 삭제 기능이 있는 테이블 도구 모음 추가
  • 개발 및 테스트를 위한 더미 데이터 구현
  • 항목 선택을 위한 상태 관리 추가
  • 오디오 재생/일시정지 제어 구현
src/pages/HistorysPage.tsx
히스토리 항목에 대한 사용자 정의 테이블 컴포넌트 생성
  • 대량 선택을 위한 체크박스가 있는 테이블 헤더 구현
  • 오디오 유형, 프로젝트 이름, 파일 이름, 내용, 상태 및 타임스탬프에 대한 열 추가
  • 오디오 유형 및 상태 표시기를 위한 사용자 정의 배지 생성
  • 다운로드 버튼 기능 추가
  • 행 수준 선택 및 재생 제어 구현
src/components/custom/tables/history/HistoryListTable.tsx

관련된 문제일 가능성


팁 및 명령어 #### Sourcery와 상호작용하기 - **새로운 리뷰 트리거:** 풀 리퀘스트에 `@sourcery-ai review`라고 댓글을 남깁니다. - **토론 계속하기:** Sourcery의 리뷰 댓글에 직접 답장합니다. - **리뷰 댓글에서 GitHub 이슈 생성:** 리뷰 댓글에서 Sourcery에게 이슈 생성을 요청합니다. - **풀 리퀘스트 제목 생성:** 풀 리퀘스트 제목 어디에나 `@sourcery-ai`를 작성하여 언제든지 제목을 생성합니다. - **풀 리퀘스트 요약 생성:** 풀 리퀘스트 본문 어디에나 `@sourcery-ai summary`를 작성하여 언제든지 PR 요약을 생성합니다. 이 명령을 사용하여 요약이 삽입될 위치를 지정할 수도 있습니다. #### 경험 맞춤화하기 [대시보드](https://app.sourcery.ai)에 액세스하여: - Sourcery가 생성한 풀 리퀘스트 요약, 리뷰어 가이드 등과 같은 리뷰 기능을 활성화하거나 비활성화합니다. - 리뷰 언어를 변경합니다. - 사용자 정의 리뷰 지침을 추가, 제거 또는 편집합니다. - 기타 리뷰 설정을 조정합니다. #### 도움 받기 - 질문이나 피드백이 있는 경우 [지원 팀에 문의](mailto:support@sourcery.ai)하세요. - 자세한 가이드와 정보를 보려면 [문서](https://docs.sourcery.ai)를 방문하세요. - [X/Twitter](https://x.com/SourceryAI), [LinkedIn](https://www.linkedin.com/company/sourcery-ai/) 또는 [GitHub](https://github.com/sourcery-ai)에서 Sourcery 팀을 팔로우하여 소식을 받아보세요.
Original review guide in English ## Reviewer's Guide by Sourcery This PR implements a new History page that displays a list of audio file processing records. The implementation includes a new route, navigation updates, and a comprehensive table component for displaying history entries with features like selection, filtering, and audio playback controls. #### Class diagram for the new History page components ```mermaid classDiagram class HistorysPage { +useState~string[]~ selectedItems +useState~boolean~ isAllSelected +handlePlay(id: string) +handlePause(id: string) +handleDelete() +handleSearch(searchTerm: string) +handleFilter() +handleSelectAll(checked: boolean) +handleSelectionChange(id: string, checked: boolean) } class HistoryListTable { +ProjectListTableItem[] items +onPlay(id: string) +onPause(id: string) +currentPlayingId?: string +isAllSelected: boolean +itemCount: number +onSelectAll(checked: boolean) +selectedItems: string[] +onSelectionChange(id: string, checked: boolean) } class ProjectListTableItem { +string id +string order +string projectName +string fileName +string content +string type +string status +string createdAt } HistorysPage --> HistoryListTable HistoryListTable --> ProjectListTableItem ``` ### File-Level Changes | Change | Details | Files | | ------ | ------- | ----- | | Added new History page route and navigation |
  • Added new HISTORYS route path constant
  • Added new route configuration for HistorysPage
  • Updated sidebar navigation label from '히스토리 목록' to '히스토리 내역'
| `src/routes/router.tsx`
`src/components/section/sidebar/NavSidebar.tsx` | | Implemented new History page with table interface |
  • Created page layout with header and description
  • Added table toolbar with search, filter, and delete functionality
  • Implemented dummy data for development and testing
  • Added state management for item selection
  • Implemented play/pause audio controls
| `src/pages/HistorysPage.tsx` | | Created custom table component for history entries |
  • Implemented table header with checkboxes for bulk selection
  • Added columns for audio type, project name, filename, content, status, and timestamps
  • Created custom badges for audio types and status indicators
  • Added download button functionality
  • Implemented row-level selection and playback controls
| `src/components/custom/tables/history/HistoryListTable.tsx` | ### Possibly linked issues - **#202**: The PR implements the export history page as described in the issue. ---
Tips and commands #### Interacting with Sourcery - **Trigger a new review:** Comment `@sourcery-ai review` on the pull request. - **Continue discussions:** Reply directly to Sourcery's review comments. - **Generate a GitHub issue from a review comment:** Ask Sourcery to create an issue from a review comment by replying to it. - **Generate a pull request title:** Write `@sourcery-ai` anywhere in the pull request title to generate a title at any time. - **Generate a pull request summary:** Write `@sourcery-ai summary` anywhere in the pull request body to generate a PR summary at any time. You can also use this command to specify where the summary should be inserted. #### Customizing Your Experience Access your [dashboard](https://app.sourcery.ai) to: - Enable or disable review features such as the Sourcery-generated pull request summary, the reviewer's guide, and others. - Change the review language. - Add, remove or edit custom review instructions. - Adjust other review settings. #### Getting Help - [Contact our support team](mailto:support@sourcery.ai) for questions or feedback. - Visit our [documentation](https://docs.sourcery.ai) for detailed guides and information. - Keep in touch with the Sourcery team by following us on [X/Twitter](https://x.com/SourceryAI), [LinkedIn](https://www.linkedin.com/company/sourcery-ai/) or [GitHub](https://github.com/sourcery-ai).
github-actions[bot] commented 6 days ago

Visit the preview URL for this PR (updated for commit 46458f1):

https://aipark-four-t--203-wmfjxdp0.web.app

(expires Sat, 30 Nov 2024 07:46:02 GMT)

🔥 via Firebase Hosting GitHub Action 🌎

Sign: 0a4b3ef6ecc2c695a6a0d6ade46651e032870a9f