import React from 'react';
import { formatMessage } from '@theorchard/suite-i18n';
import { type Identity } from '@theorchard/suite-identity';
import { ApplicationBanner } from '../applicationBanner';

export const ImpersonationBanner: React.FC<{ identity: Identity }> = ({ identity }) => {
    if (!identity.impersonatedBy) return null;

    return (
        <ApplicationBanner
            testId="ImpersonationBanner"
            title={formatMessage('impersonationBanner_impersonationMode')}
            subtitle={formatMessage('impersonationBanner_currentlyImpersonating', {
                impersonated: identity.name ?? 'User',
                impersonating: identity.impersonatedBy.name ?? 'User',
            })}
            defaultBtnProps={{
                label: formatMessage('impersonationBanner_endImpersonation'),
                onClick: () => window.location.assign('/?impersonate=end'),
            }}
        />
    );
};
