mirror of
https://github.com/LemmyNet/lemmy-ui.git
synced 2024-11-22 20:31:13 +00:00
Do not refresh when community is selected in create post (#1042)
This commit is contained in:
parent
7bcf079acf
commit
7720e37a63
2 changed files with 14 additions and 18 deletions
|
@ -20,7 +20,6 @@ import {
|
||||||
enableNsfw,
|
enableNsfw,
|
||||||
getIdFromString,
|
getIdFromString,
|
||||||
getQueryParams,
|
getQueryParams,
|
||||||
getQueryString,
|
|
||||||
isBrowser,
|
isBrowser,
|
||||||
myAuth,
|
myAuth,
|
||||||
setIsoData,
|
setIsoData,
|
||||||
|
@ -77,7 +76,7 @@ export class CreatePost extends Component<
|
||||||
|
|
||||||
if (communityRes) {
|
if (communityRes) {
|
||||||
const communityChoice: Choice = {
|
const communityChoice: Choice = {
|
||||||
label: communityRes.community_view.community.name,
|
label: communityRes.community_view.community.title,
|
||||||
value: communityRes.community_view.community.id.toString(),
|
value: communityRes.community_view.community.id.toString(),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -176,18 +175,21 @@ export class CreatePost extends Component<
|
||||||
updateUrl({ communityId }: Partial<CreatePostProps>) {
|
updateUrl({ communityId }: Partial<CreatePostProps>) {
|
||||||
const { communityId: urlCommunityId } = getCreatePostQueryParams();
|
const { communityId: urlCommunityId } = getCreatePostQueryParams();
|
||||||
|
|
||||||
const queryParams: QueryParams<CreatePostProps> = {
|
|
||||||
communityId: (communityId ?? urlCommunityId)?.toString(),
|
|
||||||
};
|
|
||||||
|
|
||||||
const locationState = this.props.history.location.state as
|
const locationState = this.props.history.location.state as
|
||||||
| PostFormParams
|
| PostFormParams
|
||||||
| undefined;
|
| undefined;
|
||||||
|
|
||||||
this.props.history.replace(
|
const url = new URL(location.href);
|
||||||
`/create_post${getQueryString(queryParams)}`,
|
|
||||||
locationState
|
const newId = (communityId ?? urlCommunityId)?.toString();
|
||||||
);
|
|
||||||
|
if (newId !== undefined) {
|
||||||
|
url.searchParams.set("communityId", newId);
|
||||||
|
} else {
|
||||||
|
url.searchParams.delete("communityId");
|
||||||
|
}
|
||||||
|
|
||||||
|
history.replaceState(locationState, "", url);
|
||||||
|
|
||||||
this.fetchCommunity();
|
this.fetchCommunity();
|
||||||
}
|
}
|
||||||
|
@ -234,12 +236,12 @@ export class CreatePost extends Component<
|
||||||
if (op === UserOperation.GetCommunity) {
|
if (op === UserOperation.GetCommunity) {
|
||||||
const {
|
const {
|
||||||
community_view: {
|
community_view: {
|
||||||
community: { name, id },
|
community: { title, id },
|
||||||
},
|
},
|
||||||
} = wsJsonToRes<GetCommunityResponse>(msg);
|
} = wsJsonToRes<GetCommunityResponse>(msg);
|
||||||
|
|
||||||
this.setState({
|
this.setState({
|
||||||
selectedCommunityChoice: { label: name, value: id.toString() },
|
selectedCommunityChoice: { label: title, value: id.toString() },
|
||||||
loading: false,
|
loading: false,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -644,13 +644,7 @@ export class PostForm extends Component<PostFormProps, PostFormState> {
|
||||||
|
|
||||||
handleCommunitySelect(choice: Choice) {
|
handleCommunitySelect(choice: Choice) {
|
||||||
if (this.props.onSelectCommunity) {
|
if (this.props.onSelectCommunity) {
|
||||||
this.setState({
|
|
||||||
loading: true,
|
|
||||||
});
|
|
||||||
|
|
||||||
this.props.onSelectCommunity(choice);
|
this.props.onSelectCommunity(choice);
|
||||||
|
|
||||||
this.setState({ loading: false });
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue