Do not refresh when community is selected in create post (#1042)

This commit is contained in:
SleeplessOne1917 2023-05-29 13:01:52 +00:00 committed by GitHub
parent 7bcf079acf
commit 7720e37a63
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 18 deletions

View file

@ -20,7 +20,6 @@ import {
enableNsfw,
getIdFromString,
getQueryParams,
getQueryString,
isBrowser,
myAuth,
setIsoData,
@ -77,7 +76,7 @@ export class CreatePost extends Component<
if (communityRes) {
const communityChoice: Choice = {
label: communityRes.community_view.community.name,
label: communityRes.community_view.community.title,
value: communityRes.community_view.community.id.toString(),
};
@ -176,18 +175,21 @@ export class CreatePost extends Component<
updateUrl({ communityId }: Partial<CreatePostProps>) {
const { communityId: urlCommunityId } = getCreatePostQueryParams();
const queryParams: QueryParams<CreatePostProps> = {
communityId: (communityId ?? urlCommunityId)?.toString(),
};
const locationState = this.props.history.location.state as
| PostFormParams
| undefined;
this.props.history.replace(
`/create_post${getQueryString(queryParams)}`,
locationState
);
const url = new URL(location.href);
const newId = (communityId ?? urlCommunityId)?.toString();
if (newId !== undefined) {
url.searchParams.set("communityId", newId);
} else {
url.searchParams.delete("communityId");
}
history.replaceState(locationState, "", url);
this.fetchCommunity();
}
@ -234,12 +236,12 @@ export class CreatePost extends Component<
if (op === UserOperation.GetCommunity) {
const {
community_view: {
community: { name, id },
community: { title, id },
},
} = wsJsonToRes<GetCommunityResponse>(msg);
this.setState({
selectedCommunityChoice: { label: name, value: id.toString() },
selectedCommunityChoice: { label: title, value: id.toString() },
loading: false,
});
}

View file

@ -644,13 +644,7 @@ export class PostForm extends Component<PostFormProps, PostFormState> {
handleCommunitySelect(choice: Choice) {
if (this.props.onSelectCommunity) {
this.setState({
loading: true,
});
this.props.onSelectCommunity(choice);
this.setState({ loading: false });
}
}