X-Git-Url: http://these/git/?a=blobdiff_plain;f=src%2Fshared%2Fcomponents%2Fhome%2Finstances.tsx;fp=src%2Fshared%2Fcomponents%2Fhome%2Finstances.tsx;h=bec472cf1ea9d6aca77ed7bd3f6685f5788cc272;hb=9265fc58948341856513c06ba44e1a0c0d5a4241;hp=30cb9dea0c0491a020890c3206d20c14709dd09e;hpb=d75e0506daeb460fa4952211a46ded944d57aa88;p=lemmy-ui.git diff --git a/src/shared/components/home/instances.tsx b/src/shared/components/home/instances.tsx index 30cb9de..bec472c 100644 --- a/src/shared/components/home/instances.tsx +++ b/src/shared/components/home/instances.tsx @@ -8,10 +8,14 @@ import { i18n } from "../../i18next"; import { InitialFetchRequest } from "../../interfaces"; import { FirstLoadService } from "../../services/FirstLoadService"; import { HttpService, RequestState } from "../../services/HttpService"; -import { relTags, setIsoData } from "../../utils"; +import { RouteDataResponse, relTags, setIsoData } from "../../utils"; import { HtmlTags } from "../common/html-tags"; import { Spinner } from "../common/icon"; +type InstancesData = RouteDataResponse<{ + federatedInstancesResponse: GetFederatedInstancesResponse; +}>; + interface InstancesState { instancesRes: RequestState; siteRes: GetSiteResponse; @@ -19,7 +23,7 @@ interface InstancesState { } export class Instances extends Component { - private isoData = setIsoData(this.context); + private isoData = setIsoData(this.context); state: InstancesState = { instancesRes: { state: "empty" }, siteRes: this.isoData.site_res, @@ -33,7 +37,7 @@ export class Instances extends Component { if (FirstLoadService.isFirstLoad) { this.state = { ...this.state, - instancesRes: this.isoData.routeData[0], + instancesRes: this.isoData.routeData.federatedInstancesResponse, isIsomorphic: true, }; } @@ -55,10 +59,12 @@ export class Instances extends Component { }); } - static fetchInitialData( + static async fetchInitialData( req: InitialFetchRequest - ): Promise>[] { - return [req.client.getFederatedInstances({})]; + ): Promise { + return { + federatedInstancesResponse: await req.client.getFederatedInstances({}), + }; } get documentTitle(): string {