/** * Copyright (c) 2023-present Plane Software, Inc. and contributors * SPDX-License-Identifier: AGPL-3.0-only * See the LICENSE file for details. */ import { isRouteErrorResponse } from "react-router"; import { Banner } from "@plane/propel/banner"; import { Button } from "@plane/propel/button"; import { InfoFillIcon } from "@plane/propel/icons"; interface ErrorActionsProps { onGoHome: () => void; onReload?: () => void; } function ErrorActions({ onGoHome, onReload }: ErrorActionsProps) { return (
{onReload && ( )}
); } interface DevErrorComponentProps { error: unknown; onGoHome: () => void; onReload: () => void; } const ErrorShell = ({ children }: { children: React.ReactNode }) => (
{children}
); export function DevErrorComponent({ error, onGoHome, onReload }: DevErrorComponentProps) { if (isRouteErrorResponse(error)) { return (
} title="Ошибка маршрута" animationDuration={0} />

{error.status} {error.statusText}

Данные ошибки

{error.data}

); } if (error instanceof Error) { return (
} title="Ошибка выполнения" animationDuration={0} />

Ошибка

Сообщение

{error.message}

{error.stack && (

Стек вызовов

                      {error.stack}
                    
)}

Режим разработки

Этот подробный экран ошибок виден только в разработке. В production пользователи увидят упрощённую страницу ошибки.

); } return (
} title="Неизвестная ошибка" animationDuration={0} />

Неизвестная ошибка

Произошла неизвестная ошибка. Обновите страницу. Если проблема сохранится, обратитесь в службу поддержки.

); }