Skip to content

Instantly share code, notes, and snippets.

'use client';
import { useEffect, useState, useCallback, useRef } from 'react';
import { useParams, useRouter } from 'next/navigation';
import { ArrowLeft, Loader2, AlertCircle, Send, Palette, CheckCircle2, Circle, Zap, Link2, BookText, Swords, Grip, X, Sparkles, Lock } from 'lucide-react';
import { worldCraftService } from '@/services/api.service';
import StepEditor from '@/components/world-craft/StepEditor';
type GameType = 'drag_drop' | 'chrono_flash' | 'matching' | 'fill_story' | 'quiz_boss';
interface NodePosition { x: number; y: number }
'use client';
import { useState } from 'react';
import { useRouter } from 'next/navigation';
import { Loader2, AlertCircle, ChevronRight, X } from 'lucide-react';
import { worldCraftService } from '@/services/api.service';
const SCHOOL_LEVELS = [
{ value: 'primaire_1', label: 'Primaire 1', emoji: '🐣' },
{ value: 'primaire_2', label: 'Primaire 2', emoji: '🐥' },