From 679f7c0ddaedd7ee1083f6f39bb2747f8de881aa Mon Sep 17 00:00:00 2001
From: Thomas Heartman
Date: Thu, 10 Oct 2024 13:16:14 +0200
Subject: [PATCH 1/3] Chore: remove space, fix link
---
frontend/src/component/personalDashboard/ConnectSDK.tsx | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/frontend/src/component/personalDashboard/ConnectSDK.tsx b/frontend/src/component/personalDashboard/ConnectSDK.tsx
index fe5d0b61df61..892169da988b 100644
--- a/frontend/src/component/personalDashboard/ConnectSDK.tsx
+++ b/frontend/src/component/personalDashboard/ConnectSDK.tsx
@@ -91,7 +91,6 @@ export const ExistingFlag: FC<{ project: string }> = ({ project }) => {
export const ConnectSDK: FC<{ project: string }> = ({ project }) => {
return (
- {' '}
2
Connect an SDK
@@ -104,7 +103,7 @@ export const ConnectSDK: FC<{ project: string }> = ({ project }) => {
-
From 8317738ea6dd9d96bb92530309f16d6b4ba10c24 Mon Sep 17 00:00:00 2001
From: Thomas Heartman
Date: Thu, 10 Oct 2024 13:29:17 +0200
Subject: [PATCH 2/3] fix: show empty chart when loading data
---
.../personalDashboard/FlagMetricsChart.tsx | 43 +++++++++++++++++--
1 file changed, 39 insertions(+), 4 deletions(-)
diff --git a/frontend/src/component/personalDashboard/FlagMetricsChart.tsx b/frontend/src/component/personalDashboard/FlagMetricsChart.tsx
index 4921aa574776..0bb50dfc9dd6 100644
--- a/frontend/src/component/personalDashboard/FlagMetricsChart.tsx
+++ b/frontend/src/component/personalDashboard/FlagMetricsChart.tsx
@@ -24,6 +24,7 @@ import {
} from './createChartOptions';
import { useFeature } from 'hooks/api/getters/useFeature/useFeature';
import { FlagExposure } from 'component/feature/FeatureView/FeatureOverview/FeatureLifecycle/FlagExposure';
+import useLoading from 'hooks/useLoading';
const defaultYes = [0, 14, 28, 21, 33, 31, 31, 22, 26, 37, 31, 14, 21, 14, 0];
@@ -69,6 +70,31 @@ export const PlaceholderFlagMetricsChart: React.FC<{ label?: string }> = ({
);
};
+export const EmptyFlagMetricsChart = () => {
+ const theme = useTheme();
+
+ const options = useMemo(() => {
+ return createPlaceholderBarChartOptions(theme);
+ }, [theme]);
+
+ const data = useMemo(() => {
+ return {
+ labels: [],
+ datasets: [],
+ };
+ }, [theme]);
+
+ return (
+
+
+
+ );
+};
+
const useMetricsEnvironments = (project: string, flagName: string) => {
const [environment, setEnvironment] = useState(null);
const { feature } = useFeature(project, flagName);
@@ -96,7 +122,7 @@ const useFlagMetrics = (
environment: string | null,
hoursBack: number,
) => {
- const { featureMetrics: metrics = [] } = useFeatureMetricsRaw(
+ const { featureMetrics: metrics = [], loading } = useFeatureMetricsRaw(
flagName,
hoursBack,
);
@@ -126,7 +152,7 @@ const useFlagMetrics = (
return createBarChartOptions(theme, hoursBack, locationSettings);
}, [theme, hoursBack, locationSettings]);
- return { data, options };
+ return { data, options, loading };
};
const EnvironmentSelect: FC<{
@@ -183,10 +209,17 @@ export const FlagMetricsChart: FC<{
const { environment, setEnvironment, activeEnvironments } =
useMetricsEnvironments(flag.project, flag.name);
- const { data, options } = useFlagMetrics(flag.name, environment, hoursBack);
+ const { data, options, loading } = useFlagMetrics(
+ flag.name,
+ environment,
+ hoursBack,
+ );
const noData = data.datasets[0].data.length === 0;
+ console.log('loading', loading);
+ const ref = useLoading(loading);
+
return (
@@ -210,7 +243,9 @@ export const FlagMetricsChart: FC<{
- {noData ? (
+ {loading ? (
+
+ ) : noData ? (
) : (
From 3dc8f1a4b8667aff4ef8404824c5f47e84335931 Mon Sep 17 00:00:00 2001
From: Thomas Heartman
Date: Thu, 10 Oct 2024 13:34:16 +0200
Subject: [PATCH 3/3] fix: remove useLoading hook
---
frontend/src/component/personalDashboard/FlagMetricsChart.tsx | 4 ----
1 file changed, 4 deletions(-)
diff --git a/frontend/src/component/personalDashboard/FlagMetricsChart.tsx b/frontend/src/component/personalDashboard/FlagMetricsChart.tsx
index 0bb50dfc9dd6..47a5da0d8747 100644
--- a/frontend/src/component/personalDashboard/FlagMetricsChart.tsx
+++ b/frontend/src/component/personalDashboard/FlagMetricsChart.tsx
@@ -24,7 +24,6 @@ import {
} from './createChartOptions';
import { useFeature } from 'hooks/api/getters/useFeature/useFeature';
import { FlagExposure } from 'component/feature/FeatureView/FeatureOverview/FeatureLifecycle/FlagExposure';
-import useLoading from 'hooks/useLoading';
const defaultYes = [0, 14, 28, 21, 33, 31, 31, 22, 26, 37, 31, 14, 21, 14, 0];
@@ -217,9 +216,6 @@ export const FlagMetricsChart: FC<{
const noData = data.datasets[0].data.length === 0;
- console.log('loading', loading);
- const ref = useLoading(loading);
-
return (