mirror of
https://github.com/pacnpal/thrilltrack-explorer.git
synced 2025-12-23 10:31:12 -05:00
Fix remaining console statements
This commit is contained in:
@@ -18,19 +18,8 @@ interface EntityErrorBoundaryState {
|
||||
errorInfo: ErrorInfo | null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Entity Error Boundary Component (P0 #5)
|
||||
*
|
||||
* Specialized error boundary for entity detail pages.
|
||||
* Prevents entity rendering errors from crashing the app.
|
||||
*
|
||||
* Usage:
|
||||
* ```tsx
|
||||
* <EntityErrorBoundary entityType="park" entitySlug={slug}>
|
||||
* <ParkDetail />
|
||||
* </EntityErrorBoundary>
|
||||
* ```
|
||||
*/
|
||||
type ErrorWithId = Error & { errorId: string };
|
||||
|
||||
export class EntityErrorBoundary extends Component<EntityErrorBoundaryProps, EntityErrorBoundaryState> {
|
||||
constructor(props: EntityErrorBoundaryProps) {
|
||||
super(props);
|
||||
@@ -61,7 +50,7 @@ export class EntityErrorBoundary extends Component<EntityErrorBoundaryProps, Ent
|
||||
errorId,
|
||||
});
|
||||
|
||||
this.setState({ errorInfo, error: { ...error, errorId } as any });
|
||||
this.setState({ errorInfo, error: { ...error, errorId } as ErrorWithId });
|
||||
}
|
||||
|
||||
handleRetry = () => {
|
||||
@@ -131,9 +120,9 @@ export class EntityErrorBoundary extends Component<EntityErrorBoundaryProps, Ent
|
||||
<p className="text-sm">
|
||||
{this.state.error?.message || `An unexpected error occurred while loading this ${entityLabel.toLowerCase()}`}
|
||||
</p>
|
||||
{(this.state.error as any)?.errorId && (
|
||||
{(this.state.error as ErrorWithId)?.errorId && (
|
||||
<p className="text-xs font-mono bg-destructive/10 px-2 py-1 rounded">
|
||||
Reference ID: {((this.state.error as any).errorId as string).slice(0, 8)}
|
||||
Reference ID: {(this.state.error as ErrorWithId).errorId.slice(0, 8)}
|
||||
</p>
|
||||
)}
|
||||
<p className="text-xs text-muted-foreground">
|
||||
|
||||
@@ -18,19 +18,8 @@ interface ErrorBoundaryState {
|
||||
errorInfo: ErrorInfo | null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Generic Error Boundary Component (P0 #5)
|
||||
*
|
||||
* Prevents component errors from crashing the entire application.
|
||||
* Shows user-friendly error UI with recovery options.
|
||||
*
|
||||
* Usage:
|
||||
* ```tsx
|
||||
* <ErrorBoundary context="PhotoUpload">
|
||||
* <PhotoUploadForm />
|
||||
* </ErrorBoundary>
|
||||
* ```
|
||||
*/
|
||||
type ErrorWithId = Error & { errorId: string };
|
||||
|
||||
export class ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundaryState> {
|
||||
constructor(props: ErrorBoundaryProps) {
|
||||
super(props);
|
||||
@@ -61,7 +50,7 @@ export class ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundarySt
|
||||
errorId,
|
||||
});
|
||||
|
||||
this.setState({ errorInfo, error: { ...error, errorId } as any });
|
||||
this.setState({ errorInfo, error: { ...error, errorId } as ErrorWithId });
|
||||
this.props.onError?.(error, errorInfo);
|
||||
}
|
||||
|
||||
@@ -105,9 +94,9 @@ export class ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundarySt
|
||||
<p className="text-sm mt-2">
|
||||
{this.state.error?.message || 'An unexpected error occurred'}
|
||||
</p>
|
||||
{(this.state.error as any)?.errorId && (
|
||||
{(this.state.error as ErrorWithId)?.errorId && (
|
||||
<p className="text-xs mt-2 font-mono bg-destructive/10 px-2 py-1 rounded">
|
||||
Reference ID: {((this.state.error as any).errorId as string).slice(0, 8)}
|
||||
Reference ID: {(this.state.error as ErrorWithId).errorId.slice(0, 8)}
|
||||
</p>
|
||||
)}
|
||||
</AlertDescription>
|
||||
|
||||
@@ -13,19 +13,8 @@ interface RouteErrorBoundaryState {
|
||||
error: Error | null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Route Error Boundary Component (P0 #5)
|
||||
*
|
||||
* Top-level error boundary that wraps all routes.
|
||||
* Last line of defense to prevent complete app crashes.
|
||||
*
|
||||
* Usage: Wrap Routes component in App.tsx
|
||||
* ```tsx
|
||||
* <RouteErrorBoundary>
|
||||
* <Routes>...</Routes>
|
||||
* </RouteErrorBoundary>
|
||||
* ```
|
||||
*/
|
||||
type ErrorWithId = Error & { errorId: string };
|
||||
|
||||
export class RouteErrorBoundary extends Component<RouteErrorBoundaryProps, RouteErrorBoundaryState> {
|
||||
constructor(props: RouteErrorBoundaryProps) {
|
||||
super(props);
|
||||
@@ -56,7 +45,7 @@ export class RouteErrorBoundary extends Component<RouteErrorBoundaryProps, Route
|
||||
errorId,
|
||||
});
|
||||
|
||||
this.setState({ error: { ...error, errorId } as any });
|
||||
this.setState({ error: { ...error, errorId } as ErrorWithId });
|
||||
}
|
||||
|
||||
handleReload = () => {
|
||||
@@ -91,9 +80,9 @@ export class RouteErrorBoundary extends Component<RouteErrorBoundaryProps, Route
|
||||
{this.state.error.message}
|
||||
</p>
|
||||
)}
|
||||
{(this.state.error as any)?.errorId && (
|
||||
{(this.state.error as ErrorWithId)?.errorId && (
|
||||
<p className="text-xs font-mono bg-destructive/10 px-2 py-1 rounded">
|
||||
Reference ID: {((this.state.error as any).errorId as string).slice(0, 8)}
|
||||
Reference ID: {(this.state.error as ErrorWithId).errorId.slice(0, 8)}
|
||||
</p>
|
||||
)}
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user