fix : boutons IA dans wizard/step1.php (éditeur réel) + adaptation ids textarea
post_form.php n'était jamais inclus — les boutons IA sont ajoutés dans la vraie page d'édition (wizard/step1.php). ai-editor.js cherche #wz-content en priorité et extrait le titre depuis la première ligne # du Markdown. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -9,7 +9,7 @@ document.addEventListener('DOMContentLoaded', function () {
|
|||||||
var resultEl = document.getElementById('ai-result-content');
|
var resultEl = document.getElementById('ai-result-content');
|
||||||
var btnApply = document.getElementById('btn-ai-apply');
|
var btnApply = document.getElementById('btn-ai-apply');
|
||||||
var btnClose = document.getElementById('btn-ai-close');
|
var btnClose = document.getElementById('btn-ai-close');
|
||||||
var ta = document.getElementById('content');
|
var ta = document.getElementById('wz-content') || document.getElementById('content');
|
||||||
var titleEl = document.getElementById('title');
|
var titleEl = document.getElementById('title');
|
||||||
|
|
||||||
var lastRewrite = '';
|
var lastRewrite = '';
|
||||||
@@ -33,13 +33,19 @@ document.addEventListener('DOMContentLoaded', function () {
|
|||||||
lastRewrite = '';
|
lastRewrite = '';
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
var titleVal = titleEl ? titleEl.value : '';
|
||||||
|
if (!titleVal && ta) {
|
||||||
|
var m = ta.value.match(/^#\s+(.+)/m);
|
||||||
|
if (m) { titleVal = m[1].trim(); }
|
||||||
|
}
|
||||||
|
|
||||||
var res = await fetch('/?action=ai_query', {
|
var res = await fetch('/?action=ai_query', {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
|
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
|
||||||
body: new URLSearchParams({
|
body: new URLSearchParams({
|
||||||
action: action,
|
action: action,
|
||||||
title: titleEl ? titleEl.value : '',
|
title: titleVal,
|
||||||
content: ta ? ta.value : '',
|
content: ta ? ta.value : '',
|
||||||
}),
|
}),
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -49,15 +49,44 @@ $_hasUuid = $_wizUuid !== '';
|
|||||||
|
|
||||||
</div><!-- /col-lg-9 -->
|
</div><!-- /col-lg-9 -->
|
||||||
|
|
||||||
<!-- Plan (TOC dynamique) ───────────────────────────────────────────────── -->
|
<!-- Sidebar droite : TOC + IA ──────────────────────────────────────────── -->
|
||||||
<div class="col-lg-3 d-none d-lg-block">
|
<div class="col-lg-3 d-none d-lg-block">
|
||||||
<div class="position-sticky" style="top:1rem">
|
<div class="position-sticky" style="top:1rem">
|
||||||
<div class="card border-secondary-subtle">
|
<div class="card border-secondary-subtle mb-3">
|
||||||
<div class="card-header bg-transparent py-2 small fw-semibold text-muted">Plan</div>
|
<div class="card-header bg-transparent py-2 small fw-semibold text-muted">Plan</div>
|
||||||
<div class="card-body p-2" style="max-height:80vh;overflow-y:auto">
|
<div class="card-body p-2" style="max-height:40vh;overflow-y:auto">
|
||||||
<ul id="wz-toc-list" class="list-unstyled mb-0"></ul>
|
<ul id="wz-toc-list" class="list-unstyled mb-0"></ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<?php if ($mode === 'edit'): ?>
|
||||||
|
<div class="card border-secondary-subtle">
|
||||||
|
<div class="card-header bg-transparent py-2 small fw-semibold text-muted">IA</div>
|
||||||
|
<div class="card-body p-2">
|
||||||
|
<div class="d-flex flex-column gap-2">
|
||||||
|
<button type="button" id="btn-ai-critique" class="btn btn-outline-secondary btn-sm">
|
||||||
|
Analyse critique
|
||||||
|
</button>
|
||||||
|
<button type="button" id="btn-ai-rewrite" class="btn btn-outline-secondary btn-sm">
|
||||||
|
Réécrire l'article
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<div id="ai-result-panel" class="mt-2" style="display:none">
|
||||||
|
<div class="d-flex align-items-center justify-content-between mb-1">
|
||||||
|
<span id="ai-result-label" class="fw-semibold small"></span>
|
||||||
|
<button type="button" id="btn-ai-close" class="btn-close btn-sm" aria-label="Fermer"></button>
|
||||||
|
</div>
|
||||||
|
<div id="ai-result-content"
|
||||||
|
class="border rounded p-2 small"
|
||||||
|
style="max-height:340px;overflow-y:auto;white-space:pre-wrap;font-family:inherit;background:#f8f9fa">
|
||||||
|
</div>
|
||||||
|
<button type="button" id="btn-ai-apply" class="btn btn-warning btn-sm mt-2" style="display:none">
|
||||||
|
Appliquer dans l'éditeur
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<?php endif; ?>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div><!-- /row -->
|
</div><!-- /row -->
|
||||||
@@ -172,4 +201,5 @@ $_hasUuid = $_wizUuid !== '';
|
|||||||
<?php
|
<?php
|
||||||
$content = ob_get_clean();
|
$content = ob_get_clean();
|
||||||
$title = ($mode === 'create' ? 'Nouvel article' : 'Modifier') . ' — Étape 1/' . $totalSteps;
|
$title = ($mode === 'create' ? 'Nouvel article' : 'Modifier') . ' — Étape 1/' . $totalSteps;
|
||||||
|
if ($mode === 'edit') { $aiEditor = true; }
|
||||||
include BASE_PATH . '/templates/layout.php';
|
include BASE_PATH . '/templates/layout.php';
|
||||||
|
|||||||
Reference in New Issue
Block a user