// Copyright: © 2026 TWWIM UG. All rights reserved. (www.twwim.com) import { RefreshCw, X } from 'lucide-react'; import { useTranslation } from '@/i18n/TranslationProvider'; import type { MemberInvitationResponse } from '@archer/api-interface'; import { RoleBadge } from './RoleBadge'; interface PendingInvitationsListProps { invitations: MemberInvitationResponse[]; onResend: (invitation: MemberInvitationResponse) => Promise; onRevoke: (invitation: MemberInvitationResponse) => Promise; } export function PendingInvitationsList({ invitations, onResend, onRevoke }: PendingInvitationsListProps) { const { t, locale } = useTranslation(); return (

{t('members.pending.heading')}

{invitations.length === 0 ? (
{t('members.pending.empty')}
) : (
    {invitations.map((inv) => (
  • {inv.email}
    {t('members.pending.invitedBy', { name: inv.invitedByName, date: new Date(inv.expiresAt).toLocaleDateString(locale), })}
  • ))}
)}
); }