diff --git a/src/views/Admin/InstancesView.vue b/src/views/Admin/InstancesView.vue index 4ef83e150..df2a74b30 100644 --- a/src/views/Admin/InstancesView.vue +++ b/src/views/Admin/InstancesView.vue @@ -269,6 +269,20 @@ watch([filterDomain, followStatus], () => { const instances = computed(() => instancesResult.value?.instances); +const instancesTotal = computed(() => instancesResult.value?.instances.total); +const currentPageInstancesNumber = computed( + () => instancesResult.value?.instances.elements.length +); + +// If we didn't found any instances on this page +watch(instancesTotal, (newInstancesTotal) => { + if (newInstancesTotal === 0) { + instancePage.value = 1; + } else if (currentPageInstancesNumber.value === 0) { + instancePage.value = instancePage.value - 1; + } +}); + const { t } = useI18n({ useScope: "global" }); useHead({ title: computed(() => t("Federation")),