Files
geo/apps/admin-web/src/views/KolProfileView.vue
T
root 162abdc97c
Backend CI / Backend (push) Has been cancelled
Frontend CI / Frontend (push) Failing after 1m39s
chore(frontend): introduce prettier + eslint and prune unused code
- Add Prettier 3 with prettier-plugin-organize-imports (sorts/removes unused imports)
- Add ESLint 10 flat config with typescript-eslint + eslint-plugin-vue + eslint-config-prettier
- Add root scripts: format, format:check, lint, lint:fix
- Reformat 257 files across admin-web, ops-web, desktop-client, packages
- Remove unused locals/exports flagged by --noUnusedLocals/--noUnusedParameters
- Fix duplicate localTabLabel key, surrogate-pair regex u-flag, NBSP literal in regex
- Skip server/ (Go) and apps/browser-extension/ (deprecated per ADR)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-01 20:39:09 +08:00

46 lines
1.2 KiB
Vue

<script setup lang="ts">
import { useQuery } from '@tanstack/vue-query'
import { useI18n } from 'vue-i18n'
import KolPersonaCard from '@/components/kol/KolPersonaCard.vue'
import { kolManageApi } from '@/lib/api'
import { formatError } from '@/lib/errors'
const { t } = useI18n()
const profileQuery = useQuery({
queryKey: ['kol', 'profile'],
queryFn: () => kolManageApi.profile(),
})
</script>
<template>
<div class="kol-profile-view">
<section class="page-title-card">
<div class="page-title-card__header">
<div class="page-title-card__copy">
<h2>{{ t('kol.profile.title') }}</h2>
<p>{{ t('kol.profile.subtitle') }}</p>
</div>
</div>
</section>
<a-skeleton v-if="profileQuery.isPending.value" active avatar :paragraph="{ rows: 3 }" />
<a-alert
v-else-if="profileQuery.isError.value"
type="error"
show-icon
:message="formatError(profileQuery.error.value) || t('common.noData')"
/>
<KolPersonaCard v-else-if="profileQuery.data.value" :profile="profileQuery.data.value" />
</div>
</template>
<style scoped>
.kol-profile-view {
display: flex;
flex-direction: column;
gap: 24px;
}
</style>