ugly-app 0.1.563 → 0.1.564
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/cli/version.d.ts +1 -1
- package/dist/cli/version.js +1 -1
- package/dist/conversation/client/ChatMessageBubble.js +5 -5
- package/dist/conversation/client/ChatMessageBubble.js.map +1 -1
- package/dist/conversation/client/ChatView.d.ts.map +1 -1
- package/dist/conversation/client/ChatView.js +21 -13
- package/dist/conversation/client/ChatView.js.map +1 -1
- package/dist/markdown/client/MarkdownTheme.css +1 -0
- package/package.json +1 -1
- package/src/cli/version.ts +1 -1
- package/src/conversation/client/ChatMessageBubble.tsx +5 -5
- package/src/conversation/client/ChatView.tsx +31 -15
- package/src/markdown/client/MarkdownTheme.css +1 -0
package/dist/cli/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const CLI_VERSION = "0.1.
|
|
1
|
+
export declare const CLI_VERSION = "0.1.564";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/cli/version.js
CHANGED
|
@@ -6,14 +6,14 @@ const rowStyle = {
|
|
|
6
6
|
flexDirection: 'row',
|
|
7
7
|
alignItems: 'flex-start',
|
|
8
8
|
gap: 8,
|
|
9
|
-
padding: '
|
|
9
|
+
padding: '3px 14px',
|
|
10
10
|
};
|
|
11
|
-
// A new sender block gets
|
|
12
|
-
//
|
|
13
|
-
//
|
|
11
|
+
// A new sender block gets clear air above it to separate it from the previous
|
|
12
|
+
// speaker; grouped (same-sender, consecutive) rows keep a small gap so a burst
|
|
13
|
+
// of messages reads as one block but isn't cramped.
|
|
14
14
|
const rowWithHeaderStyle = {
|
|
15
15
|
...rowStyle,
|
|
16
|
-
paddingTop:
|
|
16
|
+
paddingTop: 12,
|
|
17
17
|
};
|
|
18
18
|
const AVATAR_SIZE = 24;
|
|
19
19
|
// Inline lucide "bot" glyph — the framework has no lucide dependency, and a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatMessageBubble.js","sourceRoot":"","sources":["../../../src/conversation/client/ChatMessageBubble.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAOvD,MAAM,QAAQ,GAAkB;IAC9B,OAAO,EAAE,MAAM;IACf,aAAa,EAAE,KAAK;IACpB,UAAU,EAAE,YAAY;IACxB,GAAG,EAAE,CAAC;IACN,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ChatMessageBubble.js","sourceRoot":"","sources":["../../../src/conversation/client/ChatMessageBubble.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatView.d.ts","sourceRoot":"","sources":["../../../src/conversation/client/ChatView.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAiB,SAAS,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,KAAK,EACV,WAAW,EACX,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,QAAQ,EACT,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"ChatView.d.ts","sourceRoot":"","sources":["../../../src/conversation/client/ChatView.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAiB,SAAS,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,KAAK,EACV,WAAW,EACX,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,QAAQ,EACT,MAAM,oBAAoB,CAAC;AA4F5B,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAChE,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAC;IAC9D,aAAa,CAAC,EAAE,eAAe,EAAE,CAAC;IAClC,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,QAAQ,GAAG,IAAI,CAAC;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,KAAK,SAAS,CAAC;IACnE,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,SAAS,KAAK,SAAS,CAAC;IACpF,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,iBAAiB,EAAE,CAAC;IAClE,iFAAiF;IACjF,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAID,wBAAgB,QAAQ,CAAC,EACvB,QAAQ,EACR,MAAM,EACN,MAAM,EACN,QAAQ,EACR,MAAM,EACN,OAAO,EACP,aAAa,EACb,aAAa,EACb,OAAO,EACP,OAAO,EACP,UAAU,EACV,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,QAAQ,GACT,EAAE,aAAa,2CAyIf"}
|
|
@@ -40,16 +40,23 @@ const innerStyle = {
|
|
|
40
40
|
flexDirection: 'column',
|
|
41
41
|
marginTop: 'auto',
|
|
42
42
|
};
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
43
|
+
function DateSeparator({ label, onImage }) {
|
|
44
|
+
const line = {
|
|
45
|
+
flex: 1,
|
|
46
|
+
height: 1,
|
|
47
|
+
background: onImage ? 'rgba(255,255,255,0.45)' : 'var(--app-border)',
|
|
48
|
+
};
|
|
49
|
+
const text = {
|
|
50
|
+
fontSize: 11,
|
|
51
|
+
fontWeight: 600,
|
|
52
|
+
whiteSpace: 'nowrap',
|
|
53
|
+
userSelect: 'none',
|
|
54
|
+
color: onImage ? '#fff' : 'var(--app-foreground)',
|
|
55
|
+
opacity: onImage ? 1 : 0.5,
|
|
56
|
+
...(onImage ? { textShadow: '0 1px 3px rgba(0,0,0,0.7), 0 0 2px rgba(0,0,0,0.5)' } : {}),
|
|
57
|
+
};
|
|
58
|
+
return (_jsxs("div", { style: { display: 'flex', alignItems: 'center', gap: 12, padding: '14px 14px 4px' }, children: [_jsx("div", { style: line }), _jsx("span", { style: text, children: label }), _jsx("div", { style: line })] }));
|
|
59
|
+
}
|
|
53
60
|
const loadMoreStyle = {
|
|
54
61
|
display: 'flex',
|
|
55
62
|
justifyContent: 'center',
|
|
@@ -140,9 +147,10 @@ export function ChatView({ messages, userId, onSend, onDelete, onEdit, onReact,
|
|
|
140
147
|
for (let i = 0; i < messages.length; i++) {
|
|
141
148
|
const msg = messages[i];
|
|
142
149
|
const prev = i > 0 ? messages[i - 1] : null;
|
|
143
|
-
// Duration separator
|
|
150
|
+
// Duration separator — a full-width divider with the date centered, in
|
|
151
|
+
// the same white+shadow treatment as sender names over image backgrounds.
|
|
144
152
|
if (prev && msg.created - prev.created > DURATION_SEPARATOR_MS) {
|
|
145
|
-
result.push(_jsx(
|
|
153
|
+
result.push(_jsx(DateSeparator, { label: formatDateSeparator(msg.created), onImage: !!onImageBackground }, `sep-${msg.id}`));
|
|
146
154
|
}
|
|
147
155
|
const isGrouped = !!prev &&
|
|
148
156
|
prev.userId === msg.userId &&
|
|
@@ -150,7 +158,7 @@ export function ChatView({ messages, userId, onSend, onDelete, onEdit, onReact,
|
|
|
150
158
|
result.push(_jsx(ChatMessageBubble, { message: msg, isGrouped: isGrouped }, msg.id));
|
|
151
159
|
}
|
|
152
160
|
return result;
|
|
153
|
-
}, [messages]);
|
|
161
|
+
}, [messages, onImageBackground]);
|
|
154
162
|
return (_jsx(ChatContext.Provider, { value: ctxValue, children: _jsxs("div", { style: outerStyle, children: [_jsx("div", { ref: scrollRef, style: scrollContainerStyle, onScroll: handleScroll, "data-testid": "conversation-scroll-container", children: _jsxs("div", { "data-testid": "message-list-inner", style: innerStyle, children: [hasMore && onLoadMore && (_jsx("div", { style: loadMoreStyle, children: _jsx("button", { style: loadMoreButtonStyle, onClick: onLoadMore, children: "Load more" }) })), rows] }) }), _jsx(ChatTypingIndicator, {}), _jsx(ChatScrollButton, { onClick: scrollToBottom, visible: showScrollButton }), children] }) }));
|
|
155
163
|
}
|
|
156
164
|
//# sourceMappingURL=ChatView.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatView.js","sourceRoot":"","sources":["../../../src/conversation/client/ChatView.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,WAAW,EACX,SAAS,EACT,OAAO,EACP,MAAM,EACN,QAAQ,GACT,MAAM,OAAO,CAAC;AASf,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,+EAA+E;AAE/E,MAAM,qBAAqB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,YAAY;AAEzD,SAAS,mBAAmB,CAAC,EAAU;IACrC,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC;IACvB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,MAAM,OAAO,GACX,CAAC,CAAC,OAAO,EAAE,KAAK,GAAG,CAAC,OAAO,EAAE;QAC7B,CAAC,CAAC,QAAQ,EAAE,KAAK,GAAG,CAAC,QAAQ,EAAE;QAC/B,CAAC,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,WAAW,EAAE,CAAC;IACxC,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,WAAW,GAAG,CAAC,CAAC,kBAAkB,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IAC/F,CAAC;IACD,OAAO,CAAC,CAAC,kBAAkB,CAAC,SAAS,EAAE;QACrC,KAAK,EAAE,OAAO;QACd,GAAG,EAAE,SAAS;QACd,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;KACpE,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,kBAAkB,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;AACxF,CAAC;AAED,+EAA+E;AAE/E,MAAM,UAAU,GAAkB;IAChC,OAAO,EAAE,MAAM;IACf,aAAa,EAAE,QAAQ;IACvB,IAAI,EAAE,CAAC;IACP,SAAS,EAAE,CAAC;IACZ,QAAQ,EAAE,UAAU;CACrB,CAAC;AAEF,MAAM,oBAAoB,GAAkB;IAC1C,IAAI,EAAE,CAAC;IACP,SAAS,EAAE,MAAM;IACjB,OAAO,EAAE,MAAM;IACf,aAAa,EAAE,QAAQ;CACxB,CAAC;AAEF,MAAM,UAAU,GAAkB;IAChC,OAAO,EAAE,MAAM;IACf,aAAa,EAAE,QAAQ;IACvB,SAAS,EAAE,MAAM;CAClB,CAAC;AAEF,MAAM,
|
|
1
|
+
{"version":3,"file":"ChatView.js","sourceRoot":"","sources":["../../../src/conversation/client/ChatView.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/cli/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// Auto-generated by prebuild — do not edit manually
|
|
2
|
-
export const CLI_VERSION = "0.1.
|
|
2
|
+
export const CLI_VERSION = "0.1.564";
|
|
@@ -13,15 +13,15 @@ const rowStyle: CSSProperties = {
|
|
|
13
13
|
flexDirection: 'row',
|
|
14
14
|
alignItems: 'flex-start',
|
|
15
15
|
gap: 8,
|
|
16
|
-
padding: '
|
|
16
|
+
padding: '3px 14px',
|
|
17
17
|
};
|
|
18
18
|
|
|
19
|
-
// A new sender block gets
|
|
20
|
-
//
|
|
21
|
-
//
|
|
19
|
+
// A new sender block gets clear air above it to separate it from the previous
|
|
20
|
+
// speaker; grouped (same-sender, consecutive) rows keep a small gap so a burst
|
|
21
|
+
// of messages reads as one block but isn't cramped.
|
|
22
22
|
const rowWithHeaderStyle: CSSProperties = {
|
|
23
23
|
...rowStyle,
|
|
24
|
-
paddingTop:
|
|
24
|
+
paddingTop: 12,
|
|
25
25
|
};
|
|
26
26
|
|
|
27
27
|
const AVATAR_SIZE = 24;
|
|
@@ -63,16 +63,29 @@ const innerStyle: CSSProperties = {
|
|
|
63
63
|
marginTop: 'auto',
|
|
64
64
|
};
|
|
65
65
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
66
|
+
function DateSeparator({ label, onImage }: { label: string; onImage: boolean }) {
|
|
67
|
+
const line: CSSProperties = {
|
|
68
|
+
flex: 1,
|
|
69
|
+
height: 1,
|
|
70
|
+
background: onImage ? 'rgba(255,255,255,0.45)' : 'var(--app-border)',
|
|
71
|
+
};
|
|
72
|
+
const text: CSSProperties = {
|
|
73
|
+
fontSize: 11,
|
|
74
|
+
fontWeight: 600,
|
|
75
|
+
whiteSpace: 'nowrap',
|
|
76
|
+
userSelect: 'none',
|
|
77
|
+
color: onImage ? '#fff' : 'var(--app-foreground)',
|
|
78
|
+
opacity: onImage ? 1 : 0.5,
|
|
79
|
+
...(onImage ? { textShadow: '0 1px 3px rgba(0,0,0,0.7), 0 0 2px rgba(0,0,0,0.5)' } : {}),
|
|
80
|
+
};
|
|
81
|
+
return (
|
|
82
|
+
<div style={{ display: 'flex', alignItems: 'center', gap: 12, padding: '14px 14px 4px' }}>
|
|
83
|
+
<div style={line} />
|
|
84
|
+
<span style={text}>{label}</span>
|
|
85
|
+
<div style={line} />
|
|
86
|
+
</div>
|
|
87
|
+
);
|
|
88
|
+
}
|
|
76
89
|
|
|
77
90
|
const loadMoreStyle: CSSProperties = {
|
|
78
91
|
display: 'flex',
|
|
@@ -218,12 +231,15 @@ export function ChatView({
|
|
|
218
231
|
const msg = messages[i];
|
|
219
232
|
const prev = i > 0 ? messages[i - 1] : null;
|
|
220
233
|
|
|
221
|
-
// Duration separator
|
|
234
|
+
// Duration separator — a full-width divider with the date centered, in
|
|
235
|
+
// the same white+shadow treatment as sender names over image backgrounds.
|
|
222
236
|
if (prev && msg.created - prev.created > DURATION_SEPARATOR_MS) {
|
|
223
237
|
result.push(
|
|
224
|
-
<
|
|
225
|
-
{
|
|
226
|
-
|
|
238
|
+
<DateSeparator
|
|
239
|
+
key={`sep-${msg.id}`}
|
|
240
|
+
label={formatDateSeparator(msg.created)}
|
|
241
|
+
onImage={!!onImageBackground}
|
|
242
|
+
/>,
|
|
227
243
|
);
|
|
228
244
|
}
|
|
229
245
|
|
|
@@ -236,7 +252,7 @@ export function ChatView({
|
|
|
236
252
|
);
|
|
237
253
|
}
|
|
238
254
|
return result;
|
|
239
|
-
}, [messages]);
|
|
255
|
+
}, [messages, onImageBackground]);
|
|
240
256
|
|
|
241
257
|
return (
|
|
242
258
|
<ChatContext.Provider value={ctxValue}>
|