snapshot of https://github.com/RocketChat/Rocket.Chat.git (develop, 2026-09-16; blobs > 131072B omitted)
Some checks failed
Create issues from TODOs / todos (push) Failing after 3s
Close inactive issues / close-issues (push) Has been cancelled
Deploy GitHub Pages / deploy-preview (push) Has been cancelled
CI / ⚙️ Variables Setup (push) Has been cancelled
CI / ⚙️ Test Guard (push) Has been cancelled
CI / 🚀 Notify external services - draft (push) Has been cancelled
CI / 📦 Build Packages (push) Has been cancelled
CI / 📦 Meteor Build (coverage) (push) Has been cancelled
CI / 📦 Meteor Build (production) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [account-service presence-service omnichannel-transcript-service], ${{ (github.event_name != 'release' && github.ref != 'refs/heads/develop') && 'coverage' || 'production' }}) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [account-service presence-service omnichannel-transcript-service], fips) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [authorization-service queue-worker-service ddp-streamer-service], ${{ (github.event_name != 'release' && github.ref != 'refs/heads/develop') && 'coverage' || 'production' }}) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [authorization-service queue-worker-service ddp-streamer-service], fips) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [rocketchat], ${{ (github.event_name != 'release' && github.ref != 'refs/heads/develop') && 'coverage' || 'production' }}) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [rocketchat], coverage) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [rocketchat], fips) (push) Has been cancelled
CI / 🚢 Build Docker (arm64, [account-service presence-service omnichannel-transcript-service], ${{ (github.event_name != 'release' && github.ref != 'refs/heads/develop') && 'coverage' || 'production' }}) (push) Has been cancelled
CI / 🚢 Build Docker (arm64, [authorization-service queue-worker-service ddp-streamer-service], ${{ (github.event_name != 'release' && github.ref != 'refs/heads/develop') && 'coverage' || 'production' }}) (push) Has been cancelled
CI / 🚢 Build Docker (arm64, [rocketchat], ${{ (github.event_name != 'release' && github.ref != 'refs/heads/develop') && 'coverage' || 'production' }}) (push) Has been cancelled
CI / 🚢 Build Docker (arm64, [rocketchat], coverage) (push) Has been cancelled
CI / 🚢 Publish Docker Images (ghcr.io) (push) Has been cancelled
CI / 📦 Track Image Sizes (push) Has been cancelled
CI / 🔎 Code Check - Action Lint (push) Has been cancelled
CI / 🔎 Code Check (push) Has been cancelled
CI / 🔨 Test Storybook (push) Has been cancelled
CI / 🔨 Test Unit (push) Has been cancelled
CI / 🔨 Test API (CE) (push) Has been cancelled
CI / 🔨 Test API Livechat (CE) (push) Has been cancelled
CI / 🔨 Test UI (CE) (push) Has been cancelled
CI / 🔨 Test API (EE) (push) Has been cancelled
CI / 🔨 Test API Livechat (EE) (push) Has been cancelled
CI / 🔨 Test API Apps (deno-runtime - EE) (push) Has been cancelled
CI / 🔨 Test UI (EE) (push) Has been cancelled
CI / 🔨 Test API (FIPS) (push) Has been cancelled
CI / 🔨 Test API Livechat (FIPS) (push) Has been cancelled
CI / 🔨 Test UI (FIPS) (push) Has been cancelled
CI / 🔨 Test Federation Matrix (push) Has been cancelled
CI / 📊 Report Coverage (push) Has been cancelled
CI / ✅ Tests Done (push) Has been cancelled
CI / 🚀 Publish build assets (push) Has been cancelled
CI / 🚀 Publish Docker Images (DockerHub) (push) Has been cancelled
CI / 🚀 Notify external services (push) Has been cancelled
CI / Update Version Durability (push) Has been cancelled
Release / Release (push) Has been cancelled
Auto-close duplicate issues / auto-close-duplicates (push) Failing after 1s
Code scanning - action / CodeQL-Build (push) Failing after 1s
Some checks failed
Create issues from TODOs / todos (push) Failing after 3s
Close inactive issues / close-issues (push) Has been cancelled
Deploy GitHub Pages / deploy-preview (push) Has been cancelled
CI / ⚙️ Variables Setup (push) Has been cancelled
CI / ⚙️ Test Guard (push) Has been cancelled
CI / 🚀 Notify external services - draft (push) Has been cancelled
CI / 📦 Build Packages (push) Has been cancelled
CI / 📦 Meteor Build (coverage) (push) Has been cancelled
CI / 📦 Meteor Build (production) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [account-service presence-service omnichannel-transcript-service], ${{ (github.event_name != 'release' && github.ref != 'refs/heads/develop') && 'coverage' || 'production' }}) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [account-service presence-service omnichannel-transcript-service], fips) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [authorization-service queue-worker-service ddp-streamer-service], ${{ (github.event_name != 'release' && github.ref != 'refs/heads/develop') && 'coverage' || 'production' }}) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [authorization-service queue-worker-service ddp-streamer-service], fips) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [rocketchat], ${{ (github.event_name != 'release' && github.ref != 'refs/heads/develop') && 'coverage' || 'production' }}) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [rocketchat], coverage) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [rocketchat], fips) (push) Has been cancelled
CI / 🚢 Build Docker (arm64, [account-service presence-service omnichannel-transcript-service], ${{ (github.event_name != 'release' && github.ref != 'refs/heads/develop') && 'coverage' || 'production' }}) (push) Has been cancelled
CI / 🚢 Build Docker (arm64, [authorization-service queue-worker-service ddp-streamer-service], ${{ (github.event_name != 'release' && github.ref != 'refs/heads/develop') && 'coverage' || 'production' }}) (push) Has been cancelled
CI / 🚢 Build Docker (arm64, [rocketchat], ${{ (github.event_name != 'release' && github.ref != 'refs/heads/develop') && 'coverage' || 'production' }}) (push) Has been cancelled
CI / 🚢 Build Docker (arm64, [rocketchat], coverage) (push) Has been cancelled
CI / 🚢 Publish Docker Images (ghcr.io) (push) Has been cancelled
CI / 📦 Track Image Sizes (push) Has been cancelled
CI / 🔎 Code Check - Action Lint (push) Has been cancelled
CI / 🔎 Code Check (push) Has been cancelled
CI / 🔨 Test Storybook (push) Has been cancelled
CI / 🔨 Test Unit (push) Has been cancelled
CI / 🔨 Test API (CE) (push) Has been cancelled
CI / 🔨 Test API Livechat (CE) (push) Has been cancelled
CI / 🔨 Test UI (CE) (push) Has been cancelled
CI / 🔨 Test API (EE) (push) Has been cancelled
CI / 🔨 Test API Livechat (EE) (push) Has been cancelled
CI / 🔨 Test API Apps (deno-runtime - EE) (push) Has been cancelled
CI / 🔨 Test UI (EE) (push) Has been cancelled
CI / 🔨 Test API (FIPS) (push) Has been cancelled
CI / 🔨 Test API Livechat (FIPS) (push) Has been cancelled
CI / 🔨 Test UI (FIPS) (push) Has been cancelled
CI / 🔨 Test Federation Matrix (push) Has been cancelled
CI / 📊 Report Coverage (push) Has been cancelled
CI / ✅ Tests Done (push) Has been cancelled
CI / 🚀 Publish build assets (push) Has been cancelled
CI / 🚀 Publish Docker Images (DockerHub) (push) Has been cancelled
CI / 🚀 Notify external services (push) Has been cancelled
CI / Update Version Durability (push) Has been cancelled
Release / Release (push) Has been cancelled
Auto-close duplicate issues / auto-close-duplicates (push) Failing after 1s
Code scanning - action / CodeQL-Build (push) Failing after 1s
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
import DiscussionsListItem from './DiscussionsListItem';
|
||||
|
||||
const message = {
|
||||
msg: 'hello world',
|
||||
ts: new Date(0),
|
||||
username: 'guilherme.gazzo',
|
||||
dcount: 5,
|
||||
dlm: new Date(0),
|
||||
formatDate: (date: Date) => date.toISOString(),
|
||||
};
|
||||
|
||||
const largeText = {
|
||||
...message,
|
||||
msg: 'Large text, Large text, Large text, Large text, Large text, Large text, Large text, Large text, Large text, Large text, Large text, Large text, Large text, Large text, Large text, Large text, Large text, Large text, Large text, Large text, Large text, Large text, Large text, Large text, Large text, Large text, Large text, Large text, Large text, Large text, Large text, Large text, Large text, Large text, Large text, Large text, Large text, Large text, Large text, Large text, Large text, Large text, Large text, Large text, Large text, Large text, Large text, Large text',
|
||||
};
|
||||
|
||||
const noReplies = {
|
||||
...message,
|
||||
dcount: 0,
|
||||
};
|
||||
|
||||
export default {
|
||||
component: DiscussionsListItem,
|
||||
};
|
||||
|
||||
export const Basic = () => <DiscussionsListItem {...(message as any)} />;
|
||||
|
||||
export const LargeText = () => <DiscussionsListItem {...(largeText as any)} />;
|
||||
|
||||
export const NoReplies = () => <DiscussionsListItem {...(noReplies as any)} />;
|
||||
@@ -0,0 +1,88 @@
|
||||
import type { IDiscussionMessage } from '@rocket.chat/core-typings';
|
||||
import {
|
||||
Box,
|
||||
Message,
|
||||
MessageLeftContainer,
|
||||
MessageContainer,
|
||||
MessageHeader,
|
||||
MessageName,
|
||||
MessageTimestamp,
|
||||
MessageBody,
|
||||
MessageBlock,
|
||||
MessageMetrics,
|
||||
MessageMetricsItem,
|
||||
MessageMetricsItemLabel,
|
||||
MessageMetricsItemIcon,
|
||||
} from '@rocket.chat/fuselage';
|
||||
import { MessageAvatar } from '@rocket.chat/ui-avatar';
|
||||
import type { ComponentProps, ReactNode } from 'react';
|
||||
import { memo } from 'react';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
|
||||
import Emoji from '../../../../../components/Emoji';
|
||||
import { clickableItem } from '../../../../../lib/clickableItem';
|
||||
|
||||
export type DiscussionListItemProps = {
|
||||
_id: IDiscussionMessage['_id'];
|
||||
msg: ReactNode;
|
||||
dcount: number;
|
||||
dlm: Date | undefined;
|
||||
formatDate: (date: Date) => string;
|
||||
username: IDiscussionMessage['u']['username'];
|
||||
name?: IDiscussionMessage['u']['name'];
|
||||
ts: IDiscussionMessage['ts'];
|
||||
emoji: IDiscussionMessage['emoji'];
|
||||
} & Omit<ComponentProps<typeof Box>, 'is'>;
|
||||
|
||||
const DiscussionListItem = ({
|
||||
_id,
|
||||
msg,
|
||||
username,
|
||||
name = username,
|
||||
ts,
|
||||
dcount,
|
||||
formatDate,
|
||||
dlm,
|
||||
className = [],
|
||||
emoji,
|
||||
...props
|
||||
}: DiscussionListItemProps) => {
|
||||
const { t } = useTranslation();
|
||||
return (
|
||||
<Box is={Message} {...props} className={className} paddingBlockStart={16} paddingBlockEnd={8}>
|
||||
<MessageLeftContainer>
|
||||
<MessageAvatar emoji={emoji ? <Emoji emojiHandle={emoji} fillContainer /> : undefined} username={username} size='x36' />
|
||||
</MessageLeftContainer>
|
||||
<MessageContainer>
|
||||
<MessageHeader>
|
||||
<MessageName title={username}>{name}</MessageName>
|
||||
<MessageTimestamp>{formatDate(ts)}</MessageTimestamp>
|
||||
</MessageHeader>
|
||||
<MessageBody clamp={2}>{msg}</MessageBody>
|
||||
<MessageBlock>
|
||||
<MessageMetrics>
|
||||
{!dcount && (
|
||||
<MessageMetricsItem>
|
||||
<MessageMetricsItemLabel>{t('No_messages_yet')}</MessageMetricsItemLabel>
|
||||
</MessageMetricsItem>
|
||||
)}
|
||||
{!!dcount && (
|
||||
<MessageMetricsItem>
|
||||
<MessageMetricsItemIcon name='discussion' />
|
||||
<MessageMetricsItemLabel>{dcount}</MessageMetricsItemLabel>
|
||||
</MessageMetricsItem>
|
||||
)}
|
||||
{!!dcount && (
|
||||
<MessageMetricsItem>
|
||||
<MessageMetricsItemIcon name='clock' />
|
||||
<MessageMetricsItemLabel>{dlm ? formatDate(dlm) : undefined}</MessageMetricsItemLabel>
|
||||
</MessageMetricsItem>
|
||||
)}
|
||||
</MessageMetrics>
|
||||
</MessageBlock>
|
||||
</MessageContainer>
|
||||
</Box>
|
||||
);
|
||||
};
|
||||
|
||||
export default memo(clickableItem(DiscussionListItem));
|
||||
Reference in New Issue
Block a user