Admin Payments 뷰 + 사이드바 메뉴
ID: cb40691b-6811-4d34-816a-8e919d545dba
## 작업 내용
관리자 결제 관리 페이지의 뷰를 구현하고, 사이드바에 메뉴를 추가합니다.
## 완료 기준
### 1. 사이드바 메뉴 추가 (app/views/admin/shared/_sidebar.html.erb)
- "진단 세션" 메뉴 아래에 "결제 관리" 메뉴 추가
- 아이콘: Heroicon의 credit-card 또는 banknotes 아이콘 사용
- 링크: admin_payments_path
- 활성 상태 표시: 기존 패턴 따르기
### 2. Payments Index 뷰 (app/views/admin/payments/index.html.erb)
기존 admin 뷰 패턴(diagnosis_sessions/index.html.erb)을 참고하여 일관된 디자인으로 구현:
**페이지 헤더:**
- 제목: "결제 관리"
- 전체 건수 표시
**검색 & 필터 영역:**
- 검색: 사용자명/이메일/전화번호 통합 검색
- 상태 필터: 전체/대기중(pending)/완료(completed)/실패(failed)/취소(canceled)
- 결제 유형 필터: 전체 + 각 payment_type (한글 표시)
**테이블 컬럼 (요구사항 순서):**
1. 사용자 (user.name)
2. 이메일 (user.email_address)
3. 전화번호 (user.phone)
4. 상품명 (payment_type 한글 표시 - report: "강점 진단 리포트", analysis_credit: "분석 크레딧" 등)
5. 가격 (amount, number_to_currency 포맷)
6. 상태 (status, 색상 배지로 표시 - completed: green, pending: yellow, failed: red, canceled: gray)
7. 할인금액 (discount_amount, 0이면 "-")
8. 결제일 (approved_at, 없으면 "-")
9. 영수증 (receipt_url이 있으면 링크, 없으면 "-")
10. 취소 (취소 버튼 - completed 상태이고 canceled_at이 없을 때만 표시)
**페이지네이션:**
- pagy 사용 (기존 패턴 참고)
**결제 유형 한글 매핑:**
```
report → 강점 진단 리포트
career_up → 커리어업
premium → 프리미엄
analysis_credit → 분석 크레딧
package → 패키지
workshop → 워크숍
strength_diary → 강점 다이어리
custom → 커스텀 결제
```
**상태 한글 매핑:**
```
pending → 대기중
completed → 완료
failed → 실패
canceled → 취소
```
### 3. Tailwind CSS 스타일
- 기존 admin 뷰의 Tailwind 클래스 패턴을 정확히 따르세요
- 반응형 테이블 (overflow-x-auto)
- 상태 배지, 버튼 등 기존 디자인 시스템 유지
### 참고 사항
- 기존 admin 뷰 패턴: app/views/admin/diagnosis_sessions/index.html.erb 참고
- 사이드바: app/views/admin/shared/_sidebar.html.erb
- Tailwind CSS 사용 중
- ERB 템플릿 엔진
- 한국어 UI
첨부 이미지
이미지 추가 (Ctrl+V로 붙여넣기 또는 클릭)
JPEG, PNG, GIF, WebP / 최대 10MB
활동 로그
-
팀팀리드 상태 변경: 할 일 → 완료
2026년 02월 28일 07:26:28
-
Ffrontend-dev Admin Payments 뷰 + 사이드바 메뉴 구현 완료
2026년 02월 28일 07:21:01
상세 보기
## 수정/생성된 파일
### 1. app/views/admin/shared/_nav_item.html.erb (수정)
- `payments` 아이콘(credit-card SVG path) 추가### 2. app/views/admin/shared/_sidebar.html.erb (수정)
- 워크스페이스 메뉴 아래에 "결제 관리" nav_item 추가
- `admin_payments_path` 링크, `controller_name == "payments"` 활성 조건### 3. app/views/admin/payments/index.html.erb (신규 생성)
- 헤더: 제목 + 전체 건수
- 검색 & 필터: 텍스트 검색(사용자명/이메일/전화번호), 상태 필터, 결제유형 필터
- 테이블 10컬럼: 사용자, 이메일, 전화번호, 상품명, 가격, 상태, 할인금액, 결제일, 영수증, 취소
- 상태 배지: completed→green, pending→yellow, failed→red, canceled→gray
- 취소 버튼: `button_to cancel_admin_payment_path` + turbo_confirm
- 빈 상태 메시지
- 페이지네이션: `admin/shared/pagination` partial 사용
- 기존 diagnosis_sessions/index.html.erb 패턴과 완전히 일관된 Tailwind CSS### 4. config/locales/ko.yml (수정)
- `admin.nav.payments`: "결제 관리"
- `admin.payments.*`: title, subtitle, search_placeholder, all_statuses, all_types, empty, confirm_cancel, cancel_button, canceled_label, table.*, flash.* -
Ffrontend-dev 기존 admin 뷰 패턴 분석 완료, 구현 시작
2026년 02월 28일 07:19:10
상세 보기
## 분석 완료 항목
- `_sidebar.html.erb`: nav_item partial 사용, icon SVG 경로 매핑 방식
- `_nav_item.html.erb`: icon 키 → SVG path 매핑, active 조건
- `diagnosis_sessions/index.html.erb`: 검색/필터/테이블/페이지네이션 패턴
- `_pagination.html.erb`: page/total_pages/total_count locals
- `Payment` 모델: status enum, payment_type enum, 필드 구조 확인
- i18n: admin 네임스페이스 패턴 확인## 구현 계획
1. 사이드바에 payments nav_item 추가
2. nav_item에 payments 아이콘 추가
3. admin/payments/index.html.erb 생성
4. i18n에 admin.payments 키 추가