@eintrek/erp-shell 0.1.73 → 0.1.75

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -176,6 +176,69 @@ progress API: `API.md` next to it.
176
176
  shell's adapters), `guide-ui.tsx`, `guide-styles.ts`. Tests:
177
177
  `src/guide/*.test.ts`.
178
178
 
179
+ ### 0.1.75
180
+
181
+ Section guides ("อธิบายส่วนนี้"; authors: `_claude-work/guides-r4/GUIDE-PAGES.md` §10).
182
+
183
+ - `GuideSuite.sections?: GuideSection[]`: explains one section of a page
184
+ (a number-heavy card or table) row by row. View steps only (the default
185
+ kind here); a step may point at a row or cell (`targetId`). Tied to a
186
+ route and a root anchor: there only while the root is on screen, and it
187
+ ends when the root goes or the page is left.
188
+ - Live values: the app hands its computed numbers to the guide with
189
+ `useSectionGuideValues(key, values)` or `<SectionGuideButton guideKey
190
+ values />`; step `title`/`why` read `ctx.values`. The latest render wins,
191
+ so a page that re-renders mid-guide never leaves an old number. A step
192
+ lists what it uses in `needs` and is skipped while one is missing (also
193
+ when its title comes out empty). `formatBaht`, `thaiMonth`,
194
+ `thaiMonthYear` for the copy.
195
+ - Entry points: `<SectionGuideButton guideKey />` (a small "?" for the
196
+ section header, drawn only while the guide is there for this person) and
197
+ "?" → "อธิบายส่วนนี้ · <title>" for every section guide on screen. Never
198
+ offered by itself, in any mode; not in the panel's list.
199
+ - Progress: one row per section guide per person, `<app>.section.<key>`,
200
+ written once, as page rows. Same switch and audience as page guides.
201
+ - Fix: "ขั้นที่ x/y" no longer counts a click step that passes by itself
202
+ (its outcome already on screen): Plannex's overview said 1/9, then 3/9.
203
+
204
+ ### 0.1.74
205
+
206
+ Page guides ("คู่มือหน้านี้", guides round 4; authors:
207
+ `_claude-work/guides-r4/GUIDE-PAGES.md`).
208
+
209
+ - `GuideSuite.pages?: GuidePage[]`: a read-only walk through one page,
210
+ `view` and `click` steps only (a page guide with a `commit`, `input` or
211
+ `select` step is dropped, with a warning in development). It runs as a
212
+ replay of a synthetic mission `page:<key>`, so it never writes tour
213
+ progress. `when` names an anchor that must be on screen (sub-screens on
214
+ one URL); the most specific match wins (`when`, then `?k=v` constraints,
215
+ then static segments), and only if it is this person's (`visible`,
216
+ `requires`).
217
+ - Progress: one row per page per user, `<app>.page.<key>`, written once —
218
+ when the first-visit offer is answered or ignored, or when the guide
219
+ ends (finished: completed; not now, exited, left: skipped). Opened again
220
+ from "?", it writes nothing. Read from the same `GET …/guides/me` answer.
221
+ - Switch: platform-api's `pages_mode` (`guides.<app>.pages` = off | menu |
222
+ offer, default off) and `page_audience` (every member while not off). In
223
+ `menu` mode nothing is offered by itself; in `offer` mode a small card
224
+ ("คู่มือหน้านี้ · <title> · n ขั้น", เริ่ม / ไม่ตอนนี้) appears once on a
225
+ first visit, when nothing else is up and the welcome is not due there. An
226
+ API without the fields means off.
227
+ - The "?" menu: "คู่มือหน้านี้", "ไกด์เริ่มต้น n/N", "คู่มือทุกหน้า",
228
+ "ติดต่อทีมช่วยเหลือ", each only when it has something
229
+ (`guideMenuItems`). The panel gains a second section, "คู่มือแต่ละหน้า"
230
+ (ดูแล้ว / ใหม่), and shows it alone when the person has no missions.
231
+ - A page guide's bubble: "คู่มือหน้านี้ · <title>", ย้อนกลับ on read steps,
232
+ "เสร็จ" on the last, "ปิดคู่มือ" to leave (silently, as leaving the page
233
+ does). Finishing says "จบคู่มือหน้านี้".
234
+ - Missions keep precedence: a mission start ends a page guide, the welcome
235
+ replaces an offer (unrecorded), a page guide never starts over a step.
236
+ - `config.pagesReady` holds page guides apart from the missions' `ready`.
237
+ - For apps with their own "?" (LIFF): `usePageGuideEntry()` →
238
+ `{ title, open } | null`, `openPageGuide()`, `openPagesPanel()`,
239
+ `usePageGuides()`, from both entries.
240
+ - `guideMenuShown(entry, pages?)` is no longer a type guard.
241
+
179
242
  ### 0.1.73
180
243
 
181
244
  - `GuideStep.status`: a short status line in the bubble while it returns