Fix peer groups occasionally not refreshing (#351)

* Trigger groups refresh when visiting peers page

* Disable exhaustive-deps linter

---------

Co-authored-by: Maycon Santos <mlsmaycon@gmail.com>
This commit is contained in:
Eduard Gert
2024-03-15 13:34:47 +01:00
committed by GitHub
parent 99f1bcc375
commit 87dcd00264
2 changed files with 9 additions and 2 deletions

View File

@@ -6,8 +6,9 @@ import Paragraph from "@components/Paragraph";
import SkeletonTable from "@components/skeletons/SkeletonTable";
import useFetchApi from "@utils/api";
import { ExternalLinkIcon } from "lucide-react";
import React, { lazy, Suspense } from "react";
import React, { lazy, Suspense, useEffect } from "react";
import PeerIcon from "@/assets/icons/PeerIcon";
import { useGroups } from "@/contexts/GroupsProvider";
import { useLoggedInUser, useUsers } from "@/contexts/UsersProvider";
import { Peer } from "@/interfaces/Peer";
import PageContainer from "@/layouts/PageContainer";
@@ -28,6 +29,12 @@ export default function Peers() {
function PeersView() {
const { data: peers, isLoading } = useFetchApi<Peer[]>("/peers");
const { users } = useUsers();
const { refresh } = useGroups();
useEffect(() => {
refresh();
// eslint-disable-next-line react-hooks/exhaustive-deps
}, []);
const peersWithUser = peers?.map((peer) => {
if (!users) return peer;

View File

@@ -34,7 +34,7 @@ export function GroupsProviderContent({ children }: Props) {
const [dropdownOptions, setDropdownOptions] = useState<Group[]>([]);
const refresh = () => {
mutate().then();
if (groups && !isLoading) mutate().then();
};
return (