From 2a9dcbe8957f4c0dc5dfbd3c03afcc718da022d7 Mon Sep 17 00:00:00 2001 From: Marius Date: Mon, 24 Aug 2026 12:08:01 +0200 Subject: [PATCH] feat(agent-manager): add PR link copy button (#13353) --- .changeset/copy-pr-link.md | 5 +++++ packages/kilo-vscode/webview-ui/agent-manager/i18n/ar.ts | 1 + packages/kilo-vscode/webview-ui/agent-manager/i18n/br.ts | 1 + packages/kilo-vscode/webview-ui/agent-manager/i18n/bs.ts | 1 + packages/kilo-vscode/webview-ui/agent-manager/i18n/da.ts | 1 + packages/kilo-vscode/webview-ui/agent-manager/i18n/de.ts | 1 + packages/kilo-vscode/webview-ui/agent-manager/i18n/en.ts | 1 + packages/kilo-vscode/webview-ui/agent-manager/i18n/es.ts | 1 + packages/kilo-vscode/webview-ui/agent-manager/i18n/fa.ts | 1 + packages/kilo-vscode/webview-ui/agent-manager/i18n/fr.ts | 1 + packages/kilo-vscode/webview-ui/agent-manager/i18n/it.ts | 1 + packages/kilo-vscode/webview-ui/agent-manager/i18n/ja.ts | 1 + packages/kilo-vscode/webview-ui/agent-manager/i18n/ko.ts | 1 + packages/kilo-vscode/webview-ui/agent-manager/i18n/nl.ts | 1 + packages/kilo-vscode/webview-ui/agent-manager/i18n/no.ts | 1 + packages/kilo-vscode/webview-ui/agent-manager/i18n/pl.ts | 1 + packages/kilo-vscode/webview-ui/agent-manager/i18n/ru.ts | 1 + packages/kilo-vscode/webview-ui/agent-manager/i18n/th.ts | 1 + packages/kilo-vscode/webview-ui/agent-manager/i18n/tr.ts | 1 + packages/kilo-vscode/webview-ui/agent-manager/i18n/uk.ts | 1 + packages/kilo-vscode/webview-ui/agent-manager/i18n/zh.ts | 1 + packages/kilo-vscode/webview-ui/agent-manager/i18n/zht.ts | 1 + .../kilo-vscode/webview-ui/agent-manager/pr/CopyButton.tsx | 4 +++- .../kilo-vscode/webview-ui/agent-manager/pr/PRPanel.tsx | 6 ++++++ .../webview-ui/src/types/messages/webview-messages.ts | 6 ++++++ 25 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 .changeset/copy-pr-link.md diff --git a/.changeset/copy-pr-link.md b/.changeset/copy-pr-link.md new file mode 100644 index 0000000000..411e28f6f8 --- /dev/null +++ b/.changeset/copy-pr-link.md @@ -0,0 +1,5 @@ +--- +"kilo-code": patch +--- + +Add a button to copy pull request links from the Agent Manager PR panel. diff --git a/packages/kilo-vscode/webview-ui/agent-manager/i18n/ar.ts b/packages/kilo-vscode/webview-ui/agent-manager/i18n/ar.ts index d35d091c37..f17534484d 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/i18n/ar.ts +++ b/packages/kilo-vscode/webview-ui/agent-manager/i18n/ar.ts @@ -194,6 +194,7 @@ export const dict = { "agentManager.review.metaComment": "تعليق المستخدم", "agentManager.review.metaAuthor": "المؤلف", "agentManager.pr.comment.title": "التعليقات", + "agentManager.pr.copyLink": "نسخ رابط PR", "agentManager.pr.comment.unresolvedCount": "{{count}} غير محلولة", "agentManager.pr.comment.resolvedGroup": "تم الحل ({{count}})", "agentManager.pr.comment.sendAll": "إرسال {{count}} غير محلولة إلى الوكيل", diff --git a/packages/kilo-vscode/webview-ui/agent-manager/i18n/br.ts b/packages/kilo-vscode/webview-ui/agent-manager/i18n/br.ts index 3b41c65b31..b8604ec729 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/i18n/br.ts +++ b/packages/kilo-vscode/webview-ui/agent-manager/i18n/br.ts @@ -197,6 +197,7 @@ export const dict = { "agentManager.review.metaComment": "Comentário do usuário", "agentManager.review.metaAuthor": "Autor", "agentManager.pr.comment.title": "Comentários", + "agentManager.pr.copyLink": "Copiar link do PR", "agentManager.pr.comment.unresolvedCount": "{{count}} não resolvidos", "agentManager.pr.comment.resolvedGroup": "Resolvidos ({{count}})", "agentManager.pr.comment.sendAll": "Enviar {{count}} não resolvidos para o agente", diff --git a/packages/kilo-vscode/webview-ui/agent-manager/i18n/bs.ts b/packages/kilo-vscode/webview-ui/agent-manager/i18n/bs.ts index 2df638fe30..e22dc11ff2 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/i18n/bs.ts +++ b/packages/kilo-vscode/webview-ui/agent-manager/i18n/bs.ts @@ -197,6 +197,7 @@ export const dict = { "agentManager.review.metaComment": "Komentar korisnika", "agentManager.review.metaAuthor": "Autor", "agentManager.pr.comment.title": "Komentari", + "agentManager.pr.copyLink": "Kopiraj PR vezu", "agentManager.pr.comment.unresolvedCount": "{{count}} neriješenih", "agentManager.pr.comment.resolvedGroup": "Riješeno ({{count}})", "agentManager.pr.comment.sendAll": "Pošalji {{count}} neriješenih agentu", diff --git a/packages/kilo-vscode/webview-ui/agent-manager/i18n/da.ts b/packages/kilo-vscode/webview-ui/agent-manager/i18n/da.ts index df1c772d64..7f98c83c70 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/i18n/da.ts +++ b/packages/kilo-vscode/webview-ui/agent-manager/i18n/da.ts @@ -198,6 +198,7 @@ export const dict = { "agentManager.review.metaComment": "Brugerkommentar", "agentManager.review.metaAuthor": "Forfatter", "agentManager.pr.comment.title": "Kommentarer", + "agentManager.pr.copyLink": "Kopiér PR-link", "agentManager.pr.comment.unresolvedCount": "{{count}} uløste", "agentManager.pr.comment.resolvedGroup": "Løste ({{count}})", "agentManager.pr.comment.sendAll": "Send {{count}} uløste til agenten", diff --git a/packages/kilo-vscode/webview-ui/agent-manager/i18n/de.ts b/packages/kilo-vscode/webview-ui/agent-manager/i18n/de.ts index 552a891ca0..870f4ef0af 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/i18n/de.ts +++ b/packages/kilo-vscode/webview-ui/agent-manager/i18n/de.ts @@ -199,6 +199,7 @@ export const dict = { "agentManager.review.metaComment": "Benutzerkommentar", "agentManager.review.metaAuthor": "Autor", "agentManager.pr.comment.title": "Kommentare", + "agentManager.pr.copyLink": "PR-Link kopieren", "agentManager.pr.comment.unresolvedCount": "{{count}} ungelöst", "agentManager.pr.comment.resolvedGroup": "Gelöst ({{count}})", "agentManager.pr.comment.sendAll": "{{count}} ungelöste an Agent senden", diff --git a/packages/kilo-vscode/webview-ui/agent-manager/i18n/en.ts b/packages/kilo-vscode/webview-ui/agent-manager/i18n/en.ts index ce9e101a36..98ac2cbb48 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/i18n/en.ts +++ b/packages/kilo-vscode/webview-ui/agent-manager/i18n/en.ts @@ -200,6 +200,7 @@ export const dict = { "agentManager.review.metaComment": "User comment", "agentManager.review.metaAuthor": "Author", "agentManager.pr.comment.title": "Comments", + "agentManager.pr.copyLink": "Copy PR link", "agentManager.pr.comment.unresolvedCount": "{{count}} unresolved", "agentManager.pr.comment.resolvedGroup": "Resolved ({{count}})", "agentManager.pr.comment.sendAll": "Send {{count}} unresolved to agent", diff --git a/packages/kilo-vscode/webview-ui/agent-manager/i18n/es.ts b/packages/kilo-vscode/webview-ui/agent-manager/i18n/es.ts index e15f18c143..361ddc4564 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/i18n/es.ts +++ b/packages/kilo-vscode/webview-ui/agent-manager/i18n/es.ts @@ -198,6 +198,7 @@ export const dict = { "agentManager.review.metaComment": "Comentario del usuario", "agentManager.review.metaAuthor": "Autor", "agentManager.pr.comment.title": "Comentarios", + "agentManager.pr.copyLink": "Copiar enlace del PR", "agentManager.pr.comment.unresolvedCount": "{{count}} sin resolver", "agentManager.pr.comment.resolvedGroup": "Resueltos ({{count}})", "agentManager.pr.comment.sendAll": "Enviar {{count}} sin resolver al agente", diff --git a/packages/kilo-vscode/webview-ui/agent-manager/i18n/fa.ts b/packages/kilo-vscode/webview-ui/agent-manager/i18n/fa.ts index 9f296ceb37..c4bafd3fab 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/i18n/fa.ts +++ b/packages/kilo-vscode/webview-ui/agent-manager/i18n/fa.ts @@ -201,6 +201,7 @@ export const dict = { "agentManager.review.metaComment": "نظر کاربر", "agentManager.review.metaAuthor": "نویسنده", "agentManager.pr.comment.title": "نظرات", + "agentManager.pr.copyLink": "کپی پیوند PR", "agentManager.pr.comment.unresolvedCount": "{{count}} حل‌نشده", "agentManager.pr.comment.resolvedGroup": "حل‌شده ({{count}})", "agentManager.pr.comment.sendAll": "ارسال {{count}} مورد حل‌نشده به عامل", diff --git a/packages/kilo-vscode/webview-ui/agent-manager/i18n/fr.ts b/packages/kilo-vscode/webview-ui/agent-manager/i18n/fr.ts index feac00e569..7668580f55 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/i18n/fr.ts +++ b/packages/kilo-vscode/webview-ui/agent-manager/i18n/fr.ts @@ -199,6 +199,7 @@ export const dict = { "agentManager.review.metaComment": "Commentaire de l'utilisateur", "agentManager.review.metaAuthor": "Auteur", "agentManager.pr.comment.title": "Commentaires", + "agentManager.pr.copyLink": "Copier le lien du PR", "agentManager.pr.comment.unresolvedCount": "{{count}} non résolus", "agentManager.pr.comment.resolvedGroup": "Résolus ({{count}})", "agentManager.pr.comment.sendAll": "Envoyer {{count}} non résolus à l’agent", diff --git a/packages/kilo-vscode/webview-ui/agent-manager/i18n/it.ts b/packages/kilo-vscode/webview-ui/agent-manager/i18n/it.ts index b87103e651..306f439777 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/i18n/it.ts +++ b/packages/kilo-vscode/webview-ui/agent-manager/i18n/it.ts @@ -204,6 +204,7 @@ export const dict = { "agentManager.review.metaComment": "Commento utente", "agentManager.review.metaAuthor": "Autore", "agentManager.pr.comment.title": "Commenti", + "agentManager.pr.copyLink": "Copia link PR", "agentManager.pr.comment.unresolvedCount": "{{count}} non risolti", "agentManager.pr.comment.resolvedGroup": "Risolti ({{count}})", "agentManager.pr.comment.sendAll": "Invia {{count}} non risolti all'agente", diff --git a/packages/kilo-vscode/webview-ui/agent-manager/i18n/ja.ts b/packages/kilo-vscode/webview-ui/agent-manager/i18n/ja.ts index 0c826fd823..4938e07895 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/i18n/ja.ts +++ b/packages/kilo-vscode/webview-ui/agent-manager/i18n/ja.ts @@ -198,6 +198,7 @@ export const dict = { "agentManager.review.metaComment": "ユーザーコメント", "agentManager.review.metaAuthor": "作成者", "agentManager.pr.comment.title": "コメント", + "agentManager.pr.copyLink": "PRリンクをコピー", "agentManager.pr.comment.unresolvedCount": "{{count}} 件未解決", "agentManager.pr.comment.resolvedGroup": "解決済み ({{count}})", "agentManager.pr.comment.sendAll": "{{count}} 件の未解決コメントをエージェントに送信", diff --git a/packages/kilo-vscode/webview-ui/agent-manager/i18n/ko.ts b/packages/kilo-vscode/webview-ui/agent-manager/i18n/ko.ts index 249e55c324..60ab9d8a9c 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/i18n/ko.ts +++ b/packages/kilo-vscode/webview-ui/agent-manager/i18n/ko.ts @@ -196,6 +196,7 @@ export const dict = { "agentManager.review.metaComment": "사용자 코멘트", "agentManager.review.metaAuthor": "작성자", "agentManager.pr.comment.title": "댓글", + "agentManager.pr.copyLink": "PR 링크 복사", "agentManager.pr.comment.unresolvedCount": "{{count}}개 미해결", "agentManager.pr.comment.resolvedGroup": "해결됨 ({{count}})", "agentManager.pr.comment.sendAll": "{{count}}개 미해결 댓글을 에이전트로 보내기", diff --git a/packages/kilo-vscode/webview-ui/agent-manager/i18n/nl.ts b/packages/kilo-vscode/webview-ui/agent-manager/i18n/nl.ts index f59e9a8c16..28fc682c60 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/i18n/nl.ts +++ b/packages/kilo-vscode/webview-ui/agent-manager/i18n/nl.ts @@ -203,6 +203,7 @@ export const dict = { "agentManager.review.metaComment": "Gebruikersopmerking", "agentManager.review.metaAuthor": "Auteur", "agentManager.pr.comment.title": "Opmerkingen", + "agentManager.pr.copyLink": "PR-link kopiëren", "agentManager.pr.comment.unresolvedCount": "{{count}} onopgelost", "agentManager.pr.comment.resolvedGroup": "Opgelost ({{count}})", "agentManager.pr.comment.sendAll": "{{count}} onopgeloste opmerkingen naar agent sturen", diff --git a/packages/kilo-vscode/webview-ui/agent-manager/i18n/no.ts b/packages/kilo-vscode/webview-ui/agent-manager/i18n/no.ts index 509c3e3d93..ac00ffa117 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/i18n/no.ts +++ b/packages/kilo-vscode/webview-ui/agent-manager/i18n/no.ts @@ -195,6 +195,7 @@ export const dict = { "agentManager.review.metaComment": "Brukerkommentar", "agentManager.review.metaAuthor": "Forfatter", "agentManager.pr.comment.title": "Kommentarer", + "agentManager.pr.copyLink": "Kopier PR-lenke", "agentManager.pr.comment.unresolvedCount": "{{count}} uløste", "agentManager.pr.comment.resolvedGroup": "Løste ({{count}})", "agentManager.pr.comment.sendAll": "Send {{count}} uløste til agenten", diff --git a/packages/kilo-vscode/webview-ui/agent-manager/i18n/pl.ts b/packages/kilo-vscode/webview-ui/agent-manager/i18n/pl.ts index bb7091f189..604fe538f5 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/i18n/pl.ts +++ b/packages/kilo-vscode/webview-ui/agent-manager/i18n/pl.ts @@ -197,6 +197,7 @@ export const dict = { "agentManager.review.metaComment": "Komentarz użytkownika", "agentManager.review.metaAuthor": "Autor", "agentManager.pr.comment.title": "Komentarze", + "agentManager.pr.copyLink": "Kopiuj link do PR", "agentManager.pr.comment.unresolvedCount": "{{count}} nierozwiązanych", "agentManager.pr.comment.resolvedGroup": "Rozwiązane ({{count}})", "agentManager.pr.comment.sendAll": "Wyślij {{count}} nierozwiązanych do agenta", diff --git a/packages/kilo-vscode/webview-ui/agent-manager/i18n/ru.ts b/packages/kilo-vscode/webview-ui/agent-manager/i18n/ru.ts index b3b8c9f5ab..eaec5e77e8 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/i18n/ru.ts +++ b/packages/kilo-vscode/webview-ui/agent-manager/i18n/ru.ts @@ -198,6 +198,7 @@ export const dict = { "agentManager.review.metaComment": "Комментарий пользователя", "agentManager.review.metaAuthor": "Автор", "agentManager.pr.comment.title": "Комментарии", + "agentManager.pr.copyLink": "Копировать ссылку на PR", "agentManager.pr.comment.unresolvedCount": "{{count}} нерешённых", "agentManager.pr.comment.resolvedGroup": "Решённые ({{count}})", "agentManager.pr.comment.sendAll": "Отправить {{count}} нерешённых агенту", diff --git a/packages/kilo-vscode/webview-ui/agent-manager/i18n/th.ts b/packages/kilo-vscode/webview-ui/agent-manager/i18n/th.ts index 17fa6c98f4..8a49bd7d67 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/i18n/th.ts +++ b/packages/kilo-vscode/webview-ui/agent-manager/i18n/th.ts @@ -192,6 +192,7 @@ export const dict = { "agentManager.review.metaComment": "ความคิดเห็นของผู้ใช้", "agentManager.review.metaAuthor": "ผู้เขียน", "agentManager.pr.comment.title": "ความคิดเห็น", + "agentManager.pr.copyLink": "คัดลอกลิงก์ PR", "agentManager.pr.comment.unresolvedCount": "ยังไม่แก้ไข {{count}} รายการ", "agentManager.pr.comment.resolvedGroup": "แก้ไขแล้ว ({{count}})", "agentManager.pr.comment.sendAll": "ส่งความคิดเห็นที่ยังไม่แก้ไข {{count}} รายการไปยังเอเจนต์", diff --git a/packages/kilo-vscode/webview-ui/agent-manager/i18n/tr.ts b/packages/kilo-vscode/webview-ui/agent-manager/i18n/tr.ts index 9ba857cd16..c591acfbe0 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/i18n/tr.ts +++ b/packages/kilo-vscode/webview-ui/agent-manager/i18n/tr.ts @@ -205,6 +205,7 @@ export const dict = { "agentManager.review.metaComment": "Kullanıcı yorumu", "agentManager.review.metaAuthor": "Yazar", "agentManager.pr.comment.title": "Yorumlar", + "agentManager.pr.copyLink": "PR bağlantısını kopyala", "agentManager.pr.comment.unresolvedCount": "{{count}} çözülmemiş", "agentManager.pr.comment.resolvedGroup": "Çözüldü ({{count}})", "agentManager.pr.comment.sendAll": "{{count}} çözülmemiş yorumu ajana gönder", diff --git a/packages/kilo-vscode/webview-ui/agent-manager/i18n/uk.ts b/packages/kilo-vscode/webview-ui/agent-manager/i18n/uk.ts index d2ad3fa90b..e7dcf15eab 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/i18n/uk.ts +++ b/packages/kilo-vscode/webview-ui/agent-manager/i18n/uk.ts @@ -206,6 +206,7 @@ export const dict = { "agentManager.review.metaComment": "Коментар користувача", "agentManager.review.metaAuthor": "Автор", "agentManager.pr.comment.title": "Коментарі", + "agentManager.pr.copyLink": "Копіювати посилання на PR", "agentManager.pr.comment.unresolvedCount": "{{count}} невирішених", "agentManager.pr.comment.resolvedGroup": "Вирішено ({{count}})", "agentManager.pr.comment.sendAll": "Надіслати {{count}} невирішених агенту", diff --git a/packages/kilo-vscode/webview-ui/agent-manager/i18n/zh.ts b/packages/kilo-vscode/webview-ui/agent-manager/i18n/zh.ts index 809f19636f..b616af3abf 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/i18n/zh.ts +++ b/packages/kilo-vscode/webview-ui/agent-manager/i18n/zh.ts @@ -190,6 +190,7 @@ export const dict = { "agentManager.review.metaComment": "用户评论", "agentManager.review.metaAuthor": "作者", "agentManager.pr.comment.title": "评论", + "agentManager.pr.copyLink": "复制 PR 链接", "agentManager.pr.comment.unresolvedCount": "{{count}} 个未解决", "agentManager.pr.comment.resolvedGroup": "已解决 ({{count}})", "agentManager.pr.comment.sendAll": "将 {{count}} 个未解决评论发送给代理", diff --git a/packages/kilo-vscode/webview-ui/agent-manager/i18n/zht.ts b/packages/kilo-vscode/webview-ui/agent-manager/i18n/zht.ts index 6d0c5c0beb..6ac5ed1493 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/i18n/zht.ts +++ b/packages/kilo-vscode/webview-ui/agent-manager/i18n/zht.ts @@ -190,6 +190,7 @@ export const dict = { "agentManager.review.metaComment": "使用者評論", "agentManager.review.metaAuthor": "作者", "agentManager.pr.comment.title": "留言", + "agentManager.pr.copyLink": "複製 PR 連結", "agentManager.pr.comment.unresolvedCount": "{{count}} 個未解決", "agentManager.pr.comment.resolvedGroup": "已解決 ({{count}})", "agentManager.pr.comment.sendAll": "將 {{count}} 個未解決留言傳送給代理", diff --git a/packages/kilo-vscode/webview-ui/agent-manager/pr/CopyButton.tsx b/packages/kilo-vscode/webview-ui/agent-manager/pr/CopyButton.tsx index 4a856df8d5..141ebe407c 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/pr/CopyButton.tsx +++ b/packages/kilo-vscode/webview-ui/agent-manager/pr/CopyButton.tsx @@ -1,11 +1,13 @@ /** @jsxImportSource solid-js */ import { createSignal } from "solid-js" import { IconButton } from "@kilocode/kilo-ui/icon-button" +import { useVSCode } from "../../src/context/vscode" export function CopyButton(props: { text: string; label?: string; class?: string }) { + const vscode = useVSCode() const [copied, setCopied] = createSignal(false) const copy = () => { - navigator.clipboard.writeText(props.text) + vscode.postMessage({ type: "agentManager.copyToClipboard", text: props.text }) setCopied(true) setTimeout(() => setCopied(false), 1500) } diff --git a/packages/kilo-vscode/webview-ui/agent-manager/pr/PRPanel.tsx b/packages/kilo-vscode/webview-ui/agent-manager/pr/PRPanel.tsx index 5ea5515009..82b55f0884 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/pr/PRPanel.tsx +++ b/packages/kilo-vscode/webview-ui/agent-manager/pr/PRPanel.tsx @@ -4,6 +4,7 @@ import { IconButton } from "@kilocode/kilo-ui/icon-button" import { Tooltip } from "@kilocode/kilo-ui/tooltip" import type { WorktreeState } from "../../src/types/messages" import type { PRStatus } from "../../src/types/messages" +import { useLanguage } from "../../src/context/language" import { PRBadge } from "./PRBadge" import { PROverview } from "./PROverview" import { PRReviewers } from "./PRReviewers" @@ -12,6 +13,7 @@ import { PRChecks } from "./PRChecks" import { PRComments } from "./PRComments" import { commentScroll, setCommentScroll } from "./pr-comment-state" import { PRSummary } from "./PRSummary" +import { CopyButton } from "./CopyButton" import "./pr-panel.css" interface PRPanelProps { @@ -27,6 +29,7 @@ interface PRPanelProps { } export const PRPanel: Component = (props) => { + const { t } = useLanguage() let commentsRef: HTMLDivElement | undefined let bodyRef: HTMLDivElement | undefined let capture: number | undefined @@ -117,6 +120,9 @@ export const PRPanel: Component = (props) => { #{props.pr.number}
+ + +