Skip to content

v1.4 — iOS-style dashboard (grid + live edit)

Choose a tag to compare

@dripips dripips released this 12 May 13:56

v1.4 — Дашборд как iOS Springboard

Полная переделка кастомизации виджетов: размер S/M/L + drag-reorder прямо на самом дашборде, без перехода на отдельную страницу.

📐 Grid система

  • CSS Grid с auto-flow: dense — 4 кол. на lg, 2 на md, 1 на sm
  • 3 размера виджетов: S (1 кол.), M (2 кол.), L (4 кол. / full width)
  • DEFAULT_SIZES per widget — kpi_tiles/recent_activity/documents_expiring = L по умолчанию, остальные M
  • Маленькие виджеты заполняют дыры после больших (grid-auto-flow: dense)

✎ Live edit-mode

  • Кнопка "Изменить" в шапке → виджеты получают синий пульсирующий inset-outline
  • Floating size-segment (S/M/L) в правом-верхнем углу — клик меняет класс мгновенно, грид reflow'ит без сети
  • Eye-toggle (●/○) — fade-out скрытых с пунктирным border'ом
  • Drag-to-reorder на самом дашборде: курсор подсвечивает drop-target толстой синей рамкой, отпускание встаёт на новое место
  • Sticky edit-bar внизу с Cancel / Save + spring-анимация
  • Esc — отмена с восстановлением snapshot

🐛 Bug fixes

  • `_my_kpi.html.erb`: `a.target_value` → `a.target` (колонки `target_value` не существует в `kpi_assignments`)
  • Drag-reorder перевёл с live-insertBefore (дёргался) на drop-only insertBefore (стабильно)
  • Убраны pulse/wiggle/transition animations в edit-mode которые ломали Chrome'овский drag state-machine

🌍 i18n

  • +10 ключей в ru/en/de — паритет 2247/2247/2247

Submodule design-system

  • `.dashboard-grid` + `.dashboard-widget--{s,m,l}`
  • `.size-segment` (segmented pill control)
  • `.dashboard-widget__edit-overlay` + `.dashboard-edit-bar`
  • `.toast-apple` (минималистичный bottom-toast)