« Demander à une IA » : bouton, feuille du prompt à son adresse, copie
Le bouton, secondaire, dans la feuille du maître, sur le bilan, dans l'analyse et sur la fiche ouverte du glossaire. Il ouvre la feuille du prompt (…/ia, amendement de l'ADR 0013), où le texte se relit avant la copie : navigator.clipboard, repli par sélection du texte, bandeau « Prompt copié » (2 s). Gabarits copiés par make site (amendement de l'ADR 0008), scénario « Demander à une IA », 1f marquée faite. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
4f0611c24c
commit
2a1fe1b04c
+125
@@ -3406,3 +3406,128 @@ html.landscape .analysis-board {
|
||||
.summary-board .point-number {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* ------------------------------------------- Demander à une IA (1f) */
|
||||
|
||||
/* Le bouton : secondaire partout, avec l'icône de copie (charte, 1f). */
|
||||
a.button.ask-ai .icon,
|
||||
#prompt-copy .icon {
|
||||
flex: none;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
}
|
||||
|
||||
.ask-ai-slot .ask-ai {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.explain-actions {
|
||||
gap: var(--space-2);
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.term-card .ask-ai {
|
||||
margin-top: var(--space-2);
|
||||
}
|
||||
|
||||
/* La feuille du prompt passe devant la feuille du maître et le bilan. */
|
||||
.prompt-veil {
|
||||
z-index: 12;
|
||||
}
|
||||
|
||||
.prompt-sheet {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: var(--space-2);
|
||||
}
|
||||
|
||||
.prompt-lead {
|
||||
margin: 0;
|
||||
color: var(--muted);
|
||||
}
|
||||
|
||||
/* Le texte du prompt, à relire avant de le copier : une zone en creux qui
|
||||
* défile, en chasse fixe pour que le diagramme garde ses colonnes. */
|
||||
.prompt-text {
|
||||
min-height: 0;
|
||||
max-height: 50vh;
|
||||
max-height: 50dvh;
|
||||
margin: 0;
|
||||
padding: var(--space-3);
|
||||
overflow: auto;
|
||||
font-family: ui-monospace, "DejaVu Sans Mono", "Roboto Mono", monospace;
|
||||
font-size: 13px;
|
||||
line-height: 18px;
|
||||
white-space: pre-wrap;
|
||||
overflow-wrap: anywhere;
|
||||
color: var(--text);
|
||||
background: var(--surface-sunken);
|
||||
border: 1px solid var(--border);
|
||||
border-radius: var(--radius-md);
|
||||
user-select: text;
|
||||
}
|
||||
|
||||
.prompt-status {
|
||||
margin: 0;
|
||||
color: var(--muted);
|
||||
}
|
||||
|
||||
.prompt-status:empty {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.prompt-actions {
|
||||
display: flex;
|
||||
gap: var(--space-2);
|
||||
justify-content: flex-end;
|
||||
}
|
||||
|
||||
.prompt-actions button {
|
||||
display: inline-flex;
|
||||
gap: 6px;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
min-width: 120px;
|
||||
}
|
||||
|
||||
html.landscape .prompt-text {
|
||||
max-height: calc(100vh - 190px);
|
||||
max-height: calc(100dvh - 190px);
|
||||
}
|
||||
|
||||
/* « Prompt copié » : le bandeau des autres, en verdict-good, 2 s, devant
|
||||
* la feuille du prompt ; en haut de l'écran, pour ne pas couvrir les
|
||||
* boutons de la feuille. */
|
||||
.prompt-banner,
|
||||
html.landscape .prompt-banner {
|
||||
top: var(--space-4);
|
||||
bottom: auto;
|
||||
z-index: 13;
|
||||
color: var(--verdict-good);
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.prompt-banner > span:not(.banner-timer) {
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.prompt-banner .icon {
|
||||
flex: none;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
}
|
||||
|
||||
.prompt-banner .banner-timer {
|
||||
background: var(--verdict-good);
|
||||
}
|
||||
|
||||
.prompt-banner .banner-timer.running {
|
||||
animation-duration: 2s;
|
||||
}
|
||||
|
||||
/* Le bouton ne se coupe pas : trop étroit à côté de « Revoir ce coup » ou
|
||||
* « Rejouer d'ici », il passe à la ligne. */
|
||||
.summary-review-actions,
|
||||
.viewer-actions {
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
@@ -166,6 +166,10 @@
|
||||
construit par app/src/ui/summary-view.ts. -->
|
||||
<div id="summary-veil" class="veil summary-veil" hidden></div>
|
||||
|
||||
<!-- Le prompt pour une IA (…/ia) : une feuille, au-dessus de l'écran d'où
|
||||
on le demande, construite par app/src/ui/ask-ai.ts. -->
|
||||
<div id="prompt-veil" class="veil sheet-veil prompt-veil" hidden></div>
|
||||
|
||||
<!-- La marche à suivre pour installer (#/installer) : une feuille. -->
|
||||
<div id="install-veil" class="veil sheet-veil" hidden>
|
||||
<div id="install-sheet" class="sheet" role="dialog" aria-modal="true" aria-labelledby="install-title">
|
||||
@@ -214,6 +218,10 @@
|
||||
<span class="banner-timer" aria-hidden="true"></span>
|
||||
</div>
|
||||
|
||||
<!-- « Prompt copié », 2 s, au-dessus de la feuille du prompt (contenu
|
||||
construit par app/src/ui/ask-ai.ts). -->
|
||||
<div id="prompt-banner" class="banner prompt-banner" role="status" hidden></div>
|
||||
|
||||
<!-- « Nouvelle version prête. » : en bas, comme « Reprendre l'ancienne »,
|
||||
seulement entre deux tours. -->
|
||||
<div id="update-banner" class="banner update-banner" role="status" hidden>
|
||||
|
||||
Reference in New Issue
Block a user