Skip to content

[Release] develop -> main#283

Merged
Yunil-dev merged 2 commits into
mainfrom
develop
May 28, 2026
Merged

[Release] develop -> main#283
Yunil-dev merged 2 commits into
mainfrom
develop

Conversation

@Yunil-dev
Copy link
Copy Markdown
Contributor

@Yunil-dev Yunil-dev commented May 28, 2026

📝 관련 문서 레퍼런스

- [Issue] :
- [Slack] : 
- [Notion] : 

💻 주요 변경 사항은 무엇인가요?

-

📚 추가된 라이브러리

- [추가] : YES | NO

📱 결과 화면 (선택)


🙇 코드 리뷰 중점사항, 예상되는 문제점 (선택)

-

Summary by CodeRabbit

Release Notes

  • New Features

    • Admin reservation details now display promotion code and discount rate information.
    • Users table includes new columns for referral source and signup platform tracking.
    • User Excel export includes referral source and signup platform data.
  • Documentation

    • Updated reservation confirmation email messaging to reflect 24-hour delivery window and spam folder guidance.

Review Change Stack

@vercel
Copy link
Copy Markdown

vercel Bot commented May 28, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
meditrip-web Building Building Preview, Comment May 28, 2026 10:06am

Request Review

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 28, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 397845df-f4ea-4414-92b2-f5adfce27674

📥 Commits

Reviewing files that changed from the base of the PR and between 0ab7fea and 3243b73.

📒 Files selected for processing (7)
  • messages/en/reservation.json
  • messages/ko/reservation.json
  • src/models/admin/index.ts
  • src/models/reservation/index.ts
  • src/pages/admin/reservations/index.tsx
  • src/pages/admin/users/index.tsx
  • src/utils/admin-excel.ts

📝 Walkthrough

Walkthrough

This PR extends the admin panel with two independent feature enhancements: user acquisition metadata (referral source, signup platform) displayed across admin users management with Excel export; and reservation promotion details visible in the admin reservations page. Additionally, reservation completion email notices are updated with clearer 24-hour delivery expectations.

Changes

User Acquisition and Signup Metadata Display

Layer / File(s) Summary
User model and metadata formatters
src/models/admin/index.ts, src/pages/admin/users/index.tsx, src/utils/admin-excel.ts
AdminUserListItem extended with referral_source and signup_platform fields; label mapping and formatter utilities (SIGNUP_PLATFORM_LABELS, formatSignupPlatform, USER_SIGNUP_PLATFORM_LABELS, formatUserSignupPlatform) established for consistent display.
Users admin page table and search
src/pages/admin/users/index.tsx
Users table adds "유입경로" and "가입경로" columns rendering the new metadata fields; search expanded to include referral source and formatted signup platform; page description updated; table min-width increased to accommodate new columns.
Users Excel export metadata columns
src/utils/admin-excel.ts
Excel export worksheet extended with referral source and signup platform columns, populated per user row using referral source and formatted signup platform values.

Reservation Promotion Display and Completion Email

Layer / File(s) Summary
Reservation promotion type definitions
src/models/reservation/index.ts
New ReservationPromotionInfo interface introduced with promotion_code and promotion_code_rate optional fields; ReservationDetail extended with optional promotion_code_info property.
Admin reservations page promotion display
src/pages/admin/reservations/index.tsx
Reservations page imports ReservationPromotionInfo and adds formatPromotionRate (Korean locale percentage formatting) and getReservationPromotionInfo (promotion data extraction) helpers; detail grid conditionally renders promotion applied status, code, and formatted discount rate when available.
Reservation completion email notices
messages/en/reservation.json, messages/ko/reservation.json
Localization strings for complete.emailNotice updated in English and Korean to specify confirmation email delivery within 24 hours with spam folder guidance, replacing previous "already sent" phrasing.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • wellness-meditrip/kommatrip_web#198: Both PRs extend reservation promotion handling by introducing/consuming promotion rate and related promotion metadata (main PR adds ReservationPromotionInfo/admin promotion display, while retrieved PR adds rate to promotion validation and makes reservation/payment UIs promotion-aware).

Suggested labels

✨ feature

Poem

🐰 New fields bloom in user rows,
Promotions sparkle, referrals show,
Excel spreads with metadata's glow,
Admin dashboards steal the show! ✨

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch develop

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

src/models/admin/index.ts

ESLint skipped: missing config or dependency (missing-dependency). The ESLint configuration references a package that is not available in the sandbox.

src/models/reservation/index.ts

ESLint skipped: the ESLint configuration for this file references a package that is not available in the sandbox.

src/pages/admin/reservations/index.tsx

ESLint skipped: the ESLint configuration for this file references a package that is not available in the sandbox.

  • 2 others

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@Yunil-dev Yunil-dev merged commit c2e0038 into main May 28, 2026
3 of 5 checks passed
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 adds referral source and signup platform information to the admin user list, including UI display and Excel export functionality. It also introduces promotion code and discount rate details to the admin reservation view, alongside updated localization messages. Regarding the feedback, a potential bug was identified in the formatPromotionRate helper, where using a heuristic (value <= 1) to handle both decimal and integer percentages could lead to severe data distortion (e.g., displaying a 1% discount as 100%). It is recommended to clarify the API's data format and apply a single, consistent formatting logic.

Comment on lines +118 to +129
const formatPromotionRate = (value?: number | null) => {
if (typeof value !== 'number' || !Number.isFinite(value)) return '-';

if (value <= 1) {
return new Intl.NumberFormat('ko-KR', {
style: 'percent',
maximumFractionDigits: 1,
}).format(value);
}

return `${value}%`;
};
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

high

value <= 1 조건으로 소수점 비율(예: 0.1 -> 10%)과 정수 비율(예: 10 -> 10%)을 동시에 지원하려는 휴리스틱은 버그를 유발할 가능성이 높습니다.\n\n만약 API가 정수 비율(0100)을 반환하고 실제 할인율이 1% 또는 0.5%인 경우, value <= 1 조건에 걸려 각각 100%, 50%로 잘못 표기되는 심각한 데이터 왜곡이 발생할 수 있습니다.\n\npromotion_code_rate가 항상 소수점 형태(01)인지, 아니면 항상 정수 형태(0~100)인지 데이터 포맷을 명확히 정의하고 하나의 방식으로만 포맷팅하도록 수정하는 것을 권장합니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant