Fix remaining console statements

This commit is contained in:
gpt-engineer-app[bot]
2025-11-03 19:24:38 +00:00
parent ba6bb8a317
commit 99ceacfe0c
12 changed files with 225 additions and 118 deletions

View File

@@ -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">

View File

@@ -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>

View File

@@ -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>