feat: add tool disclaimer for issue generation

This commit is contained in:
2025-03-10 10:06:08 +01:00
parent 48cf3bb342
commit 0c57663f5f
3 changed files with 21 additions and 33 deletions

View File

@ -133,9 +133,6 @@ templ IssuePage(vmodel IssuePageVModel) {
<summary class="is-clickable">Paramètres avancés</summary>
@common.FormTextarea(
vmodel.SummaryForm, "issue-template", "template", "Surcharger le modèle de demande",
common.WithTextareaAttrs(
"hx-on:change", "onIssueTemplateChange(event)",
),
)
</details>
<div class="buttons is-right">
@ -153,6 +150,17 @@ templ IssuePage(vmodel IssuePageVModel) {
<form action={ common.CurrentURL(ctx) } method="post" hx-disabled-elt="textarea, input, select, button" hx-indicator="#generation-progress">
@common.FormField(vmodel.IssueForm, "issue-title", "title", "Titre")
@common.FormTextarea(vmodel.IssueForm, "issue-body", "body", "Corps")
if value, ok := vmodel.IssueForm.Field("body").Get("value"); ok && value != nil {
<article class="message is-warning mt-5">
<div class="message-header">
<p><span class="icon"><i class="fa fa-exclamation-triangle"></i></span>Avertissement</p>
</div>
<div class="message-body content">
<p><b>ClearCase n'est qu'un outil.</b> Il est peu probable que le ticket généré soit parfait dès le premier essai, et il nécessitera sans doute des ajustements de votre part.</p>
<p>Assurez-vous de bien relire votre ticket et de supprimer les éléments superflus ou hors sujet avant de le créer.</p>
</div>
</article>
}
<div class="buttons is-right">
<button type="submit" class="button is-info is-large">
<span class="icon">
@ -193,12 +201,6 @@ templ IssuePage(vmodel IssuePageVModel) {
sessionStorage.setItem(`summary-${projectId}`, summary);
}
function onIssueTemplateChange(evt) {
const issueTemplate = evt.currentTarget.value;
const projectId = document.getElementById("issue-project").value;
localStorage.setItem(`issue-template-${projectId}`, issueTemplate);
}
function savePreferredProject() {
const projectId = document.getElementById("issue-project").value;
localStorage.setItem(`preferred-project`, projectId);
@ -226,22 +228,9 @@ templ IssuePage(vmodel IssuePageVModel) {
summaryTextarea.value = savedSummary;
}
function restoreIssueTemplate() {
const issueTemplateTextarea = document.getElementById("issue-template");
if (!issueTemplateTextarea) return;
const issueTemplate = issueTemplateTextarea.value;
if (issueTemplate !== "") return;
const projectId = document.getElementById("issue-project").value;
if (!projectId) return;
const savedIssueTemplate = localStorage.getItem(`issue-template-${projectId}`);
if (!savedIssueTemplate) return;
issueTemplateTextarea.value = savedIssueTemplate;
}
htmx.onLoad(function(){
restoreLastSummary();
restorePreferredProject();
restoreIssueTemplate();
})
</script>
}