Normalization, process quotes in importFetchedStatuses

Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
This commit is contained in:
marcin mikołajczak 2022-01-24 16:52:15 +01:00
parent 67006fdc34
commit fc0a5aea9c
5 changed files with 17 additions and 9 deletions

View file

@ -124,6 +124,10 @@ export function importFetchedStatuses(statuses) {
processStatus(status.reblog); processStatus(status.reblog);
} }
if (status.pleroma && status.pleroma.quote && status.pleroma.quote.id) {
processStatus(status.pleroma.quote);
}
if (status.poll && status.poll.id) { if (status.poll && status.poll.id) {
pushUnique(polls, normalizePoll(status.poll)); pushUnique(polls, normalizePoll(status.poll));
} }

View file

@ -49,6 +49,10 @@ export function normalizeStatus(status, normalOldStatus, expandSpoilers) {
normalStatus.poll = status.poll.id; normalStatus.poll = status.poll.id;
} }
if (status.pleroma && status.pleroma.quote && status.pleroma.quote.id) {
normalStatus.quote = status.pleroma.quote.id;
}
// Only calculate these values when status first encountered // Only calculate these values when status first encountered
// Otherwise keep the ones already in the reducer // Otherwise keep the ones already in the reducer
if (normalOldStatus) { if (normalOldStatus) {

View file

@ -458,7 +458,7 @@ class Status extends ImmutablePureComponent {
</Bundle> </Bundle>
); );
} }
} else if (status.get('spoiler_text').length === 0 && !status.getIn(['pleroma', 'quote']) && status.get('card')) { } else if (status.get('spoiler_text').length === 0 && !status.get('quote') && status.get('card')) {
media = ( media = (
<Card <Card
onOpenMedia={this.props.onOpenMedia} onOpenMedia={this.props.onOpenMedia}
@ -476,8 +476,8 @@ class Status extends ImmutablePureComponent {
let quote; let quote;
if (status.getIn(['pleroma', 'quote'])) { if (status.get('quote')) {
quote = <QuotedStatus statusId={status.getIn(['pleroma', 'quote', 'id'])} />; quote = <QuotedStatus statusId={status.get('quote')} />;
} }
if (otherAccounts && otherAccounts.size > 1) { if (otherAccounts && otherAccounts.size > 1) {

View file

@ -157,14 +157,14 @@ class DetailedStatus extends ImmutablePureComponent {
/> />
); );
} }
} else if (status.get('spoiler_text').length === 0 && !status.getIn(['pleroma', 'quote'])) { } else if (status.get('spoiler_text').length === 0 && !status.get('quote')) {
media = <Card onOpenMedia={this.props.onOpenMedia} card={status.get('card', null)} />; media = <Card onOpenMedia={this.props.onOpenMedia} card={status.get('card', null)} />;
} }
let quote; let quote;
if (status.getIn(['pleroma', 'quote'])) { if (status.get('quote')) {
quote = <QuotedStatus statusId={status.getIn(['pleroma', 'quote', 'id'])} />; quote = <QuotedStatus statusId={status.get('quote')} />;
} }
if (status.get('visibility') === 'direct') { if (status.get('visibility') === 'direct') {

View file

@ -7,11 +7,11 @@ import QuotedStatus from '../components/quoted_status';
const makeMapStateToProps = () => { const makeMapStateToProps = () => {
const getStatus = makeGetStatus(); const getStatus = makeGetStatus();
const mapStateToProps = (state, props) => ({ const mapStateToProps = (state, { statusId }) => ({
status: getStatus(state, { id: props.statusId }), status: getStatus(state, { id: statusId }),
}); });
return mapStateToProps; return mapStateToProps;
}; };
export default connect(makeMapStateToProps)(QuotedStatus); export default connect(makeMapStateToProps)(QuotedStatus);