@optifye/dashboard-core 6.11.46 → 6.11.47

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -60960,6 +60960,7 @@ var useLiveMonitorBootstrap = ({
60960
60960
  [normalizedLineIds]
60961
60961
  );
60962
60962
  const [state, setState] = React143.useState(() => createEmptyState());
60963
+ const [rawState, setRawState] = React143.useState(null);
60963
60964
  const [isLoading, setIsLoading] = React143.useState(false);
60964
60965
  const [error, setError] = React143.useState(null);
60965
60966
  const activeRequestIdRef = React143.useRef(0);
@@ -60990,62 +60991,80 @@ var useLiveMonitorBootstrap = ({
60990
60991
  if (requestId !== activeRequestIdRef.current) {
60991
60992
  return;
60992
60993
  }
60994
+ setRawState({
60995
+ requestKey,
60996
+ normalizedLineIds,
60997
+ response
60998
+ });
60999
+ } catch (fetchError) {
61000
+ if (requestId !== activeRequestIdRef.current) {
61001
+ return;
61002
+ }
61003
+ setError(fetchError instanceof Error ? fetchError : new Error("Failed to load live monitor bootstrap"));
61004
+ } finally {
61005
+ if (requestId === activeRequestIdRef.current) {
61006
+ setIsLoading(false);
61007
+ }
61008
+ }
61009
+ }, [
61010
+ enabled,
61011
+ supabase,
61012
+ resolvedCompanyId,
61013
+ normalizedLineIds,
61014
+ requestKey
61015
+ ]);
61016
+ React143.useEffect(() => {
61017
+ if (!enabled || !rawState || !resolvedCompanyId) {
61018
+ return;
61019
+ }
61020
+ try {
60993
61021
  const workspaceMetrics = transformMonitorWorkspaceMetrics({
60994
- rows: response.workspace_metrics || [],
61022
+ rows: rawState.response.workspace_metrics || [],
60995
61023
  companyId: resolvedCompanyId,
60996
61024
  workspaceConfig: effectiveWorkspaceConfig,
60997
61025
  appTimezone: effectiveTimezone,
60998
- lineMetrics: response.line_metrics || [],
61026
+ lineMetrics: rawState.response.line_metrics || [],
60999
61027
  resolveShiftConfig: (lineId) => lineShiftConfigs?.get(lineId) || fallbackShiftConfig,
61000
61028
  shouldOverrideShiftType: (lineId) => Boolean(lineShiftConfigs?.get(lineId)),
61001
61029
  fallbackShiftConfig
61002
61030
  });
61003
- const activeBreaks = transformActiveBreaks(response.active_breaks_by_line);
61004
- const metadata = normalizeMetadata(response.metadata);
61031
+ const activeBreaks = transformActiveBreaks(rawState.response.active_breaks_by_line);
61032
+ const metadata = normalizeMetadata(rawState.response.metadata);
61005
61033
  const workspaceIds = workspaceMetrics.map((metric) => metric.workspace_uuid).filter((workspaceId) => Boolean(workspaceId));
61006
- const videoStreamsByWorkspaceId = response.video_streams_by_workspace_id || {};
61034
+ const videoStreamsByWorkspaceId = rawState.response.video_streams_by_workspace_id || {};
61007
61035
  if (metadata.idleTimeVlmByLine) {
61008
61036
  hydrateFromBackend(metadata.idleTimeVlmByLine);
61009
61037
  }
61010
61038
  workspaceService.primeWorkspaceVideoStreamsCache({
61011
61039
  streams: videoStreamsByWorkspaceId,
61012
61040
  workspaceIds,
61013
- lineIds: normalizedLineIds
61041
+ lineIds: rawState.normalizedLineIds
61014
61042
  });
61015
61043
  setState({
61016
- requestKey,
61017
- resolvedScope: response.resolved_scope || [],
61018
- scopeKey: response.scope_key || null,
61019
- lines: response.lines || [],
61044
+ requestKey: rawState.requestKey,
61045
+ resolvedScope: rawState.response.resolved_scope || [],
61046
+ scopeKey: rawState.response.scope_key || null,
61047
+ lines: rawState.response.lines || [],
61020
61048
  workspaceMetrics,
61021
- lineMetrics: response.line_metrics || [],
61022
- kpiTrend: response.kpi_trend || null,
61049
+ lineMetrics: rawState.response.line_metrics || [],
61050
+ kpiTrend: rawState.response.kpi_trend || null,
61023
61051
  activeBreaks,
61024
61052
  videoStreamsByWorkspaceId,
61025
- efficiencyLegend: response.efficiency_legend || null,
61053
+ efficiencyLegend: rawState.response.efficiency_legend || null,
61026
61054
  metadata
61027
61055
  });
61028
- } catch (fetchError) {
61029
- if (requestId !== activeRequestIdRef.current) {
61030
- return;
61031
- }
61032
- setError(fetchError instanceof Error ? fetchError : new Error("Failed to load live monitor bootstrap"));
61033
- } finally {
61034
- if (requestId === activeRequestIdRef.current) {
61035
- setIsLoading(false);
61036
- }
61056
+ } catch (processingError) {
61057
+ setError(processingError instanceof Error ? processingError : new Error("Failed to process live monitor bootstrap"));
61037
61058
  }
61038
61059
  }, [
61039
61060
  enabled,
61040
- supabase,
61061
+ rawState,
61041
61062
  resolvedCompanyId,
61042
- normalizedLineIds,
61043
- requestKey,
61044
- hydrateFromBackend,
61045
61063
  effectiveWorkspaceConfig,
61046
61064
  effectiveTimezone,
61047
61065
  lineShiftConfigs,
61048
- fallbackShiftConfig
61066
+ fallbackShiftConfig,
61067
+ hydrateFromBackend
61049
61068
  ]);
61050
61069
  React143.useEffect(() => {
61051
61070
  if (!enabled) {
@@ -61054,6 +61073,7 @@ var useLiveMonitorBootstrap = ({
61054
61073
  }
61055
61074
  if (!resolvedCompanyId || normalizedLineIds.length === 0 || !supabase) {
61056
61075
  setState(createEmptyState());
61076
+ setRawState(null);
61057
61077
  setIsLoading(false);
61058
61078
  setError(null);
61059
61079
  return;
package/dist/index.mjs CHANGED
@@ -60931,6 +60931,7 @@ var useLiveMonitorBootstrap = ({
60931
60931
  [normalizedLineIds]
60932
60932
  );
60933
60933
  const [state, setState] = useState(() => createEmptyState());
60934
+ const [rawState, setRawState] = useState(null);
60934
60935
  const [isLoading, setIsLoading] = useState(false);
60935
60936
  const [error, setError] = useState(null);
60936
60937
  const activeRequestIdRef = useRef(0);
@@ -60961,62 +60962,80 @@ var useLiveMonitorBootstrap = ({
60961
60962
  if (requestId !== activeRequestIdRef.current) {
60962
60963
  return;
60963
60964
  }
60965
+ setRawState({
60966
+ requestKey,
60967
+ normalizedLineIds,
60968
+ response
60969
+ });
60970
+ } catch (fetchError) {
60971
+ if (requestId !== activeRequestIdRef.current) {
60972
+ return;
60973
+ }
60974
+ setError(fetchError instanceof Error ? fetchError : new Error("Failed to load live monitor bootstrap"));
60975
+ } finally {
60976
+ if (requestId === activeRequestIdRef.current) {
60977
+ setIsLoading(false);
60978
+ }
60979
+ }
60980
+ }, [
60981
+ enabled,
60982
+ supabase,
60983
+ resolvedCompanyId,
60984
+ normalizedLineIds,
60985
+ requestKey
60986
+ ]);
60987
+ useEffect(() => {
60988
+ if (!enabled || !rawState || !resolvedCompanyId) {
60989
+ return;
60990
+ }
60991
+ try {
60964
60992
  const workspaceMetrics = transformMonitorWorkspaceMetrics({
60965
- rows: response.workspace_metrics || [],
60993
+ rows: rawState.response.workspace_metrics || [],
60966
60994
  companyId: resolvedCompanyId,
60967
60995
  workspaceConfig: effectiveWorkspaceConfig,
60968
60996
  appTimezone: effectiveTimezone,
60969
- lineMetrics: response.line_metrics || [],
60997
+ lineMetrics: rawState.response.line_metrics || [],
60970
60998
  resolveShiftConfig: (lineId) => lineShiftConfigs?.get(lineId) || fallbackShiftConfig,
60971
60999
  shouldOverrideShiftType: (lineId) => Boolean(lineShiftConfigs?.get(lineId)),
60972
61000
  fallbackShiftConfig
60973
61001
  });
60974
- const activeBreaks = transformActiveBreaks(response.active_breaks_by_line);
60975
- const metadata = normalizeMetadata(response.metadata);
61002
+ const activeBreaks = transformActiveBreaks(rawState.response.active_breaks_by_line);
61003
+ const metadata = normalizeMetadata(rawState.response.metadata);
60976
61004
  const workspaceIds = workspaceMetrics.map((metric) => metric.workspace_uuid).filter((workspaceId) => Boolean(workspaceId));
60977
- const videoStreamsByWorkspaceId = response.video_streams_by_workspace_id || {};
61005
+ const videoStreamsByWorkspaceId = rawState.response.video_streams_by_workspace_id || {};
60978
61006
  if (metadata.idleTimeVlmByLine) {
60979
61007
  hydrateFromBackend(metadata.idleTimeVlmByLine);
60980
61008
  }
60981
61009
  workspaceService.primeWorkspaceVideoStreamsCache({
60982
61010
  streams: videoStreamsByWorkspaceId,
60983
61011
  workspaceIds,
60984
- lineIds: normalizedLineIds
61012
+ lineIds: rawState.normalizedLineIds
60985
61013
  });
60986
61014
  setState({
60987
- requestKey,
60988
- resolvedScope: response.resolved_scope || [],
60989
- scopeKey: response.scope_key || null,
60990
- lines: response.lines || [],
61015
+ requestKey: rawState.requestKey,
61016
+ resolvedScope: rawState.response.resolved_scope || [],
61017
+ scopeKey: rawState.response.scope_key || null,
61018
+ lines: rawState.response.lines || [],
60991
61019
  workspaceMetrics,
60992
- lineMetrics: response.line_metrics || [],
60993
- kpiTrend: response.kpi_trend || null,
61020
+ lineMetrics: rawState.response.line_metrics || [],
61021
+ kpiTrend: rawState.response.kpi_trend || null,
60994
61022
  activeBreaks,
60995
61023
  videoStreamsByWorkspaceId,
60996
- efficiencyLegend: response.efficiency_legend || null,
61024
+ efficiencyLegend: rawState.response.efficiency_legend || null,
60997
61025
  metadata
60998
61026
  });
60999
- } catch (fetchError) {
61000
- if (requestId !== activeRequestIdRef.current) {
61001
- return;
61002
- }
61003
- setError(fetchError instanceof Error ? fetchError : new Error("Failed to load live monitor bootstrap"));
61004
- } finally {
61005
- if (requestId === activeRequestIdRef.current) {
61006
- setIsLoading(false);
61007
- }
61027
+ } catch (processingError) {
61028
+ setError(processingError instanceof Error ? processingError : new Error("Failed to process live monitor bootstrap"));
61008
61029
  }
61009
61030
  }, [
61010
61031
  enabled,
61011
- supabase,
61032
+ rawState,
61012
61033
  resolvedCompanyId,
61013
- normalizedLineIds,
61014
- requestKey,
61015
- hydrateFromBackend,
61016
61034
  effectiveWorkspaceConfig,
61017
61035
  effectiveTimezone,
61018
61036
  lineShiftConfigs,
61019
- fallbackShiftConfig
61037
+ fallbackShiftConfig,
61038
+ hydrateFromBackend
61020
61039
  ]);
61021
61040
  useEffect(() => {
61022
61041
  if (!enabled) {
@@ -61025,6 +61044,7 @@ var useLiveMonitorBootstrap = ({
61025
61044
  }
61026
61045
  if (!resolvedCompanyId || normalizedLineIds.length === 0 || !supabase) {
61027
61046
  setState(createEmptyState());
61047
+ setRawState(null);
61028
61048
  setIsLoading(false);
61029
61049
  setError(null);
61030
61050
  return;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@optifye/dashboard-core",
3
- "version": "6.11.46",
3
+ "version": "6.11.47",
4
4
  "description": "Reusable UI & logic for Optifye dashboard",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",