Fixing communityToChoice. Fixes #2231 . Fixes #2232 . (#2271)

* Fixing communityToChoice. Fixes #2231 . Fixes #2232 .

* Fixing map.

---------

Co-authored-by: SleeplessOne1917 <insomnia_void@protonmail.com>
This commit is contained in:
Dessalines 2023-12-06 09:36:15 -05:00 committed by GitHub
parent 8a722c939c
commit 39f86d421e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 23 deletions

View file

@ -1,4 +1,9 @@
import { enableDownvotes, enableNsfw, setIsoData } from "@utils/app";
import {
communityToChoice,
enableDownvotes,
enableNsfw,
setIsoData,
} from "@utils/app";
import { getIdFromString, getQueryParams } from "@utils/helpers";
import type { QueryParams } from "@utils/types";
import { Choice, RouteDataResponse } from "@utils/types";
@ -85,10 +90,9 @@ export class CreatePost extends Component<
};
if (communityRes?.state === "success") {
const communityChoice: Choice = {
label: communityRes.data.community_view.community.title,
value: communityRes.data.community_view.community.id.toString(),
};
const communityChoice = communityToChoice(
communityRes.data.community_view,
);
this.state = {
...this.state,
@ -107,10 +111,7 @@ export class CreatePost extends Component<
});
if (res.state === "success") {
this.setState({
selectedCommunityChoice: {
label: res.data.community_view.community.title,
value: res.data.community_view.community.id.toString(),
},
selectedCommunityChoice: communityToChoice(res.data.community_view),
loading: false,
});
}

View file

@ -263,26 +263,16 @@ export class PostForm extends Component<PostFormProps, PostFormState> {
community_id: getIdFromString(selectedCommunityChoice.value),
},
communitySearchOptions: [selectedCommunityChoice].concat(
(
this.props.initialCommunities?.map(
({ community: { id, title } }) => ({
label: title,
value: id.toString(),
}),
) ?? []
).filter(option => option.value !== selectedCommunityChoice.value),
(this.props.initialCommunities?.map(communityToChoice) ?? []).filter(
option => option.value !== selectedCommunityChoice.value,
),
),
};
} else {
this.state = {
...this.state,
communitySearchOptions:
this.props.initialCommunities?.map(
({ community: { id, title } }) => ({
label: title,
value: id.toString(),
}),
) ?? [],
this.props.initialCommunities?.map(communityToChoice) ?? [],
};
}