'use client';
import axios from 'axios';
import { useEffect } from 'react';
import { ErrorBoundary } from 'react-error-boundary';
import { useParams } from 'react-router';
import { z } from 'zod';
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 useQueryStrings from '@/hooks/useQueryStrings';
import { useModificationStore } from '@/stores/modification';
import { OssEditState, OssTabID } from './OssEditContext';
import OssTabs from './OssTabs';
const paramsSchema = z.object({
id: z
.string()
.nullish()
.transform(v => (v ? Number(v) : undefined)),
tab: z.preprocess(v => (v ? Number(v) : undefined), z.nativeEnum(OssTabID).default(OssTabID.CARD))
});
export function OssPage() {
const router = useConceptNavigation();
const params = useParams();
const query = useQueryStrings();
const urlData = paramsSchema.parse({
id: params.id,
tab: query.get('tab')
});
const { isModified, setIsModified } = useModificationStore();
useBlockNavigation(isModified);
useEffect(() => setIsModified(false), [setIsModified]);
if (!urlData.id) {
router.replace(urls.page404);
return null;
}
return (
{`Операционная схема с указанным идентификатором отсутствует`}
Владелец ограничил доступ к данной схеме