food-market/src
nns faa13521e8
Some checks are pending
CI / Backend (.NET 8) (push) Waiting to run
CI / Web (React + Vite) (push) Waiting to run
CI / POS (WPF, Windows) (push) Waiting to run
Docker Web / Build + push Web (push) Waiting to run
Docker Web / Deploy Web on stage (push) Blocked by required conditions
feat(web): loading skeletons вместо «Загрузка…» в DataTable + edit-pages
Item 4 Sprint 7 — shimmer-плейсхолдеры вместо текстовых лоадеров.

Компоненты (src/components/Skeleton.tsx):
- <Skeleton variant='line'|'block'|'circle' /> — базовый pulse-блок.
- <TableSkeleton rows cols /> — 8 строк × N колонок с псевдослучайной
  шириной плейсхолдеров, чтобы превью таблицы выглядело естественно.
- <FormSkeleton /> — заголовок + 2 секции по 6 полей.

DataTable: при isLoading=true теперь рендерит TableSkeleton (а не
«Загрузка…»). На list-страницах layout остаётся стабильным.

Edit-pages: добавил guard
  if (!isNew && existing.isLoading) return <FormSkeleton />
на 9 doc-edit pages (ProductEdit, DemandEdit, EnterEdit, InventoryEdit,
LossEdit, SupplierReturnEdit, TransferEdit, SupplyEdit, RetailSaleEdit) +
OrganizationSettingsPage. До этого они показывали пустые поля formы или
«Загрузка…».

DashboardPage: график выручки во время загрузки теперь Skeleton block
72rem высоты (вместо текста «Загрузка…»).

tsc clean.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-30 11:03:08 +05:00
..
food-market.api feat(stage): demo-data seeder для test.admin.food-market.kz 2026-05-30 10:17:49 +05:00
food-market.application feat(cqrs): MediatR partial — 3 handler-образца (TD-1) 2026-05-28 17:51:08 +05:00
food-market.domain feat(concurrency): RowVersion на документах через Postgres xmin (TD-6) 2026-05-28 17:33:01 +05:00
food-market.infrastructure fix(catalog): EF8 nav-collection bug в Products.Update + unique IX на Article 2026-05-29 16:46:10 +05:00
food-market.pos Phase 0: project scaffolding and end-to-end auth 2026-04-21 13:59:13 +05:00
food-market.pos.core Phase 0: project scaffolding and end-to-end auth 2026-04-21 13:59:13 +05:00
food-market.public fix(validation): validatePassword проверяет заглавную и цифру (соответствует хинту) 2026-05-18 12:52:59 +05:00
food-market.shared feat(pos-shared): контракты POS v1 в food-market.shared (P1-12a) 2026-05-28 12:03:04 +05:00
food-market.web feat(web): loading skeletons вместо «Загрузка…» в DataTable + edit-pages 2026-05-30 11:03:08 +05:00