update imports for gloabl components

This commit is contained in:
Nate Kelley 2025-01-15 11:58:52 -07:00
parent fb68215330
commit 447ae12478
No known key found for this signature in database
GPG Key ID: FD90372AB8D98B4F
22 changed files with 1312 additions and 12664 deletions

3
.gitignore vendored
View File

@ -57,3 +57,6 @@ Cargo.lock
*.env
.DS_Store
# Node.js dependencies
node_modules/

12320
node_modules/.package-lock.json generated vendored

File diff suppressed because it is too large Load Diff

1
node_modules/buster-web generated vendored
View File

@ -1 +0,0 @@
../web

1603
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -2,6 +2,7 @@ import { BusterRoutes } from '@/routes/busterRoutes/busterRoutes';
import axios, { AxiosError } from 'axios';
import { rustErrorHandler } from './buster/errors';
import { AxiosRequestHeaders } from 'axios';
import { isServer } from '@tanstack/react-query';
import { ReadonlyRequestCookies } from 'next/dist/server/web/spec-extension/adapters/request-cookies';
const AXIOS_TIMEOUT = 120000; // 2 minutes
@ -22,7 +23,7 @@ export const createInstance = (baseURL: string) => {
(error: AxiosError) => {
// console.error(error);
//Redirect to login if 401 unauthorized error
if (error.status === 401 && typeof window !== 'undefined') {
if (error.status === 401 && !isServer) {
window.location.href = BusterRoutes.AUTH_LOGIN;
}
return Promise.reject(rustErrorHandler(error));
@ -40,7 +41,6 @@ export const defaultRequestHandler = async (
}
) => {
let token = '';
const isServer = typeof window === 'undefined';
if (isServer) {
const { cookies } = require('next/headers');
const cookiesManager = cookies() as ReadonlyRequestCookies;

View File

@ -5,7 +5,7 @@ import { AppPasswordAccess } from '../_controllers/AppPasswordAccess';
import { AppNoPageAccess } from '../_controllers/AppNoPageAccess';
import { BusterShareAssetType } from '@/api/busterv2';
import { useBusterSupabaseAuthMethods } from '@/hooks/useBusterSupabaseAuthMethods';
import { ClientSideAnonCheck } from './_ClientSideAnonCheck';
import { ClientSideAnonCheck } from './ClientSideAnonCheck';
import { redirect } from 'next/navigation';
import { BusterRoutes, createBusterRoute } from '@/routes';

View File

@ -5,7 +5,7 @@ import React from 'react';
import { AppLayout } from './_controllers/AppLayout';
import { BusterUserResponse } from '@/api/busterv2';
import { useSupabaseServerContext } from '@/context/Supabase/useSupabaseContext';
import { GlobalErrorComponent } from './_components/GlobalErrorComponent';
import { GlobalErrorComponent } from '../../components/error';
export const AppLayoutClient = ({
children,

View File

@ -3,7 +3,7 @@ import React from 'react';
import '../styles/styles.scss';
import { BusterStyleProvider } from '@/context/BusterStyles/BusterStyles';
import { GlobalErrorComponent } from './app/_components/GlobalErrorComponent';
import { GlobalErrorComponent } from '../components/error/GlobalErrorComponent';
export const metadata: Metadata = {
title: 'Buster',

View File

@ -1,7 +1,7 @@
'use client';
import { Alert, Button } from 'antd';
import { Component, ErrorInfo, ReactNode, useEffect } from 'react';
import { Button } from 'antd';
import { Component, ErrorInfo, ReactNode } from 'react';
import { Title } from '@/components/text';
interface Props {

View File

@ -1 +1,2 @@
export * from './ErrorBoundary';
export * from './GlobalErrorComponent';

View File

@ -120,8 +120,8 @@ export const AppCodeEditor = forwardRef<AppCodeEditorHandle, AppCodeEditorProps>
const onMountCodeEditor = useMemoizedFn(
async (editor: editor.IStandaloneCodeEditor, monaco: typeof import('monaco-editor')) => {
const [GithubLightTheme, NightOwlTheme] = await Promise.all([
(await import('./Github_light')).default,
(await import('./Tomorrow-Night')).default
(await import('./themes/github_light_theme')).default,
(await import('./themes/tomorrow_night_theme')).default
]);
if (language === 'yaml') {

View File

@ -1,4 +1,4 @@
import tailwind from '../../../../tailwind.config';
import tailwind from '../../../../../tailwind.config';
import type { editor } from 'monaco-editor';
const colors = tailwind.theme.extend.colors;

View File

@ -1,4 +1,4 @@
import tailwind from '../../../../tailwind.config';
import tailwind from '../../../../../tailwind.config';
const colors = tailwind.theme.extend.colors;
const theme = {

View File

@ -1,12 +0,0 @@
import React from 'react';
import { Switch, SwitchProps } from 'antd';
export interface AppSwitchProps extends SwitchProps {
checked?: boolean;
defaultChecked?: boolean;
onChange: (checked: boolean) => void;
}
export const AppSwitch: React.FC<AppSwitchProps> = (props) => {
return <Switch {...props} />;
};

View File

@ -1,2 +1 @@
export * from './AppSwitch';
export * from './AppSearchInput';

View File

@ -38,8 +38,6 @@ export const PreventNavigation: React.FC<PreventNavigationProps> = React.memo(
// Used to make popstate event trigger when back button is clicked.
// Without this, the popstate event will not fire because it needs there to be a href to return.
if (typeof window !== 'undefined') {
}
/**
* Used to prevent navigation when use click in navigation `<Link />` or `<a />`.

View File

@ -7,7 +7,7 @@ import { PostHogConfig } from 'posthog-js';
import { isDev } from '@/config';
import posthog from 'posthog-js';
import { useUserConfigContextSelector } from '../Users';
import { isServer } from '@tanstack/react-query';
const POSTHOG_KEY = process.env.NEXT_PUBLIC_POSTHOG_KEY!;
export const BusterPosthogProvider: React.FC<PropsWithChildren> = React.memo(({ children }) => {
@ -38,7 +38,7 @@ const PosthogWrapper: React.FC<PropsWithChildren<{}>> = ({ children }) => {
const team = userTeams[0];
useEffect(() => {
if (POSTHOG_KEY && typeof window !== 'undefined' && user && posthog && team) {
if (POSTHOG_KEY && !isServer && user && posthog && team) {
posthog.init(POSTHOG_KEY, options);
const email = user.email;

View File

@ -1,6 +1,5 @@
import memoize from 'lodash/memoize';
const isBrowser = typeof window !== 'undefined';
import { isServer } from '@tanstack/react-query';
let ctx: CanvasRenderingContext2D;
const getCanvasContext = () => {
@ -14,7 +13,7 @@ const getCanvasContext = () => {
export const measureTextWidth = memoize(
(text: string, font: any = {}) => {
if (isBrowser) {
if (!isServer) {
const { fontSize, fontFamily = 'sans-serif', fontWeight, fontStyle, fontVariant } = font;
const ctx = getCanvasContext();
// @see https://developer.mozilla.org/zh-CN/docs/Web/CSS/font

View File

@ -1,8 +1,6 @@
import isNumber from 'lodash/isNumber';
import { formatNumber } from './numbers';
const isBrowser = typeof window !== 'undefined';
export const inputHasText = (input: unknown): boolean => {
if (typeof input !== 'string') {
return false;