kopia lustrzana https://gitlab.com/soapbox-pub/soapbox
Merge branch 'add-group-context-to-reply-modal' into 'develop'
Add group context to reply modal See merge request soapbox-pub/soapbox!2524environments/review-develop-3zknud/deployments/3404
commit
d18bc015f7
|
@ -31,6 +31,7 @@ import MarkdownButton from './markdown-button';
|
||||||
import PollButton from './poll-button';
|
import PollButton from './poll-button';
|
||||||
import PollForm from './polls/poll-form';
|
import PollForm from './polls/poll-form';
|
||||||
import PrivacyDropdown from './privacy-dropdown';
|
import PrivacyDropdown from './privacy-dropdown';
|
||||||
|
import ReplyGroupIndicator from './reply-group-indicator';
|
||||||
import ReplyMentions from './reply-mentions';
|
import ReplyMentions from './reply-mentions';
|
||||||
import ScheduleButton from './schedule-button';
|
import ScheduleButton from './schedule-button';
|
||||||
import SpoilerButton from './spoiler-button';
|
import SpoilerButton from './spoiler-button';
|
||||||
|
@ -295,6 +296,8 @@ const ComposeForm = <ID extends string>({ id, shouldCondense, autoFocus, clickab
|
||||||
|
|
||||||
<WarningContainer composeId={id} />
|
<WarningContainer composeId={id} />
|
||||||
|
|
||||||
|
{!shouldCondense && !event && !group && groupId && <ReplyGroupIndicator composeId={id} />}
|
||||||
|
|
||||||
{!shouldCondense && !event && !group && <ReplyIndicatorContainer composeId={id} />}
|
{!shouldCondense && !event && !group && <ReplyIndicatorContainer composeId={id} />}
|
||||||
|
|
||||||
{!shouldCondense && !event && !group && <ReplyMentions composeId={id} />}
|
{!shouldCondense && !event && !group && <ReplyMentions composeId={id} />}
|
||||||
|
|
|
@ -0,0 +1,42 @@
|
||||||
|
import React, { useCallback } from 'react';
|
||||||
|
import { FormattedMessage } from 'react-intl';
|
||||||
|
|
||||||
|
import Link from 'soapbox/components/link';
|
||||||
|
import { Text } from 'soapbox/components/ui';
|
||||||
|
import { useAppSelector } from 'soapbox/hooks';
|
||||||
|
import { Group } from 'soapbox/schemas';
|
||||||
|
import { makeGetStatus } from 'soapbox/selectors';
|
||||||
|
|
||||||
|
interface IReplyGroupIndicator {
|
||||||
|
composeId: string
|
||||||
|
}
|
||||||
|
|
||||||
|
const ReplyGroupIndicator = (props: IReplyGroupIndicator) => {
|
||||||
|
const { composeId } = props;
|
||||||
|
|
||||||
|
const getStatus = useCallback(makeGetStatus(), []);
|
||||||
|
|
||||||
|
const status = useAppSelector((state) => getStatus(state, { id: state.compose.get(composeId)?.in_reply_to! }));
|
||||||
|
const group = status?.group as Group;
|
||||||
|
|
||||||
|
if (!group) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Text theme='muted' size='sm'>
|
||||||
|
<FormattedMessage
|
||||||
|
id='compose.reply_group_indicator.message'
|
||||||
|
defaultMessage='Posting to {groupLink}'
|
||||||
|
values={{
|
||||||
|
groupLink: <Link
|
||||||
|
to={`/group/${group.slug}`}
|
||||||
|
dangerouslySetInnerHTML={{ __html: group.display_name_html }}
|
||||||
|
/>,
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
</Text>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default ReplyGroupIndicator;
|
|
@ -388,6 +388,7 @@
|
||||||
"compose.character_counter.title": "Used {chars} out of {maxChars} {maxChars, plural, one {character} other {characters}}",
|
"compose.character_counter.title": "Used {chars} out of {maxChars} {maxChars, plural, one {character} other {characters}}",
|
||||||
"compose.edit_success": "Your post was edited",
|
"compose.edit_success": "Your post was edited",
|
||||||
"compose.invalid_schedule": "You must schedule a post at least 5 minutes out.",
|
"compose.invalid_schedule": "You must schedule a post at least 5 minutes out.",
|
||||||
|
"compose.reply_group_indicator.message": "Posting to {groupLink}",
|
||||||
"compose.submit_success": "Your post was sent!",
|
"compose.submit_success": "Your post was sent!",
|
||||||
"compose_event.create": "Create",
|
"compose_event.create": "Create",
|
||||||
"compose_event.edit_success": "Your event was edited",
|
"compose_event.edit_success": "Your event was edited",
|
||||||
|
|
|
@ -550,7 +550,7 @@ const getInstanceFeatures = (instance: Instance) => {
|
||||||
* @see POST /api/v1/admin/groups/:group_id/unsuspend
|
* @see POST /api/v1/admin/groups/:group_id/unsuspend
|
||||||
* @see DELETE /api/v1/admin/groups/:group_id
|
* @see DELETE /api/v1/admin/groups/:group_id
|
||||||
*/
|
*/
|
||||||
groups: v.build === UNRELEASED,
|
groups: v.software === TRUTHSOCIAL,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cap # of Group Admins to 5
|
* Cap # of Group Admins to 5
|
||||||
|
|
Ładowanie…
Reference in New Issue