gsainfoteam / ziggle-fe

https://ziggle.gistory.me
7 stars 2 forks source link

fix: loaded draft setting logic #391

Closed enc2586 closed 23 hours ago

enc2586 commented 1 day ago

영어공지 데이터를 추가하려면 reducer에서 TOGGLE_ENGLISH_VERSION 실행이 필요했었습니다. 이를 추가했습니다.

PR 390과 유사한 문제도 있길래 함께 해결했습니다. 잘못 사용된 early return을 없앴고, 영어공지 로딩 로직을 수정했으며, deadline 로딩 로직을 추가했습니다.

개인적인 의견으로, editorStateReducer의 구조에 문제가 있습니다. 영어공지 draft 로딩이 필요할 경우 TOGGLE_ENGLISH_VERSION 실행 후에야 내용을 변경할 수 있는데, state.english 값을 곧바로 수정 가능한 action을 만들어 사용하는게 코드 가독성 면에서 좋아보입니다. 비슷한 코드를 다른 곳(공지 수정 로직)에서 또 사용해야 하기도 하구요.

Summary by CodeRabbit

coderabbitai[bot] commented 1 day ago
📝 Walkthrough
📝 Walkthrough ## Walkthrough `NoticeEditor.tsx` 파일에서의 변경 사항은 초안 공지 및 기존 공지 로딩 처리 방식을 개선하는 데 중점을 두고 있습니다. 초안 객체를 구조 분해하여 상태에 값을 보다 체계적으로 할당하도록 수정하였으며, `korean`, `english`, `deadline` 속성을 추출하여 해당 구조에 맞게 디스패치 작업을 업데이트했습니다. 기존 공지 로딩 로직도 개선되어 `currentDeadline`이 상태로 설정되도록 하였습니다. 오류 처리 및 사용자 알림은 유지되며, UI 요소와 기능은 크게 변경되지 않았습니다. ## Changes | 파일 경로 | 변경 요약 | |----------------------------------------|-------------------------------------------------------------------------------------------| | src/app/[lng]/write/NoticeEditor.tsx | - 초안 객체 구조 분해 및 상태 할당 개선
- 기존 공지 로딩 로직 수정
- `NoticeEditorProps` 인터페이스 업데이트 (선택적 필드 추가)
- `NOTICE_LOCAL_STORAGE_KEY` 상수 업데이트 | ## Possibly related PRs - **#369**: `NoticeEditor.tsx`에서 초안 공지 및 기존 공지 처리와 관련된 변경 사항은 동일 파일에서 공지 편집 기능을 확장하고 상태 관리를 도입한 PR과 관련이 있습니다. - **#390**: `NoticeEditor.tsx`에서 기존 공지 로딩 및 콘텐츠 존재 여부에 따른 액션 디스패치 로직을 개선한 PR로, 본 PR의 개선 사항과 직접적으로 관련이 있습니다. ## Suggested reviewers - 2paperstar - ParkJumyung > 🐇 변화의 순간, 기쁨의 노래 > 초안과 공지를, 함께 나누어요. > 상태를 정리하고, 알림도 챙기고, > 모두의 편의를 위해, 손을 맞잡아요! > 새로운 시작에, 함께 뛰어보아요! 🌼

📜 Recent review details **Configuration used: CodeRabbit UI** **Review profile: CHILL**
📥 Commits Reviewing files that changed from the base of the PR and between 4de6a842977ccd61a74f6dae6a51b702eaf79c3c and 52ccdec2e554d7ca5fe460357fdf7735d71e8732.
📒 Files selected for processing (1) * `src/app/[lng]/write/NoticeEditor.tsx` (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1) * src/app/[lng]/write/NoticeEditor.tsx

Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai) - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai) - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai) - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)
🪧 Tips ### Chat There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai): - Review comments: Directly reply to a review comment made by CodeRabbit. Example: - `I pushed a fix in commit , please review it.` - `Generate unit testing code for this file.` - `Open a follow-up GitHub issue for this discussion.` - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples: - `@coderabbitai generate unit testing code for this file.` - `@coderabbitai modularize this function.` - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples: - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.` - `@coderabbitai read src/utils.ts and generate unit testing code.` - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.` - `@coderabbitai help me debug CodeRabbit configuration file.` Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. ### CodeRabbit Commands (Invoked using PR comments) - `@coderabbitai pause` to pause the reviews on a PR. - `@coderabbitai resume` to resume the paused reviews. - `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository. - `@coderabbitai full review` to do a full review from scratch and review all the files again. - `@coderabbitai summary` to regenerate the summary of the PR. - `@coderabbitai resolve` resolve all the CodeRabbit review comments. - `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository. - `@coderabbitai help` to get help. ### Other keywords and placeholders - Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed. - Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description. - Add `@coderabbitai` anywhere in the PR title to generate the title automatically. ### CodeRabbit Configuration File (`.coderabbit.yaml`) - You can programmatically configure CodeRabbit by adding a `.coderabbit.yaml` file to the root of your repository. - Please see the [configuration documentation](https://docs.coderabbit.ai/guides/configure-coderabbit) for more information. - If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: `# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json` ### Documentation and Community - Visit our [Documentation](https://docs.coderabbit.ai) for detailed information on how to use CodeRabbit. - Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback. - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.
github-actions[bot] commented 1 day ago

Preview URL: https://ziggle-a6jf4br3h-2paperstars-projects.vercel.app