|
2 | 2 | <html lang="en-US"> |
3 | 3 |
|
4 | 4 | <head> |
5 | | - <title>Status: basic</title> |
| 5 | + <title>Message status</title> |
6 | 6 | <link href="/assets/index.css" rel="stylesheet" type="text/css" /> |
7 | 7 | <script type="importmap"> |
8 | | - { |
9 | | - "imports": { |
10 | | - "react": "https://esm.sh/react@18.3.1", |
11 | | - "react-dom": "https://esm.sh/react-dom@18.3.1", |
12 | | - "react-dom/": "https://esm.sh/react-dom@18.3.1/", |
13 | | - "@testduet/wait-for": "https://unpkg.com/@testduet/wait-for@main/dist/wait-for.mjs", |
14 | | - "@fluentui/react-components": "https://esm.sh/@fluentui/react-components?deps=react@18.3.1&exports=FluentProvider,createDarkTheme,webLightTheme" |
15 | | - } |
| 8 | + { |
| 9 | + "imports": { |
| 10 | + "@fluentui/react-provider": "https://esm.sh/@fluentui/react-provider?deps=react@18&exports=FluentProvider", |
| 11 | + "@fluentui/tokens": "https://esm.sh/@fluentui/tokens?deps=react@18&exports=createDarkTheme,webLightTheme", |
| 12 | + "@testduet/wait-for": "https://unpkg.com/@testduet/wait-for@main/dist/wait-for.mjs", |
| 13 | + "botframework-webchat": "/__dist__/packages/bundle/static/botframework-webchat.js", |
| 14 | + "botframework-webchat/decorator": "/__dist__/packages/bundle/static/botframework-webchat/decorator.js", |
| 15 | + "botframework-webchat/internal": "/__dist__/packages/bundle/static/botframework-webchat/internal.js", |
| 16 | + "botframework-webchat-fluent-theme": "/__dist__/packages/fluent-theme/static/botframework-webchat-fluent-theme.js", |
| 17 | + "react": "https://esm.sh/react@18", |
| 18 | + "react-dom": "https://esm.sh/react-dom@18", |
| 19 | + "react-dom/": "https://esm.sh/react-dom@18/" |
16 | 20 | } |
17 | | - </script> |
| 21 | + } |
| 22 | + </script> |
18 | 23 | <script crossorigin="anonymous" src="/test-harness.js"></script> |
19 | 24 | <script crossorigin="anonymous" src="/test-page-object.js"></script> |
20 | | - <script type="module"> |
21 | | - import React from 'react'; |
22 | | - window.React = React; |
23 | | - </script> |
24 | | - <script defer crossorigin="anonymous" src="/__dist__/webchat-es5.js"></script> |
25 | | - <script defer crossorigin="anonymous" src="/__dist__/botframework-webchat-fluent-theme.development.js"></script> |
26 | 25 | <style type="text/css"> |
27 | 26 | #webchat { |
28 | 27 | width: 640px; |
|
41 | 40 | <body> |
42 | 41 | <main id="webchat"></main> |
43 | 42 | <script type="module"> |
44 | | - import React from 'react'; |
45 | | - import { createRoot } from 'react-dom/client'; |
46 | | - import { FluentProvider, createDarkTheme, webLightTheme } from '@fluentui/react-components'; |
| 43 | + import '/test-harness.mjs'; |
| 44 | + import '/test-page-object.mjs'; |
| 45 | + |
| 46 | + import { createDarkTheme, webLightTheme } from '@fluentui/tokens'; |
| 47 | + import { FluentProvider } from '@fluentui/react-provider'; |
47 | 48 | import { waitFor } from '@testduet/wait-for'; |
| 49 | + import { createDirectLine, createStoreWithOptions, ReactWebChat } from 'botframework-webchat'; |
| 50 | + import { FluentThemeProvider } from 'botframework-webchat-fluent-theme'; |
| 51 | + import { createElement } from 'react'; |
| 52 | + import { createRoot } from 'react-dom/client'; |
48 | 53 |
|
49 | | - run(async function () { |
50 | | - const { |
51 | | - WebChat: { FluentThemeProvider, ReactWebChat } |
52 | | - } = window; |
| 54 | + const { |
| 55 | + testHelpers: { createDirectLineEmulator } |
| 56 | + } = window; |
53 | 57 |
|
54 | | - const { directLine, store } = testHelpers.createDirectLineEmulator(); |
| 58 | + // TODO: This is for `createDirectLineEmulator` only, should find ways to eliminate this line. |
| 59 | + window.WebChat = { createStoreWithOptions }; |
| 60 | + |
| 61 | + run(async function () { |
| 62 | + const { directLine, store } = createDirectLineEmulator(); |
55 | 63 |
|
56 | 64 | const searchParams = new URLSearchParams(location.search); |
57 | 65 | const variant = searchParams.get('variant'); |
|
115 | 123 |
|
116 | 124 | root.render( |
117 | 125 | variant === 'copilot' || variant === 'fluent' ? |
118 | | - React.createElement( |
| 126 | + createElement( |
119 | 127 | FluentProvider, |
120 | 128 | { className: 'fui-FluentProvider', theme: fluentTheme }, |
121 | | - React.createElement( |
| 129 | + createElement( |
122 | 130 | FluentThemeProvider, |
123 | 131 | { variant: variant }, |
124 | | - React.createElement(ReactWebChat, webChatProps) |
| 132 | + createElement(ReactWebChat, webChatProps) |
125 | 133 | ) |
126 | 134 | ) : |
127 | | - React.createElement(ReactWebChat, webChatProps) |
| 135 | + createElement(ReactWebChat, webChatProps) |
128 | 136 | ); |
129 | 137 |
|
130 | 138 | await pageConditions.uiConnected(); |
131 | 139 |
|
132 | 140 | const botIcon = 'data:image/png;base64,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'; |
133 | 141 |
|
| 142 | + const author = { |
| 143 | + '@context': 'https://schema.org', |
| 144 | + '@type': 'Person', |
| 145 | + image: botIcon, |
| 146 | + name: 'Agent', |
| 147 | + }; |
| 148 | + |
134 | 149 | directLine.emulateIncomingActivity({ |
135 | 150 | from: { role: 'user' }, |
136 | 151 | type: 'message', |
|
148 | 163 | '@type': 'Message', |
149 | 164 | type: 'https://schema.org/Message', |
150 | 165 | abstract: 'Response without status', |
| 166 | + author |
151 | 167 | }] |
152 | 168 | }); |
153 | 169 |
|
|
164 | 180 | '@type': 'Message', |
165 | 181 | type: 'https://schema.org/Message', |
166 | 182 | abstract: 'Another response without status', |
| 183 | + author |
167 | 184 | }] |
168 | 185 | }); |
169 | 186 |
|
|
182 | 199 | '@type': 'Message', |
183 | 200 | type: 'https://schema.org/Message', |
184 | 201 | abstract: 'Response in progress...', |
185 | | - creativeWorkStatus: 'incomplete' |
| 202 | + creativeWorkStatus: 'incomplete', |
| 203 | + author |
186 | 204 | }] |
187 | 205 | }); |
188 | 206 |
|
|
201 | 219 | '@type': 'Message', |
202 | 220 | type: 'https://schema.org/Message', |
203 | 221 | abstract: 'Response completed!', |
204 | | - creativeWorkStatus: 'published' |
| 222 | + creativeWorkStatus: 'published', |
| 223 | + author |
205 | 224 | }] |
206 | 225 | }); |
207 | 226 |
|
|
221 | 240 | '@type': 'Message', |
222 | 241 | type: 'https://schema.org/Message', |
223 | 242 | abstract: 'Second message - published', |
224 | | - creativeWorkStatus: 'published' |
| 243 | + creativeWorkStatus: 'published', |
| 244 | + author |
225 | 245 | }] |
226 | 246 | }); |
227 | 247 |
|
|
236 | 256 | '@type': 'Message', |
237 | 257 | type: 'https://schema.org/Message', |
238 | 258 | abstract: 'Third message - in progress', |
239 | | - creativeWorkStatus: 'incomplete' |
| 259 | + creativeWorkStatus: 'incomplete', |
| 260 | + author |
240 | 261 | }] |
241 | 262 | }); |
242 | 263 |
|
|
251 | 272 | '@type': 'Message', |
252 | 273 | type: 'https://schema.org/Message', |
253 | 274 | abstract: 'Fourth message - no status', |
254 | | - creativeWorkStatus: 'incomplete' |
| 275 | + creativeWorkStatus: 'incomplete', |
| 276 | + author |
255 | 277 | }] |
256 | 278 | }); |
257 | 279 |
|
|
271 | 293 | '@type': 'Message', |
272 | 294 | type: 'https://schema.org/Message', |
273 | 295 | abstract: 'Third message - now complete', |
274 | | - creativeWorkStatus: 'published' |
| 296 | + creativeWorkStatus: 'published', |
| 297 | + author |
275 | 298 | }] |
276 | 299 | }); |
277 | 300 |
|
|
287 | 310 | '@type': 'Message', |
288 | 311 | type: 'https://schema.org/Message', |
289 | 312 | abstract: 'Fourth message - now loading', |
290 | | - creativeWorkStatus: 'incomplete' |
| 313 | + creativeWorkStatus: 'incomplete', |
| 314 | + author |
291 | 315 | }] |
292 | 316 | }); |
293 | 317 |
|
|
307 | 331 | '@type': 'Message', |
308 | 332 | type: 'https://schema.org/Message', |
309 | 333 | abstract: 'Fourth message - final completion', |
310 | | - creativeWorkStatus: 'published' |
| 334 | + creativeWorkStatus: 'published', |
| 335 | + author |
311 | 336 | }] |
312 | 337 | }); |
313 | 338 |
|
|
326 | 351 | '@context': 'https://schema.org', |
327 | 352 | '@type': 'Message', |
328 | 353 | type: 'https://schema.org/Message', |
329 | | - creativeWorkStatus: 'published' |
| 354 | + creativeWorkStatus: 'published', |
| 355 | + author |
330 | 356 | }] |
331 | 357 | }); |
332 | 358 |
|
|
0 commit comments