Files
thebet365/apps/admin/src/components/AdminTableEmpty.vue
Mars 24fa1b275c feat(admin,api,player): 优胜赛配置、赛事管理重构与玩家端投注体验优化
管理端拆分赛事/优胜赛 Tab,新增联赛优胜赔率面板(批量、排序、外侧删除);统一 list-chrome 工具栏对齐与列表页布局;Dashboard 失败重试、Users 操作下拉、小屏侧栏等体验修复。

API 扩展优胜赛与赛事目录接口,完善投注与钱包查询;玩家端重构赛事卡片、串关面板、注单/钱包页,新增注单详情、下注成功动画与下拉刷新。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-08 09:55:56 +08:00

48 lines
1.2 KiB
Vue

<script setup lang="ts">
import { useAdminLocale } from '../composables/useAdminLocale';
const { t } = useAdminLocale();
defineProps<{
text?: string;
hint?: string;
}>();
</script>
<template>
<div class="admin-table-empty">
<div class="admin-table-empty__icon" aria-hidden="true">
<svg width="40" height="40" viewBox="0 0 40 40" fill="none">
<rect x="6" y="10" width="28" height="22" rx="3" stroke="currentColor" stroke-width="1.5" opacity="0.35" />
<path d="M14 18h12M14 23h8" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" opacity="0.25" />
</svg>
</div>
<p class="admin-table-empty__text">{{ text ?? t('common.no_data') }}</p>
<p v-if="hint" class="admin-table-empty__hint">{{ hint }}</p>
<slot />
</div>
</template>
<style scoped>
.admin-table-empty {
padding: 28px 16px;
text-align: center;
}
.admin-table-empty__icon {
color: var(--green-text);
opacity: 0.45;
margin-bottom: 8px;
display: flex;
justify-content: center;
}
.admin-table-empty__text {
font-size: 13px;
color: var(--text-muted);
}
.admin-table-empty__hint {
font-size: 12px;
color: #555;
margin-top: 4px;
}
</style>