'use client'; import axios from 'axios'; import { ErrorBoundary } from 'react-error-boundary'; import { useParams } from 'react-router'; import { useBlockNavigation, useConceptNavigation } from '@/app/Navigation/NavigationContext'; import { urls } from '@/app/urls'; import { ErrorData } from '@/components/info/InfoError'; import TextURL from '@/components/ui/TextURL'; import { useModificationStore } from '@/stores/modification'; import { OssEditState } from './OssEditContext'; import OssTabs from './OssTabs'; export function OssPage() { const router = useConceptNavigation(); const params = useParams(); const itemID = params.id ? Number(params.id) : undefined; const { isModified } = useModificationStore(); useBlockNavigation(isModified); if (!itemID) { router.replace(urls.page404); return null; } return ( ); } // ====== Internals ========= function ProcessError({ error }: { error: ErrorData }): React.ReactElement { if (axios.isAxiosError(error) && error.response) { if (error.response.status === 404) { return (

{`Операционная схема с указанным идентификатором отсутствует`}

); } else if (error.response.status === 403) { return (

Владелец ограничил доступ к данной схеме

); } } throw error as Error; }