FC-DEV-FinalProject / FinalProject_2VEN_FE

데브코스 파이널프로젝트 시스메틱 2조 이븐한조 FE 리포지토리
0 stars 1 forks source link

[Design] 관리자 상품유형, 매매유형 페이지 등록 모달 구현 #139

Closed jizerozz closed 1 week ago

jizerozz commented 1 week ago

🚀 풀 리퀘스트 제안

📋 작업 내용

매매유형, 상품유형 관리에 사용할 파일 업로드 모달 제작

🔧 변경 사항

주요 변경 사항을 요약해 주세요.

📸 스크린샷 (선택 사항)

스크린샷 2024-11-18 오후 5 09 46

📄 기타

추가적으로 전달하고 싶은 내용이나 특별한 요구 사항이 있으면 작성해 주세요.

sourcery-ai[bot] commented 1 week ago

리뷰어 가이드 by Sourcery

이 PR은 관리자 인터페이스에서 제품 유형 및 거래 유형을 관리하기 위한 파일 업로드 모달을 구현합니다. 구현에는 새로운 FileInput 컴포넌트, 콘텐츠 모달 기능 수정, 재고 유형 목록 페이지와의 통합이 포함됩니다.

새로운 FileInput 컴포넌트 및 모달 변경 사항에 대한 클래스 다이어그램

classDiagram
    class FileInput {
        -title: string
        -file: File
        -typeName: string
        -selectedFile: File
        -fileName: string
        +handleFileChange(e: React.ChangeEvent<HTMLInputElement>): void
        +handleFileUpload(): void
    }
    class ContentModal {
        -isOpen: boolean
        -contentModalData: ContentModalData
        +closeContentModal(): void
    }
    class ContentModalStore {
        -isOpen: boolean
        -contentModalData: ContentModalData
        +openContentModal(data: ContentModalData): void
        +closeContentModal(): void
    }
    FileInput --> ContentModal : uses
    ContentModal --> ContentModalStore : interacts with

파일 수준 변경 사항

변경 사항 세부 사항 파일
아이콘 업로드를 처리하기 위한 새로운 파일 입력 컴포넌트 생성
  • 파일 선택 및 미리보기 기능 구현
  • 유형 이름 입력 필드 추가
  • 스타일이 적용된 파일 브라우저 버튼 및 읽기 전용 파일 이름 표시 생성
  • 선택한 파일에 대한 이미지 미리보기 기능 추가
src/components/page/admin/FileInput.tsx
더 나은 명명 일관성을 위한 콘텐츠 모달 저장소 및 컴포넌트 리팩토링
  • 모달 동작을 openModal/closeModal에서 openContentModal/closeContentModal로 이름 변경
  • 새로운 함수 이름을 사용하도록 컴포넌트 업데이트
  • 테스트 페이지의 모달 함수에 대한 모든 참조 업데이트
src/components/common/ContentModal.tsx
src/stores/contentModalStore.ts
src/pages/test-page/ContentModalTestPage.tsx
파일 업로드 기능으로 재고 유형 목록 페이지 강화
  • 아이콘 업데이트를 위한 파일 업로드 핸들러 추가
  • 새로운 FileInput 컴포넌트를 콘텐츠 모달과 통합
  • 업로드 버튼 클릭 핸들러 추가
  • 아이콘 업데이트를 위한 모의 데이터 처리 업데이트
src/pages/admin/stock-type/StockTypeListPage.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 file upload modal for managing product types and transaction types in the admin interface. The implementation includes a new FileInput component, modifications to the content modal functionality, and integration with the stock type list page. #### Class diagram for the new FileInput component and modal changes ```mermaid classDiagram class FileInput { -title: string -file: File -typeName: string -selectedFile: File -fileName: string +handleFileChange(e: React.ChangeEvent): void +handleFileUpload(): void } class ContentModal { -isOpen: boolean -contentModalData: ContentModalData +closeContentModal(): void } class ContentModalStore { -isOpen: boolean -contentModalData: ContentModalData +openContentModal(data: ContentModalData): void +closeContentModal(): void } FileInput --> ContentModal : uses ContentModal --> ContentModalStore : interacts with ``` ### File-Level Changes | Change | Details | Files | | ------ | ------- | ----- | | Created a new file input component for handling icon uploads |
  • Implemented file selection and preview functionality
  • Added input field for type name
  • Created styled file browser button and read-only filename display
  • Added image preview capability for selected files
| `src/components/page/admin/FileInput.tsx` | | Refactored content modal store and component for better naming consistency |
  • Renamed modal actions from openModal/closeModal to openContentModal/closeContentModal
  • Updated component to use new function names
  • Updated all references to modal functions in test pages
| `src/components/common/ContentModal.tsx`
`src/stores/contentModalStore.ts`
`src/pages/test-page/ContentModalTestPage.tsx` | | Enhanced stock type list page with file upload functionality |
  • Added file upload handler for icon updates
  • Integrated new FileInput component with content modal
  • Added upload button click handler
  • Updated mock data handling for icon updates
| `src/pages/admin/stock-type/StockTypeListPage.tsx` | ---
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).
netlify[bot] commented 1 week ago

Deploy Preview for sysmetics ready!

Name Link
Latest commit 44c52d3aee99e1f3d0a11f961f998387cd9baf4e
Latest deploy log https://app.netlify.com/sites/sysmetics/deploys/673af7716aa5200008a07795
Deploy Preview https://deploy-preview-139--sysmetics.netlify.app
Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.