admin-panel: upgrade to ant-design-vue 4.2.6

- Bump ant-design-vue 3.2.20 -> 4.2.6, @ant-design/icons-vue 6.1.0 -> 7.0.1.
- ADV4 removed LESS theming (modifyVars) for CSS-in-JS design tokens: drop
  the vite.config.ts modifyVars block and the antd.less import; move the
  three tokens ant actually consumed (primary/link/border-radius) to
  App.vue's <a-config-provider :theme>.
- Delete src/assets/styles/ant.less (426 lines of hand-written RTL flips):
  ADV4 renders RTL natively via CSS logical properties given direction="rtl",
  which App.vue already sets. Preserve only the small residue ADV4 doesn't
  cover natively (upload filename LTR, select dropdown z-index, tabs nav
  direction) in a new rtl-overrides.css.
- Clean up the stale --primary/--accent token comment in utilities.less now
  that ant.less is gone.
- Verified: pnpm build (vue-tsc -b && vite build) passes with zero errors;
  the codebase already used v-model:open everywhere (no ADV3 visible prop
  usage to migrate).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
s.esmaeili
2026-09-14 15:05:05 +03:30
co-authored by Claude Sonnet 5
parent 8fac6a3f36
commit 7e30701570
8 changed files with 147 additions and 456 deletions
+11 -1
View File
@@ -7,8 +7,18 @@
NOTE this covers ant's own chrome only. Jalali dates still come from
moment-jalaali via components/input/DateInput.vue, which is unaffected.
`:theme` replaces the old vite.config.ts LESS `modifyVars` (ant-design-vue 4
dropped LESS theming for CSS-in-JS design tokens). Only the three legacy
variables that ant itself ever consumed are carried over — `secondary-color`
and `third-color` were never real ant variables (confirmed dead in the old
LESS build) and stay only as the CSS custom properties in utilities.less.
-->
<a-config-provider :locale="faIR" direction="rtl">
<a-config-provider
:locale="faIR"
direction="rtl"
:theme="{ token: { colorPrimary: '#1c2d56', colorLink: '#1DA57A', borderRadius: 6 } }"
>
<div id="app" :class="vueAppClasses">
<router-view @setAppClasses="setAppClasses" />
</div>