@cat-factory/app 0.143.0 → 0.143.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,9 +1,10 @@
1
1
  <script setup lang="ts">
2
2
  // Create a new task on the board. The user names the task and writes its
3
- // description themselves (a REVIEW task is the one exception — its title is optional
4
- // and derived from the target PR when left blank, since the PR is the subject). The
5
- // task lands in `planned` state; it is never launched here. The user starts a
6
- // pipeline on it explicitly (and can keep editing it until they do).
3
+ // description themselves (a REVIEW task is the one exception — it shows neither Title
4
+ // nor Description: the target PR IS the subject, so the title is derived from the PR
5
+ // reference and any notes go in the dedicated "Review focus" field). The task lands in
6
+ // `planned` state; it is never launched here. The user starts a pipeline on it
7
+ // explicitly (and can keep editing it until they do).
7
8
  //
8
9
  // The form also shows ungated "Context documents" / "Context issues" sections
9
10
  // (mirroring the task inspector): an inline search picker (ContextDocumentPicker /
@@ -732,65 +733,62 @@ async function add() {
732
733
  </div>
733
734
 
734
735
  <template v-if="!isRecurring">
735
- <UFormField
736
- :label="t('board.addTask.titleField')"
737
- :required="!isReview"
738
- :hint="isReview ? t('board.addTask.optional') : undefined"
739
- >
736
+ <!-- A review task shows neither Title nor Description: the target PR is the
737
+ subject (the title is derived from the PR reference), and any notes go in
738
+ the dedicated "Review focus" field below. -->
739
+ <UFormField v-if="!isReview" :label="t('board.addTask.titleField')" required>
740
740
  <UInput
741
741
  v-model="title"
742
742
  data-testid="add-task-title"
743
- :placeholder="
744
- isReview
745
- ? t('board.addTask.titlePlaceholderReview')
746
- : t('board.addTask.titlePlaceholder')
747
- "
743
+ :placeholder="t('board.addTask.titlePlaceholder')"
748
744
  autofocus
749
745
  class="w-full"
750
746
  @keydown.enter="add"
751
747
  />
752
748
  </UFormField>
753
749
 
754
- <!-- Linked issue description(s), read-only: shown so the user sees the original
755
- issue description is included in the task. It's folded into the saved
756
- description (before their notes) on add. -->
757
- <UFormField
758
- v-for="issue in linkedIssueBodies"
759
- :key="issue.key"
760
- :label="t('board.addTask.issueIncluded', { title: issue.title })"
761
- >
762
- <UTextarea
763
- :model-value="issue.body"
764
- :rows="4"
765
- autoresize
766
- readonly
767
- class="w-full"
768
- :ui="{ base: 'cursor-default text-slate-300' }"
769
- />
770
- </UFormField>
771
- <p v-if="resolvingIssueBodies" class="text-[11px] text-slate-500">
772
- {{ t('board.addTask.loadingIssue') }}
773
- </p>
750
+ <template v-if="!isReview">
751
+ <!-- Linked issue description(s), read-only: shown so the user sees the original
752
+ issue description is included in the task. It's folded into the saved
753
+ description (before their notes) on add. -->
754
+ <UFormField
755
+ v-for="issue in linkedIssueBodies"
756
+ :key="issue.key"
757
+ :label="t('board.addTask.issueIncluded', { title: issue.title })"
758
+ >
759
+ <UTextarea
760
+ :model-value="issue.body"
761
+ :rows="4"
762
+ autoresize
763
+ readonly
764
+ class="w-full"
765
+ :ui="{ base: 'cursor-default text-slate-300' }"
766
+ />
767
+ </UFormField>
768
+ <p v-if="resolvingIssueBodies" class="text-[11px] text-slate-500">
769
+ {{ t('board.addTask.loadingIssue') }}
770
+ </p>
774
771
 
775
- <UFormField
776
- :label="
777
- hasLinkedIssueBody
778
- ? t('board.addTask.additionalNotes')
779
- : t('board.addTask.description')
780
- "
781
- >
782
- <UTextarea
783
- v-model="description"
784
- :rows="4"
785
- autoresize
786
- :placeholder="
772
+ <UFormField
773
+ :label="
787
774
  hasLinkedIssueBody
788
- ? t('board.addTask.notesPlaceholder')
789
- : t('board.addTask.descriptionPlaceholder')
775
+ ? t('board.addTask.additionalNotes')
776
+ : t('board.addTask.description')
790
777
  "
791
- class="w-full"
792
- />
793
- </UFormField>
778
+ >
779
+ <UTextarea
780
+ v-model="description"
781
+ :rows="4"
782
+ autoresize
783
+ :placeholder="
784
+ hasLinkedIssueBody
785
+ ? t('board.addTask.notesPlaceholder')
786
+ : t('board.addTask.descriptionPlaceholder')
787
+ "
788
+ class="w-full"
789
+ />
790
+ </UFormField>
791
+ </template>
794
792
 
795
793
  <UCheckbox v-model="technical" name="technical">
796
794
  <template #label>
@@ -2084,7 +2084,6 @@
2084
2084
  "recurringNoFrame": "Eine wiederkehrende Aufgabe muss auf einem Service liegen. Fügen Sie sie aus einem Service-Frame (oder einem darin enthaltenen Modul) hinzu.",
2085
2085
  "titleField": "Titel",
2086
2086
  "titlePlaceholder": "Was muss getan werden?",
2087
- "titlePlaceholderReview": "Optional – wird aus dem Pull Request abgeleitet",
2088
2087
  "issueIncluded": "{title} (aus Issue, enthalten)",
2089
2088
  "loadingIssue": "Beschreibung des verknüpften Issues wird geladen…",
2090
2089
  "additionalNotes": "Zusätzliche Notizen",
@@ -203,7 +203,6 @@
203
203
  "recurringNoFrame": "A recurring task must live on a service. Add it from a service frame (or a module inside one).",
204
204
  "titleField": "Title",
205
205
  "titlePlaceholder": "What needs to be done?",
206
- "titlePlaceholderReview": "Optional — derived from the pull request",
207
206
  "issueIncluded": "{title} (from issue, included)",
208
207
  "loadingIssue": "Loading the linked issue's description…",
209
208
  "additionalNotes": "Additional notes",
@@ -182,7 +182,6 @@
182
182
  "recurringNoFrame": "Una tarea recurrente debe vivir en un servicio. Añádela desde un marco de servicio (o un módulo dentro de él).",
183
183
  "titleField": "Título",
184
184
  "titlePlaceholder": "¿Qué hay que hacer?",
185
- "titlePlaceholderReview": "Opcional: se deriva de la pull request",
186
185
  "issueIncluded": "{title} (de la incidencia, incluida)",
187
186
  "loadingIssue": "Cargando la descripción de la incidencia vinculada…",
188
187
  "additionalNotes": "Notas adicionales",
@@ -182,7 +182,6 @@
182
182
  "recurringNoFrame": "Une tâche récurrente doit appartenir à un service. Ajoutez-la depuis un cadre de service (ou un module à l’intérieur).",
183
183
  "titleField": "Titre",
184
184
  "titlePlaceholder": "Que faut-il faire ?",
185
- "titlePlaceholderReview": "Facultatif — dérivé de la pull request",
186
185
  "issueIncluded": "{title} (depuis le ticket, incluse)",
187
186
  "loadingIssue": "Chargement de la description du ticket lié…",
188
187
  "additionalNotes": "Notes supplémentaires",
@@ -182,7 +182,6 @@
182
182
  "recurringNoFrame": "משימה מחזורית חייבת להתקיים על שירות. הוסף אותה ממסגרת שירות (או ממודול בתוכה).",
183
183
  "titleField": "כותרת",
184
184
  "titlePlaceholder": "מה צריך לעשות?",
185
- "titlePlaceholderReview": "אופציונלי — נגזר מבקשת המשיכה",
186
185
  "issueIncluded": "{title} (מהאישיו, כלול)",
187
186
  "loadingIssue": "טוען את תיאור האישיו המקושר…",
188
187
  "additionalNotes": "הערות נוספות",
@@ -2084,7 +2084,6 @@
2084
2084
  "recurringNoFrame": "Un'attività ricorrente deve risiedere su un servizio. Aggiungila da un frame di servizio (o da un modulo al suo interno).",
2085
2085
  "titleField": "Titolo",
2086
2086
  "titlePlaceholder": "Cosa bisogna fare?",
2087
- "titlePlaceholderReview": "Facoltativo — derivato dalla pull request",
2088
2087
  "issueIncluded": "{title} (dall'issue, incluso)",
2089
2088
  "loadingIssue": "Caricamento della descrizione dell'issue collegata…",
2090
2089
  "additionalNotes": "Note aggiuntive",
@@ -182,7 +182,6 @@
182
182
  "recurringNoFrame": "繰り返しタスクはサービス上に配置する必要があります。サービスフレーム(またはその中のモジュール)から追加してください。",
183
183
  "titleField": "タイトル",
184
184
  "titlePlaceholder": "何を実施する必要がありますか?",
185
- "titlePlaceholderReview": "任意 — プルリクエストから生成されます",
186
185
  "issueIncluded": "{title}(issue から、含む)",
187
186
  "loadingIssue": "リンクされた issue の説明を読み込み中…",
188
187
  "additionalNotes": "追加メモ",
@@ -182,7 +182,6 @@
182
182
  "recurringNoFrame": "Zadanie cykliczne musi należeć do usługi. Dodaj je z ramki usługi (lub modułu w jej obrębie).",
183
183
  "titleField": "Tytuł",
184
184
  "titlePlaceholder": "Co trzeba zrobić?",
185
- "titlePlaceholderReview": "Opcjonalnie — tworzony na podstawie pull requesta",
186
185
  "issueIncluded": "{title} (ze zgłoszenia, dołączone)",
187
186
  "loadingIssue": "Wczytywanie opisu powiązanego zgłoszenia…",
188
187
  "additionalNotes": "Dodatkowe uwagi",
@@ -182,7 +182,6 @@
182
182
  "recurringNoFrame": "Yinelenen bir görev bir serviste bulunmalıdır. Bir servis çerçevesinden (veya içindeki bir modülden) ekleyin.",
183
183
  "titleField": "Başlık",
184
184
  "titlePlaceholder": "Ne yapılması gerekiyor?",
185
- "titlePlaceholderReview": "İsteğe bağlı — pull request'ten türetilir",
186
185
  "issueIncluded": "{title} (sorundan, dahil edildi)",
187
186
  "loadingIssue": "Bağlantılı sorunun açıklaması yükleniyor…",
188
187
  "additionalNotes": "Ek notlar",
@@ -182,7 +182,6 @@
182
182
  "recurringNoFrame": "Періодичне завдання має належати сервісу. Додайте його з рамки сервісу (або модуля всередині неї).",
183
183
  "titleField": "Назва",
184
184
  "titlePlaceholder": "Що потрібно зробити?",
185
- "titlePlaceholderReview": "Необов’язково — формується з pull request",
186
185
  "issueIncluded": "{title} (зі звернення, включено)",
187
186
  "loadingIssue": "Завантаження опису пов’язаного звернення…",
188
187
  "additionalNotes": "Додаткові примітки",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cat-factory/app",
3
- "version": "0.143.0",
3
+ "version": "0.143.1",
4
4
  "description": "Reusable Nuxt layer for the Agent Architecture Board SPA (components, stores, composables, pages). Consume it from a thin deployment app via `extends: ['@cat-factory/app']` and point it at your backend with NUXT_PUBLIC_API_BASE. See deploy/frontend for an example.",
5
5
  "repository": {
6
6
  "type": "git",