]> Untitled Git - lemmy-ui.git/commitdiff
Fix allowed and blocked instances not being fetched for admin settings (#1627)
authorSleeplessOne1917 <abias1122@gmail.com>
Tue, 27 Jun 2023 12:09:55 +0000 (08:09 -0400)
committerGitHub <noreply@github.com>
Tue, 27 Jun 2023 12:09:55 +0000 (08:09 -0400)
Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
src/shared/components/home/site-form.tsx

index 382f565098ee01a56d77b8cf1839ffc51c352339..45857a0df429c81bd20668c973513b1277ae1d50 100644 (file)
@@ -4,6 +4,7 @@ import {
   Component,
   InfernoKeyboardEvent,
   InfernoMouseEvent,
+  InfernoNode,
   linkEvent,
 } from "inferno";
 import {
@@ -13,6 +14,7 @@ import {
   Instance,
   ListingType,
 } from "lemmy-js-client";
+import deepEqual from "lodash.isequal";
 import { I18NextService } from "../../services";
 import { Icon, Spinner } from "../common/icon";
 import { ImageUploadForm } from "../common/image-upload-form";
@@ -55,6 +57,7 @@ export class SiteForm extends Component<SiteFormProps, SiteFormState> {
   initSiteForm(): EditSite {
     const site = this.props.siteRes.site_view.site;
     const ls = this.props.siteRes.site_view.local_site;
+
     return {
       name: site.name,
       sidebar: site.sidebar,
@@ -619,6 +622,19 @@ export class SiteForm extends Component<SiteFormProps, SiteFormState> {
     );
   }
 
+  componentDidUpdate(
+    prevProps: Readonly<{ children?: InfernoNode } & SiteFormProps>
+  ) {
+    if (
+      !(
+        deepEqual(prevProps.allowedInstances, this.props.allowedInstances) ||
+        deepEqual(prevProps.blockedInstances, this.props.blockedInstances)
+      )
+    ) {
+      this.setState({ siteForm: this.initSiteForm() });
+    }
+  }
+
   federatedInstanceSelect(key: InstanceKey) {
     const id = `create_site_${key}`;
     const value = this.state.instance_select[key];