Changeset View
Changeset View
Standalone View
Standalone View
web/modals/threads/subchannels/subchannel.react.js
// @flow | // @flow | ||||
import classNames from 'classnames'; | import classNames from 'classnames'; | ||||
import * as React from 'react'; | import * as React from 'react'; | ||||
import { useModalContext } from 'lib/components/modal-provider.react'; | import { useModalContext } from 'lib/components/modal-provider.react'; | ||||
import SWMansionIcon from 'lib/components/SWMansionIcon.react.js'; | |||||
import { type ChatThreadItem } from 'lib/selectors/chat-selectors'; | import { type ChatThreadItem } from 'lib/selectors/chat-selectors'; | ||||
import { useMessagePreview } from 'lib/shared/message-utils'; | import { useMessagePreview } from 'lib/shared/message-utils'; | ||||
import { shortAbsoluteDate } from 'lib/utils/date-utils'; | import { shortAbsoluteDate } from 'lib/utils/date-utils'; | ||||
import { useResolvedThreadInfo } from 'lib/utils/entity-helpers'; | import { useResolvedThreadInfo } from 'lib/utils/entity-helpers'; | ||||
import Button from '../../../components/button.react'; | import Button from '../../../components/button.react'; | ||||
import { getDefaultTextMessageRules } from '../../../markdown/rules.react'; | import { getDefaultTextMessageRules } from '../../../markdown/rules.react'; | ||||
import { useOnClickThread } from '../../../selectors/thread-selectors'; | import { useOnClickThread } from '../../../selectors/thread-selectors'; | ||||
import SWMansionIcon from '../../../SWMansionIcon.react'; | |||||
import css from './subchannels-modal.css'; | import css from './subchannels-modal.css'; | ||||
type Props = { | type Props = { | ||||
+chatThreadItem: ChatThreadItem, | +chatThreadItem: ChatThreadItem, | ||||
}; | }; | ||||
function Subchannel(props: Props): React.Node { | function Subchannel(props: Props): React.Node { | ||||
const { chatThreadItem } = props; | const { chatThreadItem } = props; | ||||
▲ Show 20 Lines • Show All 65 Lines • Show Last 20 Lines |