Move serverConfig from property to state

Release-Notes: skip
Change-Id: I82a225c7d497e3e116c6be7157da9479c517de48
diff --git a/polygerrit-ui/app/elements/change/gr-reply-dialog/gr-reply-dialog.ts b/polygerrit-ui/app/elements/change/gr-reply-dialog/gr-reply-dialog.ts
index df83d7e..d86bd7a 100644
--- a/polygerrit-ui/app/elements/change/gr-reply-dialog/gr-reply-dialog.ts
+++ b/polygerrit-ui/app/elements/change/gr-reply-dialog/gr-reply-dialog.ts
@@ -105,6 +105,7 @@
 import {BindValueChangeEvent, ValueChangedEvent} from '../../../types/events';
 import {customElement, property, state, query} from 'lit/decorators';
 import {subscribe} from '../../lit/subscription-controller';
+import {configModelToken} from '../../../models/config/config-model';
 
 const STORAGE_DEBOUNCE_INTERVAL_MS = 400;
 
@@ -213,9 +214,6 @@
   @property({type: Object})
   projectConfig?: ConfigInfo;
 
-  @property({type: Object})
-  serverConfig?: ServerInfo;
-
   @query('#reviewers') reviewersList?: GrAccountList;
 
   @query('#ccs') ccsList?: GrAccountList;
@@ -231,6 +229,8 @@
   @query('#reviewerConfirmationOverlay')
   reviewerConfirmationOverlay?: GrOverlay;
 
+  @state() serverConfig?: ServerInfo;
+
   @state()
   draft = '';
 
@@ -332,6 +332,8 @@
 
   private readonly jsAPI = getAppContext().jsApiService;
 
+  private readonly getConfigModel = resolve(this, configModelToken);
+
   storeTask?: DelayedTask;
 
   private isLoggedIn = false;
@@ -593,6 +595,13 @@
       () => getAppContext().userModel.loggedIn$,
       isLoggedIn => (this.isLoggedIn = isLoggedIn)
     );
+    subscribe(
+      this,
+      () => this.getConfigModel().serverConfig$,
+      config => {
+        this.serverConfig = config;
+      }
+    );
   }
 
   override connectedCallback() {