@ihabdevteam/core 0.153.0 → 0.154.0
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/CHANGELOG.md +21 -0
- package/dist/components.cjs.js +178 -173
- package/dist/components.esm.css +3 -3
- package/dist/hooks.cjs.js +3 -3
- package/dist/i18n.cjs.js +3 -3
- package/dist/ihabdevteam-core.cjs.js +186 -181
- package/dist/ihabdevteam-core.d.ts +37 -3
- package/dist/packages/core/src/components/Table.js +41 -15
- package/dist/packages/core/src/components/TableField.css +32 -0
- package/dist/packages/core/src/components/WordTable.css +48 -1
- package/dist/packages/core/src/components/WordTable.d.ts +7 -1
- package/dist/packages/core/src/components/WordTable.js +168 -10
- package/dist/packages/core/src/hooks/useTrainingSessionLog.d.ts +16 -2
- package/dist/packages/core/src/hooks/useTrainingSessionLog.js +34 -11
- package/dist/packages/core/src/i18n/locales/en.json +5 -0
- package/dist/packages/core/src/i18n/locales/ko.json +5 -0
- package/dist/packages/core/src/utils/lucideIconSet.js +2 -0
- package/dist/packages/core/src/utils/planFeatures.d.ts +28 -1
- package/dist/packages/core/src/utils/planFeatures.js +38 -8
- package/dist/packages/core/src/utils/wordTrainingPool.js +31 -3
- package/dist/packages/core/src/utils.d.ts +1 -1
- package/dist/packages/core/src/utils.js +1 -1
- package/dist/packages/core/src/version.d.ts +1 -1
- package/dist/packages/core/src/version.js +1 -1
- package/dist/utils.cjs.js +2 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,27 @@ All notable changes to this project will be documented in this file.
|
|
|
7
7
|
> 적은 글이라, 지금 이름으로 고쳐 놓으면 그 시절에 그 이름으로 받은 사람이
|
|
8
8
|
> 제 이야기를 못 찾는다.
|
|
9
9
|
|
|
10
|
+
## 0.154.0
|
|
11
|
+
|
|
12
|
+
그동안 "사용자 승인·결정 필요" 로 남겨 둔 마지막 항목들을 사용자 지시(2026-09-16 "남은 것 모두 정리")로 정해 구현했다.
|
|
13
|
+
|
|
14
|
+
### 소비자에게 먼저
|
|
15
|
+
|
|
16
|
+
- **Table 정렬 머리 구조**: `aria-sort` 가 `role="button"` 위에 있어 **통째로 무시되던 것** 을 바로잡았다 — 머리 칸이 `role="columnheader"` 로 `aria-sort` 를 지니고, 누르는 것은 그 안의 진짜 `<button class="table-field__button">` 이다.
|
|
17
|
+
`onClick` 은 칸에 그대로 둬 아무 데나 눌러도 정렬되고, 칸을 누르는 기존 시험도 그대로 통과한다. **머리 라벨 안에 `role="button"`·`tabIndex` 요소를 넣던 소비자는 고쳐야 한다**(단추 안 단추).
|
|
18
|
+
- **WordTable 칸 순서 바꾸기가 키보드·터치로도 된다**: 칸마다 옮기기 손잡이(`grip-vertical`) — `Alt` + `←`/`→` 로 옮기고, 바뀐 자리를 낭독기에 알린다(`wordTable.reorder.*`). 터치는 400ms 길게 누르기 → 끌기(8px 움직이면 스크롤로 보고 취소), 마우스는 예전 HTML5 드래그 그대로. `onReorder(from, to)` 계약은 그대로.
|
|
19
|
+
- **`PLAN_FEATURES[t].homework` 를 `PLAN_LIMITS` 에 맞췄다**: mgr_free·lite·standard 가 true 가 된다(숫자는 이미 1·10·30회/일). 이 플래그를 읽는 소비자는 없었다 — 화면에서 숙제가 새로 열리지는 않는다. 숫자는 `PLAN_LIMITS` 가 정본이다.
|
|
20
|
+
- **`TIER_RANK` 가 개인·매니저 줄을 가른다**(개인 0–2, 매니저 10–15). 같은 줄 안에서 견주는 값이다. `isManagerTier` 를 더했다(어드민이 손으로 들던 MANAGER_TIERS 대신).
|
|
21
|
+
- **훈련 시간은 숨길 때도 보낸다**: 모바일에서 앱을 스와이프로 닫으면 pagehide 가 안 와 그 판이 통째로 사라졌다 — visibilitychange(hidden)에서 한 줄 보내고, 돌아와 더 쌓이면 떠날 때 **더 쌓인 만큼만** 한 줄 더 보낸다(겹치지 않아 합산하면 총합). 숨김 없이 닫는 평범한 흐름은 여전히 한 줄. **서버가 같은 판의 여러 줄을 합산해야 한다.**
|
|
22
|
+
|
|
23
|
+
### 바뀜
|
|
24
|
+
|
|
25
|
+
- 단어훈련 칩: 위치 대립 맵을 셈(가능 단어 수)과 생성이 나눠 쓴다 — 문제·오답 차례는 그대로임을 시험으로 못 박았고(같은 시드 같은 결과), 23,000 낱말 가짜 자료에서 셈+생성 114ms → 74ms.
|
|
26
|
+
|
|
27
|
+
### 아직 남은 것
|
|
28
|
+
|
|
29
|
+
- 없음. 요금제 의미(옛 개인 라이트)는 이미 개인 유료로 매핑돼 있었다.
|
|
30
|
+
|
|
10
31
|
## 0.153.0
|
|
11
32
|
|
|
12
33
|
### 소비자에게 먼저
|