import React from 'react'; import classNames from 'classnames'; import { FileIcon } from 'react-file-utils'; import { EnrichedActivity, UR } from 'getstream'; import { DefaultAT, DefaultUT } from '../context/StreamApp'; import { textRenderer, smartRender, sanitizeURL } from '../utils'; import { Audio } from './Audio'; import { Video } from './Video'; import { Card as DefaultCard } from './Card'; import { Gallery } from './Gallery'; import { ActivityProps } from './Activity'; export type ActivityContentProps< UT extends DefaultUT = DefaultUT, AT extends DefaultAT = DefaultAT, CT extends UR = UR, RT extends UR = UR, CRT extends UR = UR > = ActivityProps; export const ActivityContent = < UT extends DefaultUT = DefaultUT, AT extends DefaultAT = DefaultAT, CT extends UR = UR, RT extends UR = UR, CRT extends UR = UR >({ activity, Repost, Card = DefaultCard, className, style, ...props }: ActivityContentProps) => { const { object, text = (typeof object === 'string' ? object : '').trim(), attachments: { og, images = [], files = [] } = {}, verb, image, } = activity; return (
{text && (

{textRenderer(text, 'raf-activity', props.onClickMention, props.onClickHashtag)}

)} {og && (
{og.videos ?
)} {typeof image === 'string' && (
)} {!!images.length && (
)} {!!files.length && (
    {files.map(({ name, url, mimeType }, i) => (
  1. {name}
  2. ))}
)} {verb === 'repost' && typeof object === 'object' && smartRender(Repost, { ...props, activity: object as EnrichedActivity, })}
); };