bigbuffet-rw/app/soapbox/features/scheduled_statuses/builder.tsx

33 lines
1.2 KiB
TypeScript
Raw Normal View History

2022-02-23 19:11:40 -08:00
import { Map as ImmutableMap } from 'immutable';
2022-02-19 23:27:29 -08:00
import { normalizeStatus } from 'soapbox/normalizers/status';
2022-02-21 00:56:31 -08:00
import { calculateStatus } from 'soapbox/reducers/statuses';
import { makeGetAccount } from 'soapbox/selectors';
import type { ScheduledStatus } from 'soapbox/reducers/scheduled_statuses';
import type { RootState } from 'soapbox/store';
export const buildStatus = (state: RootState, scheduledStatus: ScheduledStatus) => {
const getAccount = makeGetAccount();
const me = state.me as string;
const account = getAccount(state, me);
2022-02-23 19:11:40 -08:00
const status = ImmutableMap({
account,
content: scheduledStatus.text.replace(new RegExp('\n', 'g'), '<br>'), /* eslint-disable-line no-control-regex */
created_at: scheduledStatus.scheduled_at,
id: scheduledStatus.id,
in_reply_to_id: scheduledStatus.in_reply_to_id,
media_attachments: scheduledStatus.media_attachments,
poll: scheduledStatus.poll,
sensitive: scheduledStatus.sensitive,
uri: `/scheduled_statuses/${scheduledStatus.id}`,
url: `/scheduled_statuses/${scheduledStatus.id}`,
visibility: scheduledStatus.visibility,
2022-02-23 19:11:40 -08:00
});
2022-02-23 19:11:40 -08:00
return calculateStatus(normalizeStatus(status));
};