@ihabdevteam/core 0.258.0 → 0.260.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 +61 -0
- package/dist/components.cjs.js +180 -180
- package/dist/components.esm.css +1 -1
- package/dist/hooks.cjs.js +3 -3
- package/dist/i18n.cjs.js +3 -3
- package/dist/ihabdevteam-core.cjs.js +186 -186
- package/dist/ihabdevteam-core.d.ts +20 -1
- package/dist/packages/core/src/components/Training/TrainingCard.css +12 -0
- package/dist/packages/core/src/components/Training/TrainingPagePopup.js +52 -2
- package/dist/packages/core/src/components/Training/trainingPopupUtils.d.ts +18 -0
- package/dist/packages/core/src/components/Training/trainingPopupUtils.js +28 -0
- package/dist/packages/core/src/components/Word/WordTableButton.js +3 -1
- package/dist/packages/core/src/components.d.ts +1 -1
- package/dist/packages/core/src/components.js +1 -1
- package/dist/packages/core/src/i18n/locales/en.json +1 -0
- package/dist/packages/core/src/i18n/locales/ko.json +1 -0
- package/dist/packages/core/src/version.d.ts +1 -1
- package/dist/packages/core/src/version.js +1 -1
- package/dist/utils.cjs.js +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,67 @@ All notable changes to this project will be documented in this file.
|
|
|
7
7
|
> 적은 글이라, 지금 이름으로 고쳐 놓으면 그 시절에 그 이름으로 받은 사람이
|
|
8
8
|
> 제 이야기를 못 찾는다.
|
|
9
9
|
|
|
10
|
+
## 0.260.0
|
|
11
|
+
|
|
12
|
+
### 게시자 이름 단추가 **하는 일을 말한다** — `WordTableButton` (말귀 요청 (69))
|
|
13
|
+
|
|
14
|
+
보이는 글자는 이름뿐인데 누르면 **그 게시자가 올린 것만 걸러진다.** 그 말이 어디에도
|
|
15
|
+
없었다 — 말귀 실측(말귀자료실 › 단어표 탭, 1780px): 한 쪽 **스무 칸이 전부** 이 단추를 들고
|
|
16
|
+
**첫 넷 중 셋이 같은 이름**이다. 낭독기로 훑으면 같은 이름만 스무 번 지나가고, 음성으로
|
|
17
|
+
조작하는 사람은 "거르기 눌러" 라고 말할 데가 없다. (62) `메뉴 열기, 3개` 와 같은 집안이다.
|
|
18
|
+
|
|
19
|
+
읽히는 이름이 `아이해브 사공정희 게시한 것만 보기` 가 된다(`wordTable.publisherFilter`).
|
|
20
|
+
**보이는 글자는 그대로 둔다** — 칸이 좁아 이름만 서는 쪽이 맞고, 읽히는 이름이 보이는 이름을
|
|
21
|
+
품으므로 WCAG 2.5.3 도 지킨다.
|
|
22
|
+
|
|
23
|
+
> 앱이 그리는 칸(문장훈련·단어훈련 탭)은 말귀가 이미 같은 글귀로 고쳤다. **코어가 그리는
|
|
24
|
+
> 단어표 탭 스물만 이름 없이 남아 있었다** — 같은 화면에서 탭을 오가며 듣는 자리라 더
|
|
25
|
+
> 두드러졌다. 코어 사전에 열쇠를 두었으니 앱 쪽 `게시자단추이름` 을 걷고 이 열쇠를 읽어도 된다.
|
|
26
|
+
|
|
27
|
+
### 누를 일이 없으면 **단추로 세우지 않는다** — 같은 자리
|
|
28
|
+
|
|
29
|
+
전에는 `publisherName` 만 있으면 `onPublisherClick` 이 없어도 단추가 섰다. **눌러도 아무 일이
|
|
30
|
+
없는 단추**이고, 거기에 "게시한 것만 보기" 를 붙이면 **거짓말이 된다.** 그때는 그냥 글자다
|
|
31
|
+
(`span`). 생김새(색·크기·말줄임)는 그대로 두고 **누를 수 있다는 거짓 신호만** 거둔다 —
|
|
32
|
+
손 모양과 얹었을 때의 밑줄·색. `cursor: pointer` 는 iOS 가 "누를 수 있는 것" 을 가리는 데도
|
|
33
|
+
쓰므로 함께 거둔다.
|
|
34
|
+
|
|
35
|
+
> 이름을 다는 일과 한 묶음이다 — **안 하면 짓는 이름이 거짓이 된다.** 오늘 (65)·0.254.0 에서
|
|
36
|
+
> 걷은 "아무 일도 안 하는 단추" 와 같은 집안이기도 하다.
|
|
37
|
+
|
|
38
|
+
## 0.259.0
|
|
39
|
+
|
|
40
|
+
### 스텝 payload 에 **때 둘을 얹는다** — `withStepTimes` (말귀 요청 (68) 후속)
|
|
41
|
+
|
|
42
|
+
0.258.0 으로 `TrainingItemResult` 에 두 칸을 열었더니 **앱이 직접 찍을 길이 없었다.** 앱의
|
|
43
|
+
`buildResults` 는 판이 끝난 뒤 `answersByPage` 를 한 번 받을 뿐이고, 답은 **코어 스텝이** 쓴다.
|
|
44
|
+
답·쪽 바뀜 콜백이 props 에 없고 `registerOnNext` 는 '다음' 누른 때라 **답한 때가 아니다**.
|
|
45
|
+
쪽 마운트로 `shownAt` 은 흉내 낼 수 있어도 `answeredAt` 은 지어낸 때가 된다.
|
|
46
|
+
|
|
47
|
+
이제 코어가 **스텝의 때**를 얹는다. 쪽↔문항 대응은 그대로 앱의 `buildResults` 가 한다 —
|
|
48
|
+
**스텝의 때는 그 스텝의 사실**이라, (68) 때 안 하기로 한 *"쪽 때를 문항 때라 적는"* 거짓이
|
|
49
|
+
안 생긴다(그건 "쪽을 넘긴 간격" 이 됐을 것이다).
|
|
50
|
+
|
|
51
|
+
- **`answeredAt` 은 payload 의 `__ts`** — 스텝이 고른 **바로 그 순간**이다. 저장이 끝난 뒤 다시
|
|
52
|
+
재면 답이 state 에 앉는 데 걸린 시간이 섞인다. 말귀가 잰 0.049초가 그런 값이었다.
|
|
53
|
+
- **`shownAt` 은 스텝이 설 때 미리 적어 둔 것** — 답이 놓이는 순간에는 이미 사람이 다 고른
|
|
54
|
+
뒤라 보인 때를 모른다. `쪽\0스텝` 하나당 한 번만 적고 **다시 와도 안 고친다**(다시 듣기
|
|
55
|
+
노력이 반응 시간에 들어가는 쪽이 실제에 가깝다). `0 ~ 지금` 을 다 적는다 — 한 쪽에 스텝이
|
|
56
|
+
여럿 서는 꼴(듣기 → 고르기)에서 앞 스텝의 때가 영영 비지 않게.
|
|
57
|
+
- **이미 들어 있는 때는 안 덮는다.** 스텝이 제 때를 찍어 보냈으면 그쪽이 더 정확하다.
|
|
58
|
+
글자로 온 것은 꼴도 안 고친다(`+09:00` 이 `Z` 로 바뀌면 어느 시계였는지 지워진다).
|
|
59
|
+
- **객체가 아닌 payload 는 그대로 둔다** — 없던 칸을 지어 붙이지 않는다.
|
|
60
|
+
|
|
61
|
+
얹는 자리는 **한 길목**이다(`setScenarioAnswer`) — 네 손잡이(시나리오·아이 × 바뀜·끝남)가
|
|
62
|
+
모두 그리로 지나므로 화면마다 따로 찍을 까닭이 없다.
|
|
63
|
+
|
|
64
|
+
> **셈을 조각 밖으로 뺐다**(`withStepTimes`, 공개). 조각 안에 두면 *"소스에 그 글자가 있나"*
|
|
65
|
+
> 로밖에 못 묻는데 **그런 시험은 셈이 틀려도 초록이다** — 오늘 여러 번 밟은 자리라, 처음에
|
|
66
|
+
> 쓴 소스 검사 시험을 버리고 실제 값으로 재는 쪽으로 다시 썼다.
|
|
67
|
+
>
|
|
68
|
+
> 코어가 **짓는** 때는 `Z` 다. epoch 하나라 지킬 지역 시계가 없다 — 앱이 *글자로* 보낸 때를
|
|
69
|
+
> 안 고치는 것(`utils/trainingItemResults` 의 `때`)과는 다른 자리다.
|
|
70
|
+
|
|
10
71
|
## 0.258.0
|
|
11
72
|
|
|
12
73
|
### 문항마다 **언제 보였고 언제 답했나** — `TrainingItemResult` (말귀 요청 (68))
|