From 847ea87ddea44747bf6754ba8dcbc630c74102b0 Mon Sep 17 00:00:00 2001 From: Nate Kelley Date: Fri, 4 Jul 2025 01:17:35 -0600 Subject: [PATCH] Export issues resolved --- apps/web/src/api/buster_rest/users/queryRequests.ts | 2 +- .../settings/(restricted-width)/profile/page.tsx | 8 +------- .../ui/charts/TableChart/BusterTableChart.tsx | 7 ++----- .../src/context/Supabase/SupabaseContextProvider.tsx | 4 ++-- .../web/src/context/Users/BusterUserConfigProvider.tsx | 9 ++++----- apps/web/src/lib/date.ts | 6 +----- apps/web/src/lib/timestamp.ts | 10 ++++++++++ .../src/metrics/charts/chartBaseInterfaces.ts | 10 ---------- packages/server-shared/src/metrics/charts/index.ts | 1 - 9 files changed, 21 insertions(+), 36 deletions(-) create mode 100644 apps/web/src/lib/timestamp.ts delete mode 100644 packages/server-shared/src/metrics/charts/chartBaseInterfaces.ts diff --git a/apps/web/src/api/buster_rest/users/queryRequests.ts b/apps/web/src/api/buster_rest/users/queryRequests.ts index 9c79b929b..e0abff679 100644 --- a/apps/web/src/api/buster_rest/users/queryRequests.ts +++ b/apps/web/src/api/buster_rest/users/queryRequests.ts @@ -1,6 +1,6 @@ import { QueryClient, useMutation, useQuery, useQueryClient } from '@tanstack/react-query'; import { userQueryKeys } from '@/api/query_keys/users'; -import { useMemoizedFn } from '@/hooks'; +import { useMemoizedFn } from '@/hooks/useMemoizedFn'; import { useCreateOrganization } from '../organizations/queryRequests'; import { getMyUserInfo, diff --git a/apps/web/src/app/app/(settings_layout)/settings/(restricted-width)/profile/page.tsx b/apps/web/src/app/app/(settings_layout)/settings/(restricted-width)/profile/page.tsx index fc0efeef0..d6900290e 100644 --- a/apps/web/src/app/app/(settings_layout)/settings/(restricted-width)/profile/page.tsx +++ b/apps/web/src/app/app/(settings_layout)/settings/(restricted-width)/profile/page.tsx @@ -2,21 +2,17 @@ import { Avatar } from '@/components/ui/avatar'; import { Text, Title } from '@/components/ui/typography'; -import { useUserConfigContextSelector } from '@/context/Users'; +import { useUserConfigContextSelector } from '@/context/Users/BusterUserConfigProvider'; import { formatDate } from '@/lib/date'; import { SettingsPageHeader } from '../../_components/SettingsPageHeader'; export default function ProfilePage() { const user = useUserConfigContextSelector((state) => state.user); - if (!user) return null; - const { name, email, created_at } = user; - return (
-
{/* Header Section */}
@@ -28,14 +24,12 @@ export default function ProfilePage() { {email}
- {/* Info Section */}
Member Since {formatDate({ date: created_at, format: 'll' })}
-
Account Status
diff --git a/apps/web/src/components/ui/charts/TableChart/BusterTableChart.tsx b/apps/web/src/components/ui/charts/TableChart/BusterTableChart.tsx index 314d72536..420b9db78 100644 --- a/apps/web/src/components/ui/charts/TableChart/BusterTableChart.tsx +++ b/apps/web/src/components/ui/charts/TableChart/BusterTableChart.tsx @@ -1,16 +1,13 @@ import isEmpty from 'lodash/isEmpty'; import React, { useCallback } from 'react'; -import { - DEFAULT_CHART_CONFIG, - type BusterChartPropsBase, - type ChartConfigProps -} from '@buster/server-shared/metrics'; +import { DEFAULT_CHART_CONFIG, type ChartConfigProps } from '@buster/server-shared/metrics'; import { AppDataGrid } from '@/components/ui/table/AppDataGrid'; import { useUpdateMetricChart } from '@/context/Metrics'; import { useMemoizedFn } from '@/hooks'; import { cn } from '@/lib/classMerge'; import { formatLabel } from '@/lib/columnFormatter'; import type { BusterTableChartConfig } from './interfaces'; +import type { BusterChartPropsBase } from '@/api/asset_interfaces/metric'; export interface BusterTableChartProps extends BusterTableChartConfig, BusterChartPropsBase {} diff --git a/apps/web/src/context/Supabase/SupabaseContextProvider.tsx b/apps/web/src/context/Supabase/SupabaseContextProvider.tsx index 13c9b97de..0c1c7f380 100644 --- a/apps/web/src/context/Supabase/SupabaseContextProvider.tsx +++ b/apps/web/src/context/Supabase/SupabaseContextProvider.tsx @@ -4,8 +4,8 @@ import { jwtDecode } from 'jwt-decode'; import React, { type PropsWithChildren, useEffect, useLayoutEffect, useRef, useState } from 'react'; import { createContext, useContextSelector } from 'use-context-selector'; import { checkTokenValidityFromServer } from '@/api/buster_rest/nextjs/auth'; -import { useMemoizedFn } from '@/hooks'; -import { millisecondsFromUnixTimestamp } from '@/lib/date'; +import { useMemoizedFn } from '@/hooks/useMemoizedFn'; +import { millisecondsFromUnixTimestamp } from '@/lib/timestamp'; import type { UseSupabaseUserContextType } from '@/lib/supabase'; const PREEMTIVE_REFRESH_MINUTES = 5; diff --git a/apps/web/src/context/Users/BusterUserConfigProvider.tsx b/apps/web/src/context/Users/BusterUserConfigProvider.tsx index ae224e534..68dc57b66 100644 --- a/apps/web/src/context/Users/BusterUserConfigProvider.tsx +++ b/apps/web/src/context/Users/BusterUserConfigProvider.tsx @@ -2,7 +2,7 @@ import React, { type PropsWithChildren } from 'react'; import { createContext, useContextSelector } from 'use-context-selector'; -import { useGetMyUserInfo } from '@/api/buster_rest/users'; +import { useGetMyUserInfo } from '@/api/buster_rest/users/queryRequests'; import { checkIfUserIsAdmin } from '@/lib/user'; import { useSupabaseContext } from '../Supabase'; @@ -15,10 +15,9 @@ export const useUserConfigProvider = () => { const userOrganizations = userResponse?.organizations?.[0]; const userRole = userOrganizations?.role; const isUserRegistered = - !!userResponse && - !!userResponse?.organizations?.[0]?.id && - !!userResponse?.user?.name && - !isAnonymousUser; + !!userResponse && !!userResponse?.organizations?.[0]?.id && !!userResponse?.user?.name; + //&& + // !isAnonymousUser; const isAdmin = checkIfUserIsAdmin(userResponse); diff --git a/apps/web/src/lib/date.ts b/apps/web/src/lib/date.ts index cb62e8d05..3510f060c 100644 --- a/apps/web/src/lib/date.ts +++ b/apps/web/src/lib/date.ts @@ -15,7 +15,7 @@ import { DEFAULT_DAY_OF_WEEK_FORMAT, type ColumnLabelFormat } from '@buster/server-shared/metrics'; -import { SupportedLanguages } from '../config/languages'; +import { SupportedLanguages } from '@/config/languages'; import { getBrowserLanguage } from './language'; import { isNumeric } from './numbers'; @@ -309,10 +309,6 @@ export const formatTime = (date: string | Date, format: string, isUTC: boolean) return isUTC ? dayjs.utc(date).format(format) : dayjs(date).format(format || 'h:mm A'); }; -export const millisecondsFromUnixTimestamp = (timestamp = 0) => { - return (timestamp - dayjs().unix()) * 1000; -}; - export enum DEFAULT_TIME_ENCODE_FORMATS { MONTHS = 'month', YEARS = 'year', diff --git a/apps/web/src/lib/timestamp.ts b/apps/web/src/lib/timestamp.ts new file mode 100644 index 000000000..f187dd3de --- /dev/null +++ b/apps/web/src/lib/timestamp.ts @@ -0,0 +1,10 @@ +import dayjs from 'dayjs'; + +/** + * Converts a Unix timestamp to milliseconds from now + * @param timestamp Unix timestamp in seconds + * @returns Milliseconds from now (can be negative if timestamp is in the past) + */ +export const millisecondsFromUnixTimestamp = (timestamp = 0) => { + return (timestamp - dayjs().unix()) * 1000; +}; diff --git a/packages/server-shared/src/metrics/charts/chartBaseInterfaces.ts b/packages/server-shared/src/metrics/charts/chartBaseInterfaces.ts deleted file mode 100644 index 38f254eca..000000000 --- a/packages/server-shared/src/metrics/charts/chartBaseInterfaces.ts +++ /dev/null @@ -1,10 +0,0 @@ -//ONLY USED IN COMPONENTS -export type BusterChartPropsBase = { - onMounted: () => void; - onInitialAnimationEnd: () => void; - className?: string; - animate?: boolean; - data: Record[]; - isDarkMode?: boolean; - readOnly?: boolean; -}; diff --git a/packages/server-shared/src/metrics/charts/index.ts b/packages/server-shared/src/metrics/charts/index.ts index 903505cf6..0b11fbf9b 100644 --- a/packages/server-shared/src/metrics/charts/index.ts +++ b/packages/server-shared/src/metrics/charts/index.ts @@ -1,6 +1,5 @@ export * from './annotationInterfaces'; export * from './axisInterfaces'; -export * from './chartBaseInterfaces'; export * from './chartConfigProps'; export * from './columnInterfaces'; export * from './columnLabelInterfaces';