admin-panel: fix CSS bugs and dedupe scoped grid utilities

Approved departure from the port's byte-faithful rule (docs/ADMIN-PORT-PLAN.md
bug rows 4-6), fixed and logged rather than silently changed:
- farsi.less: bold/700 @font-face blocks now load iran-yekan-700.woff2
  instead of the 400 file, so bold text actually renders bold. No source
  file exists for weight 300, so that face is dropped rather than faked.
- format("woff") corrected to format("woff2") on all faces.
- Removed 'font-weight: inherit' from the body,* reset, which was flattening
  every heading's weight.

Also deduped 24 view files that each redeclared .grid-2/.grid-3/.grid-4 in
a scoped <style> block with drifted minmax values, though utilities.less
already defines all three globally. Removed the scoped copies; kept
PromotionForm's genuinely different 0.5rem gap as a small .grid-4--tight
modifier instead of a full redeclaration.

Verified: pnpm build passes.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
s.esmaeili
2026-09-14 15:09:11 +03:30
co-authored by Claude Sonnet 5
parent 7e30701570
commit f0de478940
26 changed files with 51 additions and 166 deletions
+19 -27
View File
@@ -1,60 +1,52 @@
// Ported from legacy henza_admin/src/assets/scss/ara/farsi.scss
// Converted .scss -> .less (no Sass features were used; this file is plain CSS).
//
// PORTED FAITHFULLY INCLUDING A KNOWN LEGACY BUG — see docs/ADMIN-PORT-PLAN.md:
// 1. All five @font-face blocks point at the SAME iran-yekan-400.woff2 file even
// though iran-yekan-700.woff2 exists. Bold text therefore renders in the
// regular weight (synthesised bold at best).
// 2. `format("woff")` is declared for a .woff2 file (wrong format hint).
// 3. The `body, *` reset sets `font-weight: inherit`, which flattens all heading
// weights (h1..h6 lose their default bold).
// None of these are fixed here. Flagged, not silently corrected.
// CSS bugs fixed here (approved departure from byte-faithful porting — see
// docs/ADMIN-PORT-PLAN.md rule 2; listed rather than silently applied):
// 1. FIXED: the bold/700 @font-face blocks pointed at the SAME
// iran-yekan-400.woff2 file even though iran-yekan-700.woff2 exists, so
// bold text rendered in the regular weight. They now load the 700 file.
// There is no source file for weight 300 (only 400/700 exist on disk),
// so that face is dropped rather than mapped to another weight.
// 2. FIXED: `format("woff")` was declared for a .woff2 file (wrong format
// hint). Corrected to format("woff2").
// 3. FIXED: the `body, *` reset set `font-weight: inherit`, which flattened
// every heading's weight (h1..h6 rendered at their parent's weight
// instead of bold). Removed; browsers' default heading weights apply.
@font-face {
font-family: 'p-yek';
src: url("../fonts/yekan/iran-yekan-400.woff2") format("woff");
src: url("../fonts/yekan/iran-yekan-400.woff2") format("woff2");
font-weight: normal;
font-style: normal
font-style: normal;
}
@font-face {
font-family: 'p-yek';
src: url("../fonts/yekan/iran-yekan-400.woff2") format("woff");
src: url("../fonts/yekan/iran-yekan-700.woff2") format("woff2");
font-weight: bold;
}
@font-face {
font-family: 'p-yek';
src: url("../fonts/yekan/iran-yekan-400.woff2") format("woff");
src: url("../fonts/yekan/iran-yekan-700.woff2") format("woff2");
font-weight: 700;
}
@font-face {
font-family: 'p-yek';
src: url("../fonts/yekan/iran-yekan-400.woff2") format("woff");
font-weight: 300;
}
@font-face {
font-family: 'p-yek';
src: url("../fonts/yekan/iran-yekan-400.woff2") format("woff");
src: url("../fonts/yekan/iran-yekan-400.woff2") format("woff2");
font-weight: 400;
}
body, * {
font-family: p-yek ,sans-serif, tahoma;
font-family: p-yek, sans-serif, tahoma;
letter-spacing: 0px !important;
font-size: inherit;
line-height: inherit;
font-weight: inherit;
}
.ara-icon-button{
.ara-icon-button {
width: 35px;
height: 35px;
border-radius: 50%;