feat: complete admin panel and backend admin api migration
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
<template>
|
||||
<!--
|
||||
Ported from legacy henza_admin/src/views/manage/report.vue — a shortcut board
|
||||
of report links, read from the `dashboard.links` setting.
|
||||
-->
|
||||
<a-card title="مدیریت گزارشات">
|
||||
<a-empty v-if="links.length === 0" description="هنوز لینکی تعریف نشده است" />
|
||||
<div v-else class="links">
|
||||
<a v-for="(l, i) in links" :key="i" :href="l.url" target="_blank" class="link-card">
|
||||
{{ l.title }}
|
||||
</a>
|
||||
</div>
|
||||
</a-card>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { onMounted, ref } from 'vue';
|
||||
import api from '../../api/client';
|
||||
|
||||
const links = ref<{ title: string; url: string }[]>([]);
|
||||
|
||||
onMounted(async () => {
|
||||
try {
|
||||
const { data } = await api.get('dashboard/link');
|
||||
links.value = Array.isArray(data) ? data : [];
|
||||
} catch (e) {
|
||||
console.log(e);
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.links { display: flex; flex-wrap: wrap; gap: 1rem; }
|
||||
.link-card {
|
||||
display: block;
|
||||
padding: 1rem 1.5rem;
|
||||
border: 1px solid #f0f0f0;
|
||||
border-radius: 6px;
|
||||
color: #1c2d56;
|
||||
}
|
||||
.link-card:hover { border-color: #1c2d56; }
|
||||
</style>
|
||||
Reference in New Issue
Block a user