import { Component } from "inferno"; import { GetSiteResponse } from "lemmy-js-client"; import { i18n } from "../../i18next"; import { relTags, setIsoData } from "../../utils"; import { HtmlTags } from "../common/html-tags"; interface InstancesState { siteRes: GetSiteResponse; } export class Instances extends Component { private isoData = setIsoData(this.context); private emptyState: InstancesState = { siteRes: this.isoData.site_res, }; constructor(props: any, context: any) { super(props, context); this.state = this.emptyState; } get documentTitle(): string { return `${i18n.t("instances")} - ${this.state.siteRes.site_view.site.name}`; } render() { let federated_instances = this.state.siteRes?.federated_instances; return ( federated_instances && (
{i18n.t("linked_instances")}
{this.itemList(federated_instances.linked)}
{federated_instances.allowed?.length > 0 && (
{i18n.t("allowed_instances")}
{this.itemList(federated_instances.allowed)}
)} {federated_instances.blocked?.length > 0 && (
{i18n.t("blocked_instances")}
{this.itemList(federated_instances.blocked)}
)}
) ); } itemList(items: string[]) { return items.length > 0 ? ( ) : (
{i18n.t("none_found")}
); } }