@nine-lab/nine-mu 0.1.354 → 0.1.356
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/dist/nine-mu.js +33 -27
- package/dist/nine-mu.js.map +1 -1
- package/dist/nine-mu.umd.js +1 -1
- package/dist/nine-mu.umd.js.map +1 -1
- package/package.json +1 -1
- package/src/components/exception/ExceptionHook.js +24 -18
package/package.json
CHANGED
|
@@ -1,25 +1,26 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
|
|
3
3
|
// ==========================================
|
|
4
|
-
// 1. 터미널 프롬프트 테마 스타일 (
|
|
4
|
+
// 1. 터미널 프롬프트 테마 스타일 (색상 및 행간 정밀 리튠)
|
|
5
5
|
// ==========================================
|
|
6
6
|
export const NineExceptionStyles = {
|
|
7
7
|
container: {
|
|
8
8
|
padding: '25px',
|
|
9
9
|
margin: '20px',
|
|
10
|
-
background: '#121314',
|
|
11
|
-
border: '1px solid #343A40',
|
|
10
|
+
background: '#121314',
|
|
11
|
+
border: '1px solid #343A40',
|
|
12
12
|
borderRadius: '6px',
|
|
13
13
|
fontFamily: 'Consolas, Monaco, "Courier New", monospace',
|
|
14
14
|
textAlign: 'left',
|
|
15
15
|
boxShadow: '0 4px 12px rgba(0,0,0,0.3)',
|
|
16
|
-
|
|
16
|
+
// 1. 수정: 전체 내부 줄간격을 1.5 정도로 주어 터미널 특유의 쾌적하고 꽉 찬 느낌을 제공
|
|
17
|
+
lineHeight: '1.5'
|
|
17
18
|
},
|
|
18
19
|
systemError: {
|
|
19
|
-
color: '#
|
|
20
|
+
color: '#999', // 캡처 화면과 동일하게 #999 유지
|
|
20
21
|
fontWeight: 'bold',
|
|
21
22
|
fontSize: '14px',
|
|
22
|
-
margin: '0
|
|
23
|
+
margin: '0', // 2. 수정: 아래 마진을 없애서 순수 lineHeight로만 줄간격 통일
|
|
23
24
|
letterSpacing: '0.5px',
|
|
24
25
|
padding: '0'
|
|
25
26
|
},
|
|
@@ -27,36 +28,41 @@ export const NineExceptionStyles = {
|
|
|
27
28
|
background: 'transparent',
|
|
28
29
|
color: '#F8F9FA',
|
|
29
30
|
padding: '0',
|
|
30
|
-
margin: '0
|
|
31
|
+
margin: '0', // 3. 수정: 아래 마진을 없애서 다음 줄과의 간격을 첫 줄 간격과 100% 일치시킴
|
|
31
32
|
border: 'none',
|
|
32
33
|
overflowX: 'auto',
|
|
33
34
|
whiteSpace: 'pre-wrap',
|
|
34
35
|
fontFamily: 'Consolas, Monaco, monospace',
|
|
35
|
-
fontSize: '14px'
|
|
36
|
+
fontSize: '14px',
|
|
37
|
+
// 4. 추가: 브라우저가 pre 태그에 임의로 잡는 베이스라인 정렬을 강제로 리셋
|
|
38
|
+
display: 'block'
|
|
36
39
|
},
|
|
37
40
|
footer: {
|
|
38
41
|
fontSize: '14px',
|
|
39
|
-
color: '#
|
|
42
|
+
color: '#999', // ⭐ 전체 기본 텍스트 톤을 #999로 변경
|
|
40
43
|
margin: '0',
|
|
41
44
|
padding: '0',
|
|
42
45
|
display: 'flex',
|
|
43
46
|
flexDirection: 'column',
|
|
44
|
-
gap: '12px' //
|
|
47
|
+
gap: '12px' // 하단 상태 로그 적재 시 간격 12px
|
|
45
48
|
},
|
|
46
49
|
promptRow: {
|
|
47
50
|
margin: '0',
|
|
48
51
|
padding: '0',
|
|
49
|
-
display: 'block'
|
|
52
|
+
display: 'block',
|
|
53
|
+
lineHeight: '1', // 줄간 격차 원천 차단
|
|
54
|
+
color: '#999' // ⭐ 괄호 및 텍스트 전체 #999 적용
|
|
50
55
|
},
|
|
51
56
|
cliLink: {
|
|
52
|
-
color: '#38A169', // 터미널 그린
|
|
57
|
+
color: '#38A169', // 선택 수단 y는 터미널 그린 유지
|
|
53
58
|
padding: '0',
|
|
54
59
|
fontFamily: 'Consolas, Monaco, monospace',
|
|
55
60
|
fontSize: '14px',
|
|
56
61
|
fontWeight: 'bold',
|
|
57
62
|
cursor: 'pointer',
|
|
58
63
|
textDecoration: 'underline',
|
|
59
|
-
textUnderlineOffset: '3px'
|
|
64
|
+
textUnderlineOffset: '3px',
|
|
65
|
+
lineHeight: '1'
|
|
60
66
|
}
|
|
61
67
|
};
|
|
62
68
|
|
|
@@ -108,7 +114,7 @@ export class NineExceptionHook extends React.Component {
|
|
|
108
114
|
|
|
109
115
|
handleLocationChange() {
|
|
110
116
|
setTimeout(() => {
|
|
111
|
-
if (this.state.hasError && this.
|
|
117
|
+
if (this.state.hasError && this.state.reportStatus !== 'idle') {
|
|
112
118
|
console.log("[Nine-Library] 페이지 주소 변경 감지 -> 에러 상태 초기화");
|
|
113
119
|
this.lastPath = window.location.pathname;
|
|
114
120
|
this.setState({ hasError: false, error: null, reportStatus: 'idle' });
|
|
@@ -164,7 +170,7 @@ export class NineExceptionHook extends React.Component {
|
|
|
164
170
|
|
|
165
171
|
this.state.reportStatus === 'idle' && React.createElement(
|
|
166
172
|
'div',
|
|
167
|
-
{ style: NineExceptionStyles.promptRow },
|
|
173
|
+
{ style: { ...NineExceptionStyles.promptRow, ...customStyles.promptRow } },
|
|
168
174
|
React.createElement('span', null, 'Send error log to Control Tower ('),
|
|
169
175
|
React.createElement(
|
|
170
176
|
'span',
|
|
@@ -179,15 +185,15 @@ export class NineExceptionHook extends React.Component {
|
|
|
179
185
|
|
|
180
186
|
this.state.reportStatus === 'sending' && React.createElement(
|
|
181
187
|
'div',
|
|
182
|
-
{ style: { color: '#ED8936', margin: '0' } },
|
|
188
|
+
{ style: { color: '#ED8936', margin: '0', lineHeight: '1' } },
|
|
183
189
|
'>> Connecting to Control Tower... Sending payload.'
|
|
184
190
|
),
|
|
185
191
|
|
|
186
192
|
this.state.reportStatus === 'success' && React.createElement(
|
|
187
193
|
'div',
|
|
188
194
|
{ style: { display: 'flex', flexDirection: 'column', gap: '12px', margin: '0' } },
|
|
189
|
-
React.createElement('div', { style: { color: '#38A169', fontWeight: 'bold' } }, '>> Transmit complete. Core engine initialized.'),
|
|
190
|
-
React.createElement('div', { style: { color: '#A0AEC0', fontStyle: 'italic', fontSize: '13px' } }, 'AI가 소스 코드를 재수정하는 동안 잠시만 기다려주세요...')
|
|
195
|
+
React.createElement('div', { style: { color: '#38A169', fontWeight: 'bold', lineHeight: '1' } }, '>> Transmit complete. Core engine initialized.'),
|
|
196
|
+
React.createElement('div', { style: { color: '#A0AEC0', fontStyle: 'italic', fontSize: '13px', lineHeight: '1' } }, 'AI가 소스 코드를 재수정하는 동안 잠시만 기다려주세요...')
|
|
191
197
|
)
|
|
192
198
|
)
|
|
193
199
|
);
|