Skip to content

Commit c67e2fc

Browse files
authored
feat(chat): support multiple conversation (#623)
* feat(chat): support multiple conversation * fix(chat): update demo and document for conversations * fix(chat): remove log code * fix: update folder name and interface * fix(chat): update conversation component code style * fix(chat): remove capitalized word folder * feat: add footer for conversations * fix: update test snapshopt for conversation add footer * fix: fix conversation date fallback for invalid values * fix: update pnpm lock file
1 parent a367535 commit c67e2fc

30 files changed

Lines changed: 17965 additions & 10640 deletions

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,7 @@
116116
"@handsontable/react": "2.1.0",
117117
"antd": "4.22.5",
118118
"classnames": "^2.2.6",
119+
"dayjs": "^1.11.19",
119120
"handsontable": "6.2.2",
120121
"highlight.js": "^10.5.0",
121122
"immer": "~10.1.1",

pnpm-lock.yaml

Lines changed: 16486 additions & 10622 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/chat/__tests__/__snapshots__/button.test.tsx.snap

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,4 +45,4 @@ exports[`Test Chat Button Match the snapshot: secondary button 1`] = `
4545
</DocumentFragment>
4646
`;
4747

48-
exports[`Test Chat Button expect ONLY one global gradient div: global gradient 1`] = `"<svg width="0" height="0"><defs><linearGradient id="secondary_linear_gradient" x1="1.18164" y1="3.93164" x2="13.9881" y2="8.54198" gradientUnits="userSpaceOnUse"><stop stop-color="#00BAC6"></stop><stop offset="0.5" stop-color="#0067FF"></stop><stop offset="1" stop-color="#450FDE"></stop></linearGradient><linearGradient id="secondary_linear_gradient_hover" x1="8.96582" y1="0.96582" x2="15.9711" y2="3.4877" gradientUnits="userSpaceOnUse"><stop stop-color="#00BAC6"></stop><stop offset="0.5" stop-color="#0067FF"></stop><stop offset="1" stop-color="#450FDE"></stop></linearGradient></defs></svg>"`;
48+
exports[`Test Chat Button expect ONLY one global gradient div: global gradient 1`] = `"<svg width="0" height="0"><defs><linearGradient id="secondary_linear_gradient" x1="0" y1="0.2" x2="0.9" y2="0.5"><stop stop-color="#00BAC6"></stop><stop offset="0.5" stop-color="#0067FF"></stop><stop offset="1" stop-color="#450FDE"></stop></linearGradient><linearGradient id="secondary_linear_gradient_hover" x1="0.5" y1="0" x2="1" y2="0.2"><stop stop-color="#00BAC6"></stop><stop offset="0.5" stop-color="#0067FF"></stop><stop offset="1" stop-color="#450FDE"></stop></linearGradient></defs></svg>"`;
Lines changed: 230 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,230 @@
1+
// Jest Snapshot v1, https://goo.gl/fbAQLP
2+
3+
exports[`Test Chat Conversations Match snapshot 1`] = `
4+
<DocumentFragment>
5+
<div
6+
class="dtc__conversations__wrapper dtc__conversations--collapsed"
7+
>
8+
<div
9+
class="dtc__conversations__container"
10+
>
11+
<ul
12+
class="dtc__conversations"
13+
/>
14+
</div>
15+
</div>
16+
</DocumentFragment>
17+
`;
18+
19+
exports[`Test Chat Conversations Match snapshot: collapsed 1`] = `
20+
<DocumentFragment>
21+
<div
22+
class="dtc__conversations__wrapper dtc__conversations--collapsed"
23+
>
24+
<div
25+
class="dtc__conversations__container"
26+
>
27+
<ul
28+
class="dtc__conversations"
29+
/>
30+
</div>
31+
</div>
32+
</DocumentFragment>
33+
`;
34+
35+
exports[`Test Chat Conversations Match snapshot: groupable 1`] = `
36+
<DocumentFragment>
37+
<div
38+
class="dtc__conversations__wrapper dtc__conversations--collapsed"
39+
>
40+
<div
41+
class="dtc__conversations__container"
42+
>
43+
<ul
44+
class="dtc__conversations"
45+
>
46+
<li>
47+
<div
48+
class="dtc__conversations__title"
49+
>
50+
<div
51+
data-testid="ellipsisText"
52+
>
53+
昨天
54+
</div>
55+
</div>
56+
<ul
57+
class="dtc__conversations__list"
58+
>
59+
<div
60+
class="dtc__conversations__item"
61+
>
62+
<div
63+
class="dtc__conversations__item__title"
64+
>
65+
<div
66+
data-testid="ellipsisText"
67+
>
68+
this is conversation 1
69+
</div>
70+
</div>
71+
</div>
72+
</ul>
73+
</li>
74+
<li>
75+
<div
76+
class="dtc__conversations__title"
77+
>
78+
<div
79+
data-testid="ellipsisText"
80+
>
81+
今天
82+
</div>
83+
</div>
84+
<ul
85+
class="dtc__conversations__list"
86+
>
87+
<div
88+
class="dtc__conversations__item"
89+
>
90+
<div
91+
class="dtc__conversations__item__title"
92+
>
93+
<div
94+
data-testid="ellipsisText"
95+
>
96+
this is conversation 2
97+
</div>
98+
</div>
99+
</div>
100+
</ul>
101+
</li>
102+
</ul>
103+
</div>
104+
</div>
105+
</DocumentFragment>
106+
`;
107+
108+
exports[`Test Chat Conversations Match snapshot: handleCreateChat 1`] = `
109+
<DocumentFragment>
110+
<div
111+
class="dtc__conversations__wrapper dtc__conversations--collapsed"
112+
>
113+
<button
114+
class="ant-btn ant-btn-default ant-btn-background-ghost dtc__aigc__button prompt-float-chat-add dtc__aigc__button--secondary"
115+
style="margin: 16px; gap: 4px; display: flex; align-items: center; justify-content: center;"
116+
type="button"
117+
>
118+
<span
119+
data-mock-icon="NewChatOutlined"
120+
/>
121+
<span
122+
class="dtc__aigc__button__text"
123+
>
124+
开启新对话
125+
</span>
126+
</button>
127+
<div
128+
class="dtc__conversations__container"
129+
>
130+
<ul
131+
class="dtc__conversations"
132+
/>
133+
</div>
134+
</div>
135+
</DocumentFragment>
136+
`;
137+
138+
exports[`Test Chat Conversations Match snapshot: loading 1`] = `
139+
<DocumentFragment>
140+
<div
141+
class="dtc__conversations__wrapper dtc__conversations--collapsed"
142+
>
143+
<div
144+
class="dtc__conversations__container"
145+
>
146+
<div
147+
aria-busy="true"
148+
aria-live="polite"
149+
class="ant-spin ant-spin-spinning dtc__conversations__spin__wrapper"
150+
>
151+
<span
152+
class="ant-spin-dot ant-spin-dot-spin"
153+
>
154+
<i
155+
class="ant-spin-dot-item"
156+
/>
157+
<i
158+
class="ant-spin-dot-item"
159+
/>
160+
<i
161+
class="ant-spin-dot-item"
162+
/>
163+
<i
164+
class="ant-spin-dot-item"
165+
/>
166+
</span>
167+
</div>
168+
</div>
169+
</div>
170+
</DocumentFragment>
171+
`;
172+
173+
exports[`Test Chat Conversations Match snapshot: normal 1`] = `
174+
<DocumentFragment>
175+
<div
176+
class="dtc__conversations__wrapper dtc__conversations--collapsed"
177+
>
178+
<div
179+
class="dtc__conversations__container"
180+
>
181+
<ul
182+
class="dtc__conversations"
183+
>
184+
<div
185+
class="dtc__conversations__item"
186+
>
187+
<div
188+
class="dtc__conversations__item__title"
189+
>
190+
<div
191+
data-testid="ellipsisText"
192+
>
193+
this is conversation 1
194+
</div>
195+
</div>
196+
</div>
197+
<div
198+
class="dtc__conversations__item"
199+
>
200+
<div
201+
class="dtc__conversations__item__title"
202+
>
203+
<div
204+
data-testid="ellipsisText"
205+
>
206+
this is conversation 2
207+
</div>
208+
</div>
209+
</div>
210+
</ul>
211+
</div>
212+
</div>
213+
</DocumentFragment>
214+
`;
215+
216+
exports[`Test Chat Conversations Match snapshot: select 1`] = `
217+
<DocumentFragment>
218+
<div
219+
class="dtc__conversations__wrapper dtc__conversations--collapsed"
220+
>
221+
<div
222+
class="dtc__conversations__container"
223+
>
224+
<ul
225+
class="dtc__conversations"
226+
/>
227+
</div>
228+
</div>
229+
</DocumentFragment>
230+
`;

0 commit comments

Comments
 (0)