v1.7.1: 멤버 권한·추천 사이트·네비게이션 UI 개선
관리자는 VIP·멤버만 수정 가능하도록 서버·UI 권한을 정리하고 소유자 권한 이전 API와 확인 모달을 추가했다. 추천 사이트 파비콘 캐시·URL 접두사·카드 편집 UI를 보강하고 확인 얼럿을 AdminConfirmModal로 통일했다. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -6,6 +6,14 @@ definePageMeta({
|
||||
/** 서버 `MEDIA_THUMBNAIL_ROOT`와 동일한 썸네일 논리 폴더 라벨 */
|
||||
const MEDIA_THUMBNAIL_ROOT = '썸네일'
|
||||
|
||||
/** 회원 등급 코드 → 미디어 배지 라벨 */
|
||||
const memberRoleBadgeLabels = {
|
||||
owner: '소유자',
|
||||
admin: '관리자',
|
||||
vip: 'VIP',
|
||||
member: '멤버'
|
||||
}
|
||||
|
||||
/**
|
||||
* 논리 폴더 경로가 썸네일 전용 루트인지 확인한다.
|
||||
* @param {string} folder - 폴더 경로
|
||||
@@ -98,7 +106,8 @@ const canEditMediaCategory = (item) => !isSystemManagedMediaItem(item)
|
||||
*/
|
||||
const getMediaBadgeLabel = (item) => {
|
||||
if (item?.avatarOwner) {
|
||||
return '회원'
|
||||
const roleCode = String(item.avatarOwner.roleCode || 'member')
|
||||
return memberRoleBadgeLabels[roleCode] || memberRoleBadgeLabels.member
|
||||
}
|
||||
|
||||
if (activeTab.value === 'postThumbnails' && item?.thumbnailStatus?.role === 'card') {
|
||||
@@ -1447,6 +1456,10 @@ watch(filteredMediaUrls, (urls) => {
|
||||
<dt class="text-[11px] font-semibold uppercase tracking-wide text-muted">이메일</dt>
|
||||
<dd class="mt-0.5 break-all text-ink">{{ selectedMedia.avatarOwner.email }}</dd>
|
||||
</div>
|
||||
<div class="admin-media__avatar-owner-row">
|
||||
<dt class="text-[11px] font-semibold uppercase tracking-wide text-muted">등급</dt>
|
||||
<dd class="mt-0.5 text-ink">{{ getMediaBadgeLabel(selectedMedia) }}</dd>
|
||||
</div>
|
||||
<div class="admin-media__avatar-owner-row">
|
||||
<dt class="text-[11px] font-semibold uppercase tracking-wide text-muted">마지막 접속</dt>
|
||||
<dd class="mt-0.5 text-ink">{{ formatDateTime(selectedMedia.avatarOwner.lastSeenAt) }}</dd>
|
||||
|
||||
Reference in New Issue
Block a user