feat(hints): contextual help system + FAQ page (MVP)
Infrastructure for a portal-wide in-app help system:
* Users have hints_enabled (default true) and dismissed_hints (JSON
array) columns. User::shouldSeeHint(key) checks both.
* app/Support/Hints.php — single-source-of-truth registry with 14
pilot hints across Service (5), CRM (3), Depozit (3), Finanțe (3).
Each entry has RO/RU/EN title + body + optional next-step + links.
* <x-hint key="wo.dashboard.overview" /> Blade component renders a
small "?" icon with Alpine.js popover; the popover shows title,
body, next-step, related links and an "X" button that POSTs to
/app/hints/{key}/dismiss.
* HintController handles dismiss (per key), toggle (global on/off)
and reset (clear dismissed + re-enable). Routes are auth:web.
* /app/faq page (Filament Page under Admin group) renders the whole
registry grouped by area with a live search box and buttons to
toggle global hints or reset dismissed ones.
* Wired 3 pilot hints into the WO dashboard: title (overview), Docs
tab PDF preview, and the Chat client card.
Follow-ups: extend registry to cover more pages and add <x-hint>
tags where useful. Filament resource fields can also reuse the same
copy via ->hint()/->helperText().
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -32,6 +32,7 @@
|
||||
":n poziții importate în Purchase nouă": ":n позиций импортировано в новый заказ",
|
||||
"> 0 calculează automat prețul client.": "> 0 автоматически рассчитывает цену клиента.",
|
||||
"A1-03": "A1-03",
|
||||
"ACTIVE": "ВКЛ",
|
||||
"AGRNMD2X": "AGRNMD2X",
|
||||
"AI provider": "AI-провайдер",
|
||||
"AI: preț recomandat": "AI: рекомендованная цена",
|
||||
@@ -372,6 +373,7 @@
|
||||
"Category": "Категория",
|
||||
"Caută": "Найти",
|
||||
"Caută client, mașină, număr...": "Поиск клиента, авто, номера...",
|
||||
"Caută în ghid...": "Поиск по гиду...",
|
||||
"Caută în tabel": "Поиск в таблице",
|
||||
"Cauza adresării": "Причина обращения",
|
||||
"Caz asigurare": "Страховой случай",
|
||||
@@ -825,6 +827,7 @@
|
||||
"Eșapament": "Выхлоп",
|
||||
"Ești sigur?": "Ты уверен?",
|
||||
"Eșuat": "Ошибка",
|
||||
"FAQ & Ghid utilizator": "FAQ и гид пользователя",
|
||||
"FIȘĂ DE LUCRU": "ЗАКАЗ-НАРЯД",
|
||||
"Facturi": "Счета",
|
||||
"Facturi & abonament": "Facturi & abonament",
|
||||
@@ -952,6 +955,7 @@
|
||||
"IBAN:": "IBAN:",
|
||||
"ID": "ID",
|
||||
"IDNO / CUI": "IDNO / CUI",
|
||||
"INACTIVE": "ВЫКЛ",
|
||||
"INJECTOARE": "ФОРСУНКИ",
|
||||
"ITP": "ТО",
|
||||
"Ianuarie": "Январь",
|
||||
@@ -1281,6 +1285,7 @@
|
||||
"Nicio piesă montată.": "Запчасти не установлены.",
|
||||
"Nicio plată": "Нет платежей",
|
||||
"Nicio plată în perioada selectată.": "Нет платежей за выбранный период.",
|
||||
"Nicio potrivire pentru „:q\".": "Нет совпадений для «:q».",
|
||||
"Nicio programare în această perioadă.": "Нет записей в этом периоде.",
|
||||
"Nicio programare în perioada selectată.": "Нет записей за выбранный период.",
|
||||
"Niciodată": "Никогда",
|
||||
@@ -1350,6 +1355,7 @@
|
||||
"Nu există date": "Нет данных",
|
||||
"Nu există rezultate": "Нет результатов",
|
||||
"Nu găsit": "Не найдено",
|
||||
"Nu mai arăta": "Больше не показывать",
|
||||
"Nu pot porni camera: ": "Не удалось запустить камеру: ",
|
||||
"Nu re-trimite mai des de X zile": "Не отправлять повторно чаще чем раз в X дней",
|
||||
"Nu te poți șterge pe tine!": "Нельзя удалить себя!",
|
||||
@@ -1938,6 +1944,7 @@
|
||||
"Subtotal piese:": "Subtotal piese:",
|
||||
"Succes": "Успех",
|
||||
"Sugerează revizie / piese de uzură.": "Предложите ТО / расходники.",
|
||||
"Sugestii pe pagini:": "Подсказки на страницах:",
|
||||
"Sumă": "Сумма",
|
||||
"Sumă achitată": "Sumă achitată",
|
||||
"Sumă:": "Sumă:",
|
||||
|
||||
Reference in New Issue
Block a user