feat: 사용자 상세 모달에 생일 표시
- /admin/user/<id> API에 birthday 필드 추가
- 카카오 인증 시 저장된 생일 정보 표시
- 🎂 MM월 DD일 형식으로 표시
This commit is contained in:
parent
8c366cc4db
commit
8c127cfb95
@ -1248,7 +1248,7 @@ def admin_user_detail(user_id):
|
|||||||
|
|
||||||
# 2. 사용자 기본 정보 조회
|
# 2. 사용자 기본 정보 조회
|
||||||
cursor.execute("""
|
cursor.execute("""
|
||||||
SELECT id, nickname, phone, mileage_balance, created_at
|
SELECT id, nickname, phone, mileage_balance, created_at, birthday
|
||||||
FROM users WHERE id = ?
|
FROM users WHERE id = ?
|
||||||
""", (user_id,))
|
""", (user_id,))
|
||||||
user = cursor.fetchone()
|
user = cursor.fetchone()
|
||||||
@ -1477,7 +1477,8 @@ def admin_user_detail(user_id):
|
|||||||
'phone': user['phone'],
|
'phone': user['phone'],
|
||||||
'balance': user['mileage_balance'],
|
'balance': user['mileage_balance'],
|
||||||
'created_at': utc_to_kst_str(user['created_at']),
|
'created_at': utc_to_kst_str(user['created_at']),
|
||||||
'is_kakao_verified': user['nickname'] != '고객' # 카카오 인증 여부
|
'is_kakao_verified': user['nickname'] != '고객', # 카카오 인증 여부
|
||||||
|
'birthday': user['birthday'] if user['birthday'] else None
|
||||||
},
|
},
|
||||||
'mileage_history': [
|
'mileage_history': [
|
||||||
{
|
{
|
||||||
|
|||||||
@ -882,6 +882,12 @@
|
|||||||
<div style="color: #868e96; font-size: 13px; margin-bottom: 6px;">가입일</div>
|
<div style="color: #868e96; font-size: 13px; margin-bottom: 6px;">가입일</div>
|
||||||
<div style="color: #212529; font-size: 16px; font-weight: 600;">${user.created_at}</div>
|
<div style="color: #212529; font-size: 16px; font-weight: 600;">${user.created_at}</div>
|
||||||
</div>
|
</div>
|
||||||
|
${user.birthday ? `
|
||||||
|
<div>
|
||||||
|
<div style="color: #868e96; font-size: 13px; margin-bottom: 6px;">🎂 생일</div>
|
||||||
|
<div style="color: #ec4899; font-size: 16px; font-weight: 600;">${user.birthday.slice(0,2)}월 ${user.birthday.slice(2,4)}일</div>
|
||||||
|
</div>
|
||||||
|
` : ''}
|
||||||
</div>
|
</div>
|
||||||
<div style="text-align: right; display: flex; gap: 8px; justify-content: flex-end;">
|
<div style="text-align: right; display: flex; gap: 8px; justify-content: flex-end;">
|
||||||
<button onclick="showAIAnalysisModal(${user.id})" style="padding: 10px 24px; background: linear-gradient(135deg, #8b5cf6 0%, #6366f1 100%); color: white; border: none; border-radius: 10px; font-size: 14px; font-weight: 600; cursor: pointer; transition: all 0.2s;">
|
<button onclick="showAIAnalysisModal(${user.id})" style="padding: 10px 24px; background: linear-gradient(135deg, #8b5cf6 0%, #6366f1 100%); color: white; border: none; border-radius: 10px; font-size: 14px; font-weight: 600; cursor: pointer; transition: all 0.2s;">
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user