Skip to content

Fix#154 관리자 문의게시판 상태가 제대로 반영되지 않는 현상#155

Closed
toothlessdev wants to merge 1 commit into
mainfrom
fix#154
Closed

Fix#154 관리자 문의게시판 상태가 제대로 반영되지 않는 현상#155
toothlessdev wants to merge 1 commit into
mainfrom
fix#154

Conversation

@toothlessdev
Copy link
Copy Markdown
Member

@toothlessdev toothlessdev commented Jul 15, 2025

✅ Linked Issue

🔍 What I did

  • 관리자 문의게시판 상태가 제대로 반영되지 않는 현상 해결
    • API 응답으로오는 "완료", "미응답" 에 맞춰 수정

TODO

  • 문의하기 답변 후 리스트에 대한 쿼리 무효화가 되지 않는 현상 발견

@vercel
Copy link
Copy Markdown

vercel Bot commented Jul 15, 2025

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
mosu-client ✅ Ready (Inspect) Visit Preview 💬 Add feedback Jul 15, 2025 3:14pm

@toothlessdev toothlessdev moved this to 진행중 in mosu-client Jul 15, 2025
@toothlessdev toothlessdev enabled auto-merge July 15, 2025 15:14
Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary of Changes

Hello @toothlessdev, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request addresses a critical bug in the admin inquiry board where the status of inquiries was not being correctly reflected or filtered. The changes primarily involve aligning the frontend's understanding of inquiry statuses with the actual Korean string values ("완료" for completed, "미응답" for unanswered) returned by the API, and ensuring the UI and filtering logic correctly interpret these values. Additionally, it improves data freshness by invalidating the inquiry list cache upon status updates.

Highlights

  • API Type Definition Update: Updated the InquiryResponseBody interface in mosu-admin/src/api/inquiry/inquiry-list.ts to reflect the actual Korean status strings ("미응답", "완료") received from the API, replacing the previous English enumerations ("PENDING", "COMPLETED").
  • UI Display Logic Correction: Modified mosu-admin/src/components/inquiryboard/inquiry/InquiryPanel.tsx to correctly display inquiry statuses in the UI. The badge variant, styling, and displayed text now correctly use "완료" for completed inquiries and "미응답" for unanswered ones, aligning with the updated API response.
  • Inquiry Filtering Logic Adjustment: Updated mosu-admin/src/hooks/inquiry/useInquiryFilters.ts to filter inquiries based on the correct Korean status strings ("완료" for answered, "미응답" for unanswered), resolving discrepancies in the filtering mechanism.
  • Cache Invalidation Enhancement: Added a cache invalidation for the inquiry list (inquiryQueryKeys.list()) in mosu-admin/src/api/inquiry/inquiry-update-reply.ts after an inquiry reply is updated. This ensures the main inquiry list view reflects the latest status changes immediately without requiring a manual refresh.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in issue comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist is currently in preview and may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments to provide feedback.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@github-actions
Copy link
Copy Markdown

Messages
📖 ✅ PR 제목에 이슈 번호가 포함되어 있습니다.
📖 ✅ PR에 Reviewers가 지정되어 있습니다.
📖 ✅ PR에 라벨이 지정되어 있습니다.
📖 ✅ PR에 Assignees가 지정되어 있습니다.
📖 ✅ package.json에 변경사항이 없습니다.
📖 ✅ 브랜치 이름 'fix#154'이 컨벤션을 따릅니다.
📖 ✅ TypeScript 컴파일이 성공적으로 완료되었습니다.
📖 ✅ ESLint 검사 결과 문제가 없습니다.

📝 추가 및 변경된 파일

총 4개 파일 변경

└── 📂 mosu-admin/
    └── 📂 src/
        ├── 📂 api/
        │   └── 📂 inquiry/
        │       ├── 📘 inquiry-list.ts
        │       └── 📘 inquiry-update-reply.ts
        ├── 📂 components/
        │   └── 📂 inquiryboard/
        │       └── 📂 inquiry/
        │           └── ⚛️ InquiryPanel.tsx
        └── 📂 hooks/
            └── 📂 inquiry/
                └── 📘 useInquiryFilters.ts

Generated by 🚫 dangerJS against 38486fb

@github-actions
Copy link
Copy Markdown

✅ Mosu Admin 빌드가 성공적으로 완료되었습니다!

📋 빌드 결과

  • ✅ DangerJS 검사 통과
  • ✅ React 앱 빌드 성공

🚀 다음 단계

코드 리뷰 후 머지하면 프로덕션에 배포됩니다.

Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the inquiry status to match the API response. The changes are correct. I've suggested using constants for status values to improve maintainability.

content: string;
author: string;
status: "PENDING" | "COMPLETED";
status: "미응답" | "완료";
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Consider defining the status values as constants to improve maintainability. This avoids "magic strings" and makes the code more robust if the API response values change in the future.

}
>
{row.status === "COMPLETED" ? "완료" : "미응답"}
{row.status === "완료" ? "완료" : "미응답"}
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The ternary expression is redundant. Since row.status is guaranteed by its type to be either "완료" or "미응답", you can simplify this to display row.status directly.

{row.status}

Comment on lines +14 to +15
if (selectedFilters.answered && inquiry.status === "완료") return true;
if (selectedFilters.unanswered && inquiry.status === "미응답") return true;
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Consider using constants for the status values ("완료", "미응답") to improve maintainability and avoid "magic strings".

@toothlessdev toothlessdev assigned kimgho and unassigned toothlessdev Jul 15, 2025
auto-merge was automatically disabled July 16, 2025 14:03

Pull request was closed

@github-project-automation github-project-automation Bot moved this from 진행중 to 완료 in mosu-client Jul 16, 2025
@toothlessdev toothlessdev deleted the fix#154 branch July 16, 2025 14:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: 완료

Development

Successfully merging this pull request may close these issues.

[🐞 버그 리포트] 관리자 문의게시판 상태가 제대로 반영되지 않는 현상

2 participants