feat(web): adopt vuesax icons and shared skeleton loading
Replace the inline SVG icon set with the vuesax linear pack, add skeleton primitives for loading states, and keep page scroll inside the app shell. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -46,13 +46,14 @@ import {
|
||||
PhoneOutlined,
|
||||
PlusOutlined,
|
||||
UserOutlined,
|
||||
} from '@ant-design/icons-vue';
|
||||
} from '@/icons/ant-bridge';
|
||||
import { api } from '@/lib/api';
|
||||
import { useAuthStore } from '@/stores/auth';
|
||||
import { formatJalaliNumeric, toFaDigits } from '@/lib/jalali';
|
||||
import CustomerMoodFace from '@/components/CustomerMoodFace.vue';
|
||||
import ExcelImportFlow from '@/components/ExcelImportFlow.vue';
|
||||
import PhoneContactsImport from '@/components/PhoneContactsImport.vue';
|
||||
import { CrmSkeleton, CrmSkeletonTable } from '@/components/skeleton';
|
||||
import PersonFormView from '@/views/PersonFormView.vue';
|
||||
import CompanyFormView from '@/views/CompanyFormView.vue';
|
||||
import SavedFiltersBar from '@/components/SavedFiltersBar.vue';
|
||||
@@ -782,7 +783,8 @@ function peopleCustomRow(record: PersonDto) {
|
||||
<a-alert v-if="importMsg" type="success" show-icon :message="importMsg" />
|
||||
<a-alert v-if="error" type="error" show-icon :message="error" />
|
||||
|
||||
<a-spin v-if="!error" :spinning="loading" tip="در حال بارگذاری…">
|
||||
<CrmSkeleton v-if="!error" :loading="loading">
|
||||
<CrmSkeletonTable :rows="8" :columns="10" :card="false">
|
||||
<template v-if="tab === 'people'">
|
||||
<template v-if="people?.items.length">
|
||||
<a-alert v-if="selectedIds.length" type="info" show-icon>
|
||||
@@ -1042,7 +1044,6 @@ function peopleCustomRow(record: PersonDto) {
|
||||
v-else-if="!loading"
|
||||
description="شخصی ثبت نشده است. اولین مخاطب یا مشتری را اضافه کنید."
|
||||
/>
|
||||
<div v-else :style="{ minHeight: '160px' }" />
|
||||
</template>
|
||||
|
||||
<template v-else>
|
||||
@@ -1157,9 +1158,9 @@ function peopleCustomRow(record: PersonDto) {
|
||||
v-else-if="!loading"
|
||||
description="شرکتی ثبت نشده است. اولین شرکت یا سازمان را اضافه کنید."
|
||||
/>
|
||||
<div v-else :style="{ minHeight: '160px' }" />
|
||||
</template>
|
||||
</a-spin>
|
||||
</CrmSkeletonTable>
|
||||
</CrmSkeleton>
|
||||
|
||||
<a-flex v-if="total" justify="flex-start" :style="{ marginTop: `${token.margin}px` }">
|
||||
<a-pagination
|
||||
|
||||
Reference in New Issue
Block a user