import dayjs from 'dayjs';
import { isNil, set } from 'lodash-es';
import { useCallback, useEffect, useMemo } from 'react';
import { useNavigate, useParams } from 'react-router-dom';
import { EditableDescription } from '../components/EditableDescription';
import { EditableTitle } from '../components/EditableTitle';
import { SchemeSign } from '../components/SchemeSign';
import { CorruptedScheme } from '../page-components/scheme/CorruptedScheme';
import { M2Scheme } from '../page-components/scheme/M2Scheme';
import { M3Scheme } from '../page-components/scheme/M3Scheme';
import { QScheme } from '../page-components/scheme/QScheme';
import { SwatchScheme } from '../page-components/scheme/SwatchScheme';
import { useScheme, useUpdateScheme } from '../stores/schemes';
import styles from './SchemeDetail.module.css';
export function SchemeDetail() {
const { id } = useParams();
const scheme = useScheme(id);
const navigate = useNavigate();
const updateScheme = useUpdateScheme(id);
const updateTitle = useCallback(
(newTitle: string) => {
updateScheme((prev) => {
set(prev, 'name', newTitle);
return prev;
});
},
[id],
);
const updateDescription = useCallback(
(newDescription: string | null) => {
updateScheme((prev) => {
set(prev, 'description', newDescription);
return prev;
});
},
[id],
);
const schemeContent = useMemo(() => {
switch (scheme?.type) {
case 'q_scheme':
return