import { WebChatActivity } from 'botframework-webchat-core';
import React, { Fragment, memo, useMemo, type ReactNode } from 'react';
import { ActivityDecoratorRequest } from '..';
import { ActivityBorderDecoratorMiddlewareProxy } from './ActivityBorderDecoratorMiddleware';
const ActivityDecoratorFallback = memo(({ children }) => {children});
ActivityDecoratorFallback.displayName = 'ActivityDecoratorFallback';
const supportedActivityRoles: ActivityDecoratorRequest['from'][] = ['bot', 'channel', 'user', undefined];
const supportedActivityStates: ActivityDecoratorRequest['state'][] = ['informative', 'completion', undefined];
function ActivityDecorator({ children, activity }: Readonly<{ activity?: WebChatActivity; children?: ReactNode }>) {
const request = useMemo(
() => ({
from: supportedActivityRoles.includes(activity?.from?.role) ? activity?.from?.role : undefined,
state: supportedActivityStates.includes(activity?.channelData?.streamType)
? activity?.channelData?.streamType
: undefined
}),
[activity]
);
return (
{children}
);
}
export default memo(ActivityDecorator);