v1.12.23 대시보드 간소화 및 멤버 작성 이력 탭 추가
This commit is contained in:
@@ -21,6 +21,13 @@ const { data: adminSession } = await useFetch('/admin/api/auth/me', {
|
||||
})
|
||||
})
|
||||
|
||||
const selectedMemberTab = ref('info')
|
||||
const memberTabs = [
|
||||
{ value: 'info', label: '정보' },
|
||||
{ value: 'posts', label: '작성한 글' },
|
||||
{ value: 'comments', label: '작성한 댓글' }
|
||||
]
|
||||
|
||||
const isNewMember = computed(() => props.mode === 'new')
|
||||
const isSaving = ref(false)
|
||||
const savedMemberSnapshot = ref('')
|
||||
@@ -699,7 +706,7 @@ watch(() => props.member, () => {
|
||||
{{ pageTitle }}
|
||||
</h1>
|
||||
</div>
|
||||
<div class="admin-member-form__actions flex items-center gap-3">
|
||||
<div v-show="selectedMemberTab === 'info'" class="admin-member-form__actions flex items-center gap-3">
|
||||
<div v-if="!isNewMember && canManageMemberActions" class="admin-member-form__action-menu relative">
|
||||
<button class="admin-member-form__action-icon flex h-11 w-11 items-center justify-center rounded-md border border-line bg-white text-[#3f4650] transition hover:border-[#c5ccd5] hover:bg-[#f4f6f8]" type="button" aria-label="멤버 작업" :aria-expanded="actionMenuOpen" @click="toggleActionMenu">
|
||||
<svg class="h-5 w-5" viewBox="0 0 24 24" aria-hidden="true">
|
||||
@@ -744,7 +751,21 @@ watch(() => props.member, () => {
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="admin-member-form__body grid gap-8 py-8 xl:grid-cols-3">
|
||||
<nav v-if="!isNewMember" class="admin-member-form__tabs mt-5 flex gap-6 border-b border-line" aria-label="멤버 상세 메뉴">
|
||||
<button
|
||||
v-for="tab in memberTabs" :key="tab.value" type="button"
|
||||
class="admin-member-form__tab border-b-2 px-1 py-3 text-sm font-semibold"
|
||||
:class="selectedMemberTab === tab.value ? 'border-ink text-ink' : 'border-transparent text-muted hover:text-ink'"
|
||||
:aria-current="selectedMemberTab === tab.value ? 'page' : undefined"
|
||||
@click="selectedMemberTab = tab.value"
|
||||
>{{ tab.label }}</button>
|
||||
</nav>
|
||||
<AdminMemberActivityList
|
||||
v-if="!isNewMember && selectedMemberTab !== 'info'"
|
||||
:key="`${member.id}-${selectedMemberTab}`" :member-id="member.id" :kind="selectedMemberTab"
|
||||
class="admin-member-form__content-tab mt-6"
|
||||
/>
|
||||
<div v-show="selectedMemberTab === 'info'" class="admin-member-form__body grid gap-8 py-8 xl:grid-cols-3">
|
||||
<aside class="admin-member-form__summary">
|
||||
<div class="admin-member-form__identity flex items-center gap-4">
|
||||
<div class="admin-member-form__avatar-control group relative h-20 w-20 shrink-0">
|
||||
@@ -924,8 +945,6 @@ watch(() => props.member, () => {
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<AdminCommentList v-if="!isNewMember && member?.id" :key="member.id" :member-id="member.id" />
|
||||
|
||||
<section v-if="!isNewMember" class="admin-member-form__activity">
|
||||
<h2 class="admin-member-form__section-title mb-4 text-xs font-semibold uppercase tracking-[0.04em] text-[#15171a]">활동</h2>
|
||||
<div class="admin-member-form__activity-card rounded-xl border border-line bg-white px-5 md:px-6">
|
||||
|
||||
Reference in New Issue
Block a user