petit responsive ++ correction editeur de texte

This commit is contained in:
2026-03-04 22:01:36 +01:00
parent c8fffece3e
commit 5b1bd74d9c
365 changed files with 6373 additions and 2514 deletions

View File

@@ -16,12 +16,14 @@ var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__proje
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$message$2d$circle$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$export__default__as__MessageCircle$3e$__ = __turbopack_context__.i("[project]/Documents/00 - projet/plumeia/node_modules/lucide-react/dist/esm/icons/message-circle.js [app-client] (ecmascript) <export default as MessageCircle>");
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$zap$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$export__default__as__Zap$3e$__ = __turbopack_context__.i("[project]/Documents/00 - projet/plumeia/node_modules/lucide-react/dist/esm/icons/zap.js [app-client] (ecmascript) <export default as Zap>");
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$palette$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$export__default__as__Palette$3e$__ = __turbopack_context__.i("[project]/Documents/00 - projet/plumeia/node_modules/lucide-react/dist/esm/icons/palette.js [app-client] (ecmascript) <export default as Palette>");
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$src$2f$providers$2f$LanguageProvider$2e$tsx__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/00 - projet/plumeia/src/providers/LanguageProvider.tsx [app-client] (ecmascript)");
;
var _s = __turbopack_context__.k.signature(), _s1 = __turbopack_context__.k.signature();
'use client';
;
;
;
;
const CARD_WIDTH = 260;
const CARD_HEIGHT = 220;
const INITIAL_COLORS = [
@@ -32,13 +34,13 @@ const INITIAL_COLORS = [
'#fee2e2',
'#f3e8ff'
];
const renderTextWithLinks = (text, entities, onNavigate)=>{
const renderTextWithLinks = (text, entities, onNavigate, t)=>{
if (!text) return /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("span", {
className: "text-slate-400 italic",
children: "Description..."
children: t('sw.desc_ph')
}, void 0, false, {
fileName: "[project]/Documents/00 - projet/plumeia/src/components/StoryWorkflow.tsx",
lineNumber: 28,
lineNumber: 29,
columnNumber: 23
}, ("TURBOPACK compile-time value", void 0));
const parts = [
@@ -60,11 +62,11 @@ const renderTextWithLinks = (text, entities, onNavigate)=>{
onNavigate(entity.id);
},
className: "text-indigo-600 hover:text-indigo-800 underline decoration-indigo-300 hover:decoration-indigo-600 cursor-pointer font-medium bg-indigo-50 px-0.5 rounded transition-all",
title: `Voir la fiche de ${entity.name}`,
title: t('sw.see_sheet') + entity.name,
children: s
}, `${entity.id}-${idx}`, false, {
fileName: "[project]/Documents/00 - projet/plumeia/src/components/StoryWorkflow.tsx",
lineNumber: 44,
lineNumber: 45,
columnNumber: 33
}, ("TURBOPACK compile-time value", void 0));
}
@@ -82,15 +84,17 @@ const renderTextWithLinks = (text, entities, onNavigate)=>{
};
const StoryNode = /*#__PURE__*/ __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].memo(_s(({ node, isSelected, isEditing, isDragging, activeColorPickerId, entities, savedColors, onMouseDown, onMouseUp, onStartConnection, onUpdate, onSetEditing, onToggleColorPicker, onSaveColor, onNavigateToEntity, onInputFocus, onInputCheckAutocomplete, onKeyDownInInput })=>{
_s();
const { t } = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$src$2f$providers$2f$LanguageProvider$2e$tsx__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useLanguage"])();
const [showTypePicker, setShowTypePicker] = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"])(false);
const richDescription = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useMemo"])({
"StoryNode.useMemo[richDescription]": ()=>{
return renderTextWithLinks(node.description, entities, onNavigateToEntity);
return renderTextWithLinks(node.description, entities, onNavigateToEntity, t);
}
}["StoryNode.useMemo[richDescription]"], [
node.description,
entities,
onNavigateToEntity
onNavigateToEntity,
t
]);
return /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
className: `absolute flex flex-col rounded-xl shadow-sm border z-10 group
@@ -113,7 +117,7 @@ const StoryNode = /*#__PURE__*/ __TURBOPACK__imported__module__$5b$project$5d2f$
className: "h-1.5 rounded-t-xl bg-black/5 w-full cursor-grab active:cursor-grabbing"
}, void 0, false, {
fileName: "[project]/Documents/00 - projet/plumeia/src/components/StoryWorkflow.tsx",
lineNumber: 120,
lineNumber: 121,
columnNumber: 13
}, ("TURBOPACK compile-time value", void 0)),
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
@@ -132,7 +136,7 @@ const StoryNode = /*#__PURE__*/ __TURBOPACK__imported__module__$5b$project$5d2f$
autoFocus: true
}, void 0, false, {
fileName: "[project]/Documents/00 - projet/plumeia/src/components/StoryWorkflow.tsx",
lineNumber: 125,
lineNumber: 126,
columnNumber: 25
}, ("TURBOPACK compile-time value", void 0)) : /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
className: "font-bold text-slate-800 cursor-text truncate mr-6 text-sm",
@@ -140,7 +144,7 @@ const StoryNode = /*#__PURE__*/ __TURBOPACK__imported__module__$5b$project$5d2f$
children: node.title
}, void 0, false, {
fileName: "[project]/Documents/00 - projet/plumeia/src/components/StoryWorkflow.tsx",
lineNumber: 133,
lineNumber: 134,
columnNumber: 25
}, ("TURBOPACK compile-time value", void 0)),
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("button", {
@@ -153,12 +157,12 @@ const StoryNode = /*#__PURE__*/ __TURBOPACK__imported__module__$5b$project$5d2f$
size: 14
}, void 0, false, {
fileName: "[project]/Documents/00 - projet/plumeia/src/components/StoryWorkflow.tsx",
lineNumber: 145,
lineNumber: 146,
columnNumber: 25
}, ("TURBOPACK compile-time value", void 0))
}, void 0, false, {
fileName: "[project]/Documents/00 - projet/plumeia/src/components/StoryWorkflow.tsx",
lineNumber: 141,
lineNumber: 142,
columnNumber: 21
}, ("TURBOPACK compile-time value", void 0)),
activeColorPickerId === node.id && /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
@@ -177,12 +181,12 @@ const StoryNode = /*#__PURE__*/ __TURBOPACK__imported__module__$5b$project$5d2f$
}
}, color, false, {
fileName: "[project]/Documents/00 - projet/plumeia/src/components/StoryWorkflow.tsx",
lineNumber: 152,
lineNumber: 153,
columnNumber: 37
}, ("TURBOPACK compile-time value", void 0)))
}, void 0, false, {
fileName: "[project]/Documents/00 - projet/plumeia/src/components/StoryWorkflow.tsx",
lineNumber: 150,
lineNumber: 151,
columnNumber: 29
}, ("TURBOPACK compile-time value", void 0)),
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
@@ -199,46 +203,46 @@ const StoryNode = /*#__PURE__*/ __TURBOPACK__imported__module__$5b$project$5d2f$
})
}, void 0, false, {
fileName: "[project]/Documents/00 - projet/plumeia/src/components/StoryWorkflow.tsx",
lineNumber: 162,
lineNumber: 163,
columnNumber: 37
}, ("TURBOPACK compile-time value", void 0))
}, void 0, false, {
fileName: "[project]/Documents/00 - projet/plumeia/src/components/StoryWorkflow.tsx",
lineNumber: 161,
lineNumber: 162,
columnNumber: 33
}, ("TURBOPACK compile-time value", void 0)),
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("button", {
onClick: ()=>onSaveColor(node.color || '#ffffff'),
className: "text-[10px] font-bold text-indigo-600 hover:text-indigo-800 hover:underline flex-1 text-right",
children: "+ SAUVER"
children: t('sw.save_color')
}, void 0, false, {
fileName: "[project]/Documents/00 - projet/plumeia/src/components/StoryWorkflow.tsx",
lineNumber: 169,
lineNumber: 170,
columnNumber: 33
}, ("TURBOPACK compile-time value", void 0))
]
}, void 0, true, {
fileName: "[project]/Documents/00 - projet/plumeia/src/components/StoryWorkflow.tsx",
lineNumber: 160,
lineNumber: 161,
columnNumber: 29
}, ("TURBOPACK compile-time value", void 0))
]
}, void 0, true, {
fileName: "[project]/Documents/00 - projet/plumeia/src/components/StoryWorkflow.tsx",
lineNumber: 149,
lineNumber: 150,
columnNumber: 25
}, ("TURBOPACK compile-time value", void 0))
]
}, void 0, true, {
fileName: "[project]/Documents/00 - projet/plumeia/src/components/StoryWorkflow.tsx",
lineNumber: 123,
lineNumber: 124,
columnNumber: 17
}, ("TURBOPACK compile-time value", void 0)),
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
className: "flex-1 overflow-y-auto custom-scrollbar relative mb-4",
children: isEditing ? /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("textarea", {
className: `w-full h-full bg-white/70 resize-none outline-none text-xs leading-relaxed p-2 rounded border border-indigo-100 shadow-inner ${node.type === 'dialogue' ? 'font-mono text-slate-700' : 'text-slate-600'}`,
placeholder: node.type === 'dialogue' ? "Héros: Salut !\nGuide: ..." : "Résumé de l'intrigue...",
placeholder: node.type === 'dialogue' ? t('sw.dialogue_ph') : t('sw.plot_ph'),
value: node.description,
onChange: (e)=>onInputCheckAutocomplete(e, node.id, 'description'),
onKeyDown: (e)=>onKeyDownInInput(e, node.id),
@@ -246,7 +250,7 @@ const StoryNode = /*#__PURE__*/ __TURBOPACK__imported__module__$5b$project$5d2f$
onBlur: ()=>onSetEditing(null)
}, void 0, false, {
fileName: "[project]/Documents/00 - projet/plumeia/src/components/StoryWorkflow.tsx",
lineNumber: 182,
lineNumber: 183,
columnNumber: 25
}, ("TURBOPACK compile-time value", void 0)) : /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
className: `w-full h-full text-xs text-slate-600 leading-relaxed p-1 cursor-text whitespace-pre-wrap ${node.type === 'dialogue' ? 'font-mono bg-indigo-50/30 rounded pl-2 border-l-2 border-indigo-200' : ''}`,
@@ -254,12 +258,12 @@ const StoryNode = /*#__PURE__*/ __TURBOPACK__imported__module__$5b$project$5d2f$
children: richDescription
}, void 0, false, {
fileName: "[project]/Documents/00 - projet/plumeia/src/components/StoryWorkflow.tsx",
lineNumber: 192,
lineNumber: 193,
columnNumber: 25
}, ("TURBOPACK compile-time value", void 0))
}, void 0, false, {
fileName: "[project]/Documents/00 - projet/plumeia/src/components/StoryWorkflow.tsx",
lineNumber: 180,
lineNumber: 181,
columnNumber: 17
}, ("TURBOPACK compile-time value", void 0)),
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
@@ -278,18 +282,18 @@ const StoryNode = /*#__PURE__*/ __TURBOPACK__imported__module__$5b$project$5d2f$
setShowTypePicker(false);
},
className: `p-1.5 rounded hover:bg-slate-100 ${node.type === 'story' ? 'bg-indigo-50 ring-1 ring-indigo-200' : ''}`,
title: "Narration",
title: t('sw.type_story'),
children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$book$2d$open$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$export__default__as__BookOpen$3e$__["BookOpen"], {
size: 14,
className: "text-slate-500"
}, void 0, false, {
fileName: "[project]/Documents/00 - projet/plumeia/src/components/StoryWorkflow.tsx",
lineNumber: 209,
lineNumber: 210,
columnNumber: 33
}, ("TURBOPACK compile-time value", void 0))
}, void 0, false, {
fileName: "[project]/Documents/00 - projet/plumeia/src/components/StoryWorkflow.tsx",
lineNumber: 204,
lineNumber: 205,
columnNumber: 29
}, ("TURBOPACK compile-time value", void 0)),
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("button", {
@@ -301,18 +305,18 @@ const StoryNode = /*#__PURE__*/ __TURBOPACK__imported__module__$5b$project$5d2f$
setShowTypePicker(false);
},
className: `p-1.5 rounded hover:bg-amber-50 ${node.type === 'action' ? 'bg-amber-50 ring-1 ring-amber-200' : ''}`,
title: "Action",
title: t('sw.type_action'),
children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$zap$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$export__default__as__Zap$3e$__["Zap"], {
size: 14,
className: "text-amber-500"
}, void 0, false, {
fileName: "[project]/Documents/00 - projet/plumeia/src/components/StoryWorkflow.tsx",
lineNumber: 216,
lineNumber: 217,
columnNumber: 33
}, ("TURBOPACK compile-time value", void 0))
}, void 0, false, {
fileName: "[project]/Documents/00 - projet/plumeia/src/components/StoryWorkflow.tsx",
lineNumber: 211,
lineNumber: 212,
columnNumber: 29
}, ("TURBOPACK compile-time value", void 0)),
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("button", {
@@ -324,24 +328,24 @@ const StoryNode = /*#__PURE__*/ __TURBOPACK__imported__module__$5b$project$5d2f$
setShowTypePicker(false);
},
className: `p-1.5 rounded hover:bg-blue-50 ${node.type === 'dialogue' ? 'bg-blue-50 ring-1 ring-blue-200' : ''}`,
title: "Dialogue",
title: t('sw.type_dialogue'),
children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$message$2d$circle$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$export__default__as__MessageCircle$3e$__["MessageCircle"], {
size: 14,
className: "text-blue-500"
}, void 0, false, {
fileName: "[project]/Documents/00 - projet/plumeia/src/components/StoryWorkflow.tsx",
lineNumber: 223,
lineNumber: 224,
columnNumber: 33
}, ("TURBOPACK compile-time value", void 0))
}, void 0, false, {
fileName: "[project]/Documents/00 - projet/plumeia/src/components/StoryWorkflow.tsx",
lineNumber: 218,
lineNumber: 219,
columnNumber: 29
}, ("TURBOPACK compile-time value", void 0))
]
}, void 0, true, {
fileName: "[project]/Documents/00 - projet/plumeia/src/components/StoryWorkflow.tsx",
lineNumber: 203,
lineNumber: 204,
columnNumber: 25
}, ("TURBOPACK compile-time value", void 0)),
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("button", {
@@ -356,7 +360,7 @@ const StoryNode = /*#__PURE__*/ __TURBOPACK__imported__module__$5b$project$5d2f$
className: "text-slate-500"
}, void 0, false, {
fileName: "[project]/Documents/00 - projet/plumeia/src/components/StoryWorkflow.tsx",
lineNumber: 232,
lineNumber: 233,
columnNumber: 51
}, ("TURBOPACK compile-time value", void 0)),
node.type === 'action' && /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$zap$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$export__default__as__Zap$3e$__["Zap"], {
@@ -364,7 +368,7 @@ const StoryNode = /*#__PURE__*/ __TURBOPACK__imported__module__$5b$project$5d2f$
className: "text-amber-500"
}, void 0, false, {
fileName: "[project]/Documents/00 - projet/plumeia/src/components/StoryWorkflow.tsx",
lineNumber: 233,
lineNumber: 234,
columnNumber: 52
}, ("TURBOPACK compile-time value", void 0)),
node.type === 'dialogue' && /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$message$2d$circle$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$export__default__as__MessageCircle$3e$__["MessageCircle"], {
@@ -372,25 +376,25 @@ const StoryNode = /*#__PURE__*/ __TURBOPACK__imported__module__$5b$project$5d2f$
className: "text-blue-500"
}, void 0, false, {
fileName: "[project]/Documents/00 - projet/plumeia/src/components/StoryWorkflow.tsx",
lineNumber: 234,
lineNumber: 235,
columnNumber: 54
}, ("TURBOPACK compile-time value", void 0))
]
}, void 0, true, {
fileName: "[project]/Documents/00 - projet/plumeia/src/components/StoryWorkflow.tsx",
lineNumber: 228,
lineNumber: 229,
columnNumber: 21
}, ("TURBOPACK compile-time value", void 0))
]
}, void 0, true, {
fileName: "[project]/Documents/00 - projet/plumeia/src/components/StoryWorkflow.tsx",
lineNumber: 201,
lineNumber: 202,
columnNumber: 17
}, ("TURBOPACK compile-time value", void 0))
]
}, void 0, true, {
fileName: "[project]/Documents/00 - projet/plumeia/src/components/StoryWorkflow.tsx",
lineNumber: 122,
lineNumber: 123,
columnNumber: 13
}, ("TURBOPACK compile-time value", void 0)),
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("button", {
@@ -400,26 +404,31 @@ const StoryNode = /*#__PURE__*/ __TURBOPACK__imported__module__$5b$project$5d2f$
size: 12
}, void 0, false, {
fileName: "[project]/Documents/00 - projet/plumeia/src/components/StoryWorkflow.tsx",
lineNumber: 243,
lineNumber: 244,
columnNumber: 17
}, ("TURBOPACK compile-time value", void 0))
}, void 0, false, {
fileName: "[project]/Documents/00 - projet/plumeia/src/components/StoryWorkflow.tsx",
lineNumber: 239,
lineNumber: 240,
columnNumber: 13
}, ("TURBOPACK compile-time value", void 0))
]
}, void 0, true, {
fileName: "[project]/Documents/00 - projet/plumeia/src/components/StoryWorkflow.tsx",
lineNumber: 103,
lineNumber: 104,
columnNumber: 9
}, ("TURBOPACK compile-time value", void 0));
}, "8yNvnjGOL794S5OUWPkg1xgktL0="), (prev, next)=>{
}, "IaAVA7CXk1TQddZ/HYjiLARc2/E=", false, function() {
return [
__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$src$2f$providers$2f$LanguageProvider$2e$tsx__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useLanguage"]
];
}), (prev, next)=>{
return prev.node === next.node && prev.isSelected === next.isSelected && prev.isEditing === next.isEditing && prev.isDragging === next.isDragging && prev.activeColorPickerId === next.activeColorPickerId && prev.entities === next.entities;
});
_c = StoryNode;
const StoryWorkflow = ({ data, onUpdate, entities, onNavigateToEntity })=>{
_s1();
const { t } = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$src$2f$providers$2f$LanguageProvider$2e$tsx__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useLanguage"])();
const containerRef = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"])(null);
const rafRef = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"])(null);
const [internalNodes, setInternalNodes] = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"])(data.nodes);
@@ -810,7 +819,7 @@ const StoryWorkflow = ({ data, onUpdate, entities, onNavigateToEntity })=>{
id: `node-${Date.now()}`,
x,
y,
title: 'Nouvel événement',
title: t('sw.new_event'),
description: '',
color: INITIAL_COLORS[0],
type: 'story'
@@ -848,7 +857,7 @@ const StoryWorkflow = ({ data, onUpdate, entities, onNavigateToEntity })=>{
id: `node-${Date.now()}`,
x: scrollLeft + clientWidth / 2 - CARD_WIDTH / 2,
y: scrollTop + clientHeight / 2 - CARD_HEIGHT / 2,
title: 'Nouveau point d\'intrigue',
title: t('sw.new_plot_point'),
description: '',
color: INITIAL_COLORS[0],
type: 'story'
@@ -882,35 +891,36 @@ const StoryWorkflow = ({ data, onUpdate, entities, onNavigateToEntity })=>{
size: 14
}, void 0, false, {
fileName: "[project]/Documents/00 - projet/plumeia/src/components/StoryWorkflow.tsx",
lineNumber: 616,
lineNumber: 618,
columnNumber: 25
}, ("TURBOPACK compile-time value", void 0)),
" AJOUTER NŒUD"
" ",
t('sw.add_node')
]
}, void 0, true, {
fileName: "[project]/Documents/00 - projet/plumeia/src/components/StoryWorkflow.tsx",
lineNumber: 615,
lineNumber: 617,
columnNumber: 21
}, ("TURBOPACK compile-time value", void 0)),
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
className: "w-px h-6 bg-theme-border mx-2"
}, void 0, false, {
fileName: "[project]/Documents/00 - projet/plumeia/src/components/StoryWorkflow.tsx",
lineNumber: 618,
lineNumber: 620,
columnNumber: 21
}, ("TURBOPACK compile-time value", void 0)),
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
className: "text-[10px] uppercase font-bold text-theme-muted tracking-wider",
children: selectedNodeIds.size > 0 ? `${selectedNodeIds.size} SÉLECTIONNÉ(S)` : 'Double-cliquez sur le canvas pour créer'
children: selectedNodeIds.size > 0 ? `${selectedNodeIds.size} ${t('sw.selected')}` : t('sw.double_click_create')
}, void 0, false, {
fileName: "[project]/Documents/00 - projet/plumeia/src/components/StoryWorkflow.tsx",
lineNumber: 619,
lineNumber: 621,
columnNumber: 21
}, ("TURBOPACK compile-time value", void 0))
]
}, void 0, true, {
fileName: "[project]/Documents/00 - projet/plumeia/src/components/StoryWorkflow.tsx",
lineNumber: 614,
lineNumber: 616,
columnNumber: 17
}, ("TURBOPACK compile-time value", void 0)),
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
@@ -919,28 +929,28 @@ const StoryWorkflow = ({ data, onUpdate, entities, onNavigateToEntity })=>{
onClick: handleDeleteSelected,
disabled: selectedNodeIds.size === 0,
className: "p-2 text-red-500 hover:bg-red-500/10 rounded-lg disabled:opacity-30 transition-colors",
title: "Supprimer",
title: t('sw.delete'),
children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$trash$2d$2$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$export__default__as__Trash2$3e$__["Trash2"], {
size: 16
}, void 0, false, {
fileName: "[project]/Documents/00 - projet/plumeia/src/components/StoryWorkflow.tsx",
lineNumber: 625,
lineNumber: 627,
columnNumber: 25
}, ("TURBOPACK compile-time value", void 0))
}, void 0, false, {
fileName: "[project]/Documents/00 - projet/plumeia/src/components/StoryWorkflow.tsx",
lineNumber: 624,
lineNumber: 626,
columnNumber: 21
}, ("TURBOPACK compile-time value", void 0))
}, void 0, false, {
fileName: "[project]/Documents/00 - projet/plumeia/src/components/StoryWorkflow.tsx",
lineNumber: 623,
lineNumber: 625,
columnNumber: 17
}, ("TURBOPACK compile-time value", void 0))
]
}, void 0, true, {
fileName: "[project]/Documents/00 - projet/plumeia/src/components/StoryWorkflow.tsx",
lineNumber: 613,
lineNumber: 615,
columnNumber: 13
}, ("TURBOPACK compile-time value", void 0)),
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
@@ -976,7 +986,7 @@ const StoryWorkflow = ({ data, onUpdate, entities, onNavigateToEntity })=>{
markerEnd: "url(#arrowhead)"
}, conn.id, false, {
fileName: "[project]/Documents/00 - projet/plumeia/src/components/StoryWorkflow.tsx",
lineNumber: 652,
lineNumber: 654,
columnNumber: 29
}, ("TURBOPACK compile-time value", void 0));
}),
@@ -991,7 +1001,7 @@ const StoryWorkflow = ({ data, onUpdate, entities, onNavigateToEntity })=>{
markerEnd: "url(#arrowhead-blue)"
}, void 0, false, {
fileName: "[project]/Documents/00 - projet/plumeia/src/components/StoryWorkflow.tsx",
lineNumber: 656,
lineNumber: 658,
columnNumber: 25
}, ("TURBOPACK compile-time value", void 0)),
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("defs", {
@@ -1008,12 +1018,12 @@ const StoryWorkflow = ({ data, onUpdate, entities, onNavigateToEntity })=>{
fill: "var(--theme-border)"
}, void 0, false, {
fileName: "[project]/Documents/00 - projet/plumeia/src/components/StoryWorkflow.tsx",
lineNumber: 665,
lineNumber: 667,
columnNumber: 29
}, ("TURBOPACK compile-time value", void 0))
}, void 0, false, {
fileName: "[project]/Documents/00 - projet/plumeia/src/components/StoryWorkflow.tsx",
lineNumber: 664,
lineNumber: 666,
columnNumber: 25
}, ("TURBOPACK compile-time value", void 0)),
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("marker", {
@@ -1028,24 +1038,24 @@ const StoryWorkflow = ({ data, onUpdate, entities, onNavigateToEntity })=>{
fill: "#6366f1"
}, void 0, false, {
fileName: "[project]/Documents/00 - projet/plumeia/src/components/StoryWorkflow.tsx",
lineNumber: 668,
lineNumber: 670,
columnNumber: 29
}, ("TURBOPACK compile-time value", void 0))
}, void 0, false, {
fileName: "[project]/Documents/00 - projet/plumeia/src/components/StoryWorkflow.tsx",
lineNumber: 667,
lineNumber: 669,
columnNumber: 25
}, ("TURBOPACK compile-time value", void 0))
]
}, void 0, true, {
fileName: "[project]/Documents/00 - projet/plumeia/src/components/StoryWorkflow.tsx",
lineNumber: 663,
lineNumber: 665,
columnNumber: 21
}, ("TURBOPACK compile-time value", void 0))
]
}, void 0, true, {
fileName: "[project]/Documents/00 - projet/plumeia/src/components/StoryWorkflow.tsx",
lineNumber: 642,
lineNumber: 644,
columnNumber: 17
}, ("TURBOPACK compile-time value", void 0)),
internalNodes.map((node)=>/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])(StoryNode, {
@@ -1069,13 +1079,13 @@ const StoryWorkflow = ({ data, onUpdate, entities, onNavigateToEntity })=>{
onKeyDownInInput: handleKeyDownInInput
}, node.id, false, {
fileName: "[project]/Documents/00 - projet/plumeia/src/components/StoryWorkflow.tsx",
lineNumber: 674,
lineNumber: 676,
columnNumber: 21
}, ("TURBOPACK compile-time value", void 0)))
]
}, void 0, true, {
fileName: "[project]/Documents/00 - projet/plumeia/src/components/StoryWorkflow.tsx",
lineNumber: 630,
lineNumber: 632,
columnNumber: 13
}, ("TURBOPACK compile-time value", void 0)),
activeSuggestion && /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
@@ -1088,13 +1098,10 @@ const StoryWorkflow = ({ data, onUpdate, entities, onNavigateToEntity })=>{
children: [
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
className: "px-3 py-2 bg-indigo-600 text-white text-[10px] font-black uppercase tracking-widest",
children: [
"Insérer ",
activeSuggestion.trigger === '@' ? 'Personnage' : activeSuggestion.trigger === '#' ? 'Lieu' : 'Objet'
]
}, void 0, true, {
children: activeSuggestion.trigger === '@' ? t('sw.insert_char') : activeSuggestion.trigger === '#' ? t('sw.insert_loc') : t('sw.insert_obj')
}, void 0, false, {
fileName: "[project]/Documents/00 - projet/plumeia/src/components/StoryWorkflow.tsx",
lineNumber: 700,
lineNumber: 702,
columnNumber: 21
}, ("TURBOPACK compile-time value", void 0)),
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
@@ -1105,35 +1112,39 @@ const StoryWorkflow = ({ data, onUpdate, entities, onNavigateToEntity })=>{
children: ent.name
}, ent.id, false, {
fileName: "[project]/Documents/00 - projet/plumeia/src/components/StoryWorkflow.tsx",
lineNumber: 706,
lineNumber: 708,
columnNumber: 33
}, ("TURBOPACK compile-time value", void 0))) : /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
className: "p-4 text-xs text-slate-400 italic text-center",
children: "Aucun résultat"
children: t('sw.no_result')
}, void 0, false, {
fileName: "[project]/Documents/00 - projet/plumeia/src/components/StoryWorkflow.tsx",
lineNumber: 715,
lineNumber: 717,
columnNumber: 29
}, ("TURBOPACK compile-time value", void 0))
}, void 0, false, {
fileName: "[project]/Documents/00 - projet/plumeia/src/components/StoryWorkflow.tsx",
lineNumber: 703,
lineNumber: 705,
columnNumber: 21
}, ("TURBOPACK compile-time value", void 0))
]
}, void 0, true, {
fileName: "[project]/Documents/00 - projet/plumeia/src/components/StoryWorkflow.tsx",
lineNumber: 699,
lineNumber: 701,
columnNumber: 17
}, ("TURBOPACK compile-time value", void 0))
]
}, void 0, true, {
fileName: "[project]/Documents/00 - projet/plumeia/src/components/StoryWorkflow.tsx",
lineNumber: 612,
lineNumber: 614,
columnNumber: 9
}, ("TURBOPACK compile-time value", void 0));
};
_s1(StoryWorkflow, "GlJ/7gZkBYC3Q3ryQRUN9XEyk6A=");
_s1(StoryWorkflow, "HkyqEjOYxmOBuQYsnNrBLa0497c=", false, function() {
return [
__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$00__$2d$__projet$2f$plumeia$2f$src$2f$providers$2f$LanguageProvider$2e$tsx__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useLanguage"]
];
});
_c1 = StoryWorkflow;
const __TURBOPACK__default__export__ = StoryWorkflow;
var _c, _c1;