• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

stacklok / codegate-ui / 12827564699

17 Jan 2025 10:47AM UTC coverage: 68.432% (+0.7%) from 67.699%
12827564699

Pull #94

github

web-flow
Merge 6d8f0b548 into 58d4d4776
Pull Request #94: feat: initial work on codegate version check widget

223 of 404 branches covered (55.2%)

Branch coverage included in aggregate %.

42 of 48 new or added lines in 9 files covered. (87.5%)

423 of 540 relevant lines covered (78.33%)

29.72 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

72.73
/src/features/dashboard-codegate-status/components/codegate-status-refresh-button.tsx
1
import { useQueryClient } from "@tanstack/react-query";
2
import { PollingInterval } from "./codegate-status-polling-control";
3
import { getQueryOptionsCodeGateStatus } from "../hooks/use-codegate-status";
4
import { useCallback, useEffect, useState } from "react";
5
import { Button } from "@stacklok/ui-kit";
6
import { RefreshCcw } from "lucide-react";
7
import { twMerge } from "tailwind-merge";
8

9
export function CodeGateStatusRefreshButton({
10
  pollingInterval,
11
  className,
12
}: {
13
  pollingInterval: PollingInterval;
14
  className?: string;
15
}) {
16
  const queryClient = useQueryClient();
80✔
17
  const { queryKey } = getQueryOptionsCodeGateStatus(pollingInterval);
80✔
18

19
  const [refreshed, setRefreshed] = useState<boolean>(false);
80✔
20

21
  useEffect(() => {
80✔
22
    const id = setTimeout(() => setRefreshed(false), 500);
14✔
23
    return () => clearTimeout(id);
14✔
24
  }, [refreshed]);
25

26
  const handleRefresh = useCallback(() => {
80✔
NEW
27
    setRefreshed(true);
×
NEW
28
    return queryClient.invalidateQueries({ queryKey, refetchType: "all" });
×
29
  }, [queryClient, queryKey]);
30

31
  return (
32
    <Button
33
      onPress={handleRefresh}
34
      variant="tertiary"
35
      className={twMerge("size-7", className)}
36
      isDisabled={refreshed}
37
    >
38
      <RefreshCcw className={refreshed ? "animate-spin-once" : undefined} />
80!
39
    </Button>
40
  );
41
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc