merge: R3 TypeScript fixes — cc-graph-shapes duplicates, CCGraphNavPanel, snapshotService, App.tsx simplification

This commit is contained in:
CC Worker 2026-06-01 02:37:21 +00:00
commit cbff4deef2
3 changed files with 11 additions and 14 deletions

View File

@ -117,9 +117,9 @@ export class NavigationSnapshotService {
try {
if (editor) {
loadSnapshot(editor.store, snapshotCopy as Parameters<typeof loadSnapshot>[1]);
loadSnapshot(editor.store, snapshotCopy as any);
} else {
loadSnapshot(store, snapshotCopy as Parameters<typeof loadSnapshot>[1]);
loadSnapshot(store, snapshotCopy as any);
}
logger.debug('snapshot-service', '✅ Snapshot loaded successfully');
} catch (err) {

View File

@ -35,7 +35,6 @@ import { CCTimetableLessonNodeShape, CCTimetableLessonNodeShapeUtil } from './CC
import { CCPlannedLessonNodeShape, CCPlannedLessonNodeShapeUtil } from './CCPlannedLessonNodeShapeUtil'
import { CCDepartmentStructureNodeShape, CCDepartmentStructureNodeShapeUtil } from './CCDepartmentStructureNodeShapeUtil'
import { CCUserTeacherTimetableNodeShape, CCUserTeacherTimetableNodeShapeUtil } from './CCUserTeacherTimetableNodeShapeUtil'
import { CCTimetableLessonNodeShape, CCTimetableLessonNodeShapeUtil } from './CCTimetableLessonNodeShapeUtil'
// Create a const object with all node types
export const NODE_SHAPE_TYPES = {
@ -118,8 +117,7 @@ export type AllNodeShapes =
| CCTimetableLessonNodeShape
| CCPlannedLessonNodeShape
| CCDepartmentStructureNodeShape
| CCUserTeacherTimetableNodeShape
| CCTimetableLessonNodeShape;
| CCUserTeacherTimetableNodeShape;
// Export all shape utils in an object for easy access
export const ShapeUtils = {
@ -159,7 +157,6 @@ export const ShapeUtils = {
[CCPlannedLessonNodeShapeUtil.type]: CCPlannedLessonNodeShapeUtil,
[CCDepartmentStructureNodeShapeUtil.type]: CCDepartmentStructureNodeShapeUtil,
[CCUserTeacherTimetableNodeShapeUtil.type]: CCUserTeacherTimetableNodeShapeUtil,
[CCTimetableLessonNodeShapeUtil.type]: CCTimetableLessonNodeShapeUtil,
} as const;
// Add a type guard to check if a shape is a valid node shape

View File

@ -1,4 +1,4 @@
import React, { useState, useEffect, useCallback, createContext, useContext } from 'react';
import React, { useState, useEffect, useCallback, createContext, useContext, useMemo } from 'react';
import {
Box, IconButton, CircularProgress, Collapse, Typography, Tooltip,
ToggleButtonGroup, ToggleButton,
@ -518,7 +518,7 @@ export function CCGraphNavPanel() {
const data = await res.json();
setTree(data.tree);
} catch (err) {
logger.error('graph-nav-panel', 'Failed to load graph tree', err);
logger.error('graph-panel', 'Failed to load graph tree', err);
setError('Failed to load navigation tree');
} finally {
setLoading(false);
@ -650,12 +650,12 @@ export function CCGraphNavPanel() {
}, []);
const handleCalendarWizardComplete = useCallback(() => {
logger.info('graph-nav-panel', 'School calendar setup complete');
logger.info('graph-panel', 'School calendar setup complete');
refreshAll();
}, [refreshAll]);
const handleTimetableWizardComplete = useCallback((timetableId: string) => {
logger.info('graph-nav-panel', 'Teacher timetable setup complete', { timetableId });
logger.info('graph-panel', 'Teacher timetable setup complete', { timetableId });
refreshAll();
}, [refreshAll]);