import React, { ReactNode } from 'react'; import styled from 'styled-components'; import { nonNullish } from '../../../session/utils/String'; import { OpacityMetadataComponent } from './MessageMetadata'; type BadgeProps = { badge: string; direction: string; withImageNoCaption: boolean; children?: ReactNode; }; const BadgeText = styled(props => )` font-weight: bold; padding-inline-end: 5px; font-size: 11px; line-height: 16px; letter-spacing: 0.3px; text-transform: uppercase; user-select: none; color: ${props => (props.withImageNoCaption ? 'white' : props.theme.colors.textColor)}; `; const BadgeSeparator = styled(props => )<{ withImageNoCaption: boolean; }>` margin-top: -2px; color: ${props => (props.withImageNoCaption ? 'white' : props.theme.colors.textColor)}; `; export const MetadataBadge = (props: BadgeProps): JSX.Element => { return ( <>  •  ); }; type BadgesProps = { id: string; direction: string; isPublic?: boolean; isAdmin?: boolean; withImageNoCaption: boolean; }; export const MetadataBadges = (props: BadgesProps): JSX.Element => { const { id, direction, isPublic, isAdmin, withImageNoCaption } = props; const badges = [(isPublic && 'Public') || null, (isPublic && isAdmin && 'Mod') || null].filter( nonNullish ); if (!badges || badges.length === 0) { return <>; } const badgesElements = badges.map(badgeText => ( )); return <>{badgesElements}; };