Files
tehran_taj/apps/user-app-v2/dist/assets/ProductCard-ClTnYUud.css
T
s.esmaeili b80fa9bcfb Redesign product detail page and fix icon/cart reactivity bugs
- SingleProduct.vue: rebuild gallery/header/action bar as a self-scrolling
  layout with a sticky photo, solid-on-scroll header matching PageBar, and
  a full-screen image preview (blurred overlay, centered thumbnail strip)
- Add GallerySlider.vue: pointer-based swipe carousel isolated in an
  LTR subtree, fixing RTL/transform sign mismatch that caused slide jumps
- Fix Icon.vue: icon was read into a plain ref once at setup and never
  updated on prop change; switch to computed so icon swaps (e.g. cart
  qty stepper trash/minus toggle) actually re-render
- Fix quantity stepper DOM order in SingleProduct.vue/CartItem.vue so
  plus/minus render correctly under RTL flex
- prisma/assign-downloaded-images.js: seed real product photos (FEATURED/
  FEATURED_MOBILE/GALLERY/GALLERY_MOBILE) onto the 5 placeholder products
2026-09-18 16:22:31 +03:30

2 lines
1.8 KiB
CSS

.pc[data-v-ed785ed2]{cursor:pointer;border-radius:32px;background:#f4f5f6;padding:16px 14px 15px;text-align:center;transition:transform .2s ease,background .2s ease}.pc[data-v-ed785ed2]:active{transform:scale(.985)}.pc__art[data-v-ed785ed2]{position:relative;aspect-ratio:1 / 1;display:flex;align-items:center;justify-content:center}.pc__art img[data-v-ed785ed2]{max-width:82%;max-height:100%;-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center;display:block}.pc__artEmpty[data-v-ed785ed2]{width:100%;height:100%;display:grid;place-items:center;color:#8a909c}.pc__fav[data-v-ed785ed2]{position:absolute;top:0;left:0;width:30px;height:30px;display:grid;place-items:center;border:0;cursor:pointer;border-radius:50%;color:#8a909c;background:#ffffffbf;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:color .18s ease,transform .18s ease}.pc__fav.is-on[data-v-ed785ed2]{color:#7a1b33;background:#fff}.pc__fav[data-v-ed785ed2]:active{transform:scale(.9)}.pc__flag[data-v-ed785ed2]{position:absolute;top:0;right:0;padding:4px 9px;border-radius:999px;font-size:10px;font-weight:700;color:#fff;background:#14161a}.pc__flag--soft[data-v-ed785ed2]{background:#a33c55}.pc__title[data-v-ed785ed2]{margin:12px 0 0;font-size:12px;font-weight:500;color:#14161a;line-height:1.6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pc__weight[data-v-ed785ed2]{margin:5px 0 0;font-size:16px;font-weight:700;line-height:1.4;color:#22262e}.pc__weightUnit[data-v-ed785ed2]{font-size:12px;font-weight:600;color:#5b616e}.pc__meta[data-v-ed785ed2]{display:flex;align-items:center;justify-content:center;gap:8px;padding-top:5px;font-size:11.5px}.pc__wageOld[data-v-ed785ed2]{color:#8a909c;text-decoration:line-through}.pc__wage[data-v-ed785ed2]{color:#e31a1a;font-weight:500;font-size:12px}