Skip to content

Commit 173be90

Browse files
committed
Use styleOptions at init
1 parent 8fe980e commit 173be90

3 files changed

Lines changed: 21 additions & 26 deletions

File tree

packages/component/src/Composer.tsx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ import { ScrollRelativeTranscriptScope } from './hooks/transcriptScrollRelative'
4444
import defaultActivityPolymiddleware from './Middleware/Activity/defaultActivityPolymiddleware';
4545
import createDefaultActivityStatusMiddleware from './Middleware/ActivityStatus/createCoreMiddleware';
4646
import createDefaultAttachmentForScreenReaderMiddleware from './Middleware/AttachmentForScreenReader/createCoreMiddleware';
47-
import defaultAvatarPolymiddleware from './Middleware/Avatar/defaultAvatarPolymiddleware';
47+
import createDefaultAvatarMiddleware from './Middleware/Avatar/createDefaultAvatarPolymiddleware';
4848
import createDefaultCardActionMiddleware from './Middleware/CardAction/createCoreMiddleware';
4949
import createDefaultScrollToEndButtonMiddleware from './Middleware/ScrollToEndButton/createScrollToEndButtonMiddleware';
5050
import createDefaultToastMiddleware from './Middleware/Toast/createCoreMiddleware';
@@ -426,6 +426,8 @@ const Composer = ({
426426
[cardActionMiddleware, theme.cardActionMiddleware]
427427
);
428428

429+
const defaultAvatarPolymiddleware = useMemo(() => createDefaultAvatarMiddleware(styleOptions), [styleOptions]);
430+
429431
const patchedPolymiddleware = useMemoIterable<readonly Polymiddleware[]>(
430432
() =>
431433
Object.freeze([
@@ -436,7 +438,7 @@ const Composer = ({
436438
defaultActivityPolymiddleware,
437439
defaultAvatarPolymiddleware
438440
]),
439-
[polymiddleware, theme.polymiddleware]
441+
[defaultAvatarPolymiddleware, polymiddleware, theme.polymiddleware]
440442
);
441443

442444
const patchedToastMiddleware = useMemoIterable<readonly ToastMiddleware[]>(
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import type { StyleOptions } from 'botframework-webchat-api';
2+
import { avatarComponent, createAvatarPolymiddleware } from 'botframework-webchat-api/middleware';
3+
import DefaultAvatar from './DefaultAvatar';
4+
5+
function createDefaultAvatarMiddleware(styleOptions: StyleOptions | undefined) {
6+
const { botAvatarImage, botAvatarInitials, userAvatarImage, userAvatarInitials } = styleOptions ?? {};
7+
8+
return createAvatarPolymiddleware(_next => ({ activity }) => {
9+
const fromUser = activity.from?.role === 'user';
10+
11+
return (fromUser ? userAvatarImage || userAvatarInitials : botAvatarImage || botAvatarInitials)
12+
? avatarComponent(DefaultAvatar, Object.freeze({ fromUser }))
13+
: undefined;
14+
});
15+
}
16+
17+
export default createDefaultAvatarMiddleware;

packages/component/src/Middleware/Avatar/defaultAvatarPolymiddleware.tsx

Lines changed: 0 additions & 24 deletions
This file was deleted.

0 commit comments

Comments
 (0)