Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/copy-pr-link.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"kilo-code": patch
---

Add a button to copy pull request links from the Agent Manager PR panel.
1 change: 1 addition & 0 deletions packages/kilo-vscode/webview-ui/agent-manager/i18n/ar.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions packages/kilo-vscode/webview-ui/agent-manager/i18n/br.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions packages/kilo-vscode/webview-ui/agent-manager/i18n/bs.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions packages/kilo-vscode/webview-ui/agent-manager/i18n/da.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions packages/kilo-vscode/webview-ui/agent-manager/i18n/de.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down
1 change: 1 addition & 0 deletions packages/kilo-vscode/webview-ui/agent-manager/i18n/en.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down
1 change: 1 addition & 0 deletions packages/kilo-vscode/webview-ui/agent-manager/i18n/es.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions packages/kilo-vscode/webview-ui/agent-manager/i18n/fa.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions packages/kilo-vscode/webview-ui/agent-manager/i18n/fr.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions packages/kilo-vscode/webview-ui/agent-manager/i18n/it.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions packages/kilo-vscode/webview-ui/agent-manager/i18n/ja.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions packages/kilo-vscode/webview-ui/agent-manager/i18n/ko.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions packages/kilo-vscode/webview-ui/agent-manager/i18n/nl.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions packages/kilo-vscode/webview-ui/agent-manager/i18n/no.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions packages/kilo-vscode/webview-ui/agent-manager/i18n/pl.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions packages/kilo-vscode/webview-ui/agent-manager/i18n/ru.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions packages/kilo-vscode/webview-ui/agent-manager/i18n/th.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions packages/kilo-vscode/webview-ui/agent-manager/i18n/tr.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions packages/kilo-vscode/webview-ui/agent-manager/i18n/uk.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions packages/kilo-vscode/webview-ui/agent-manager/i18n/zh.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions packages/kilo-vscode/webview-ui/agent-manager/i18n/zht.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
@@ -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)
}
Expand Down
6 changes: 6 additions & 0 deletions packages/kilo-vscode/webview-ui/agent-manager/pr/PRPanel.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand All @@ -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 {
Expand All @@ -27,6 +29,7 @@ interface PRPanelProps {
}

export const PRPanel: Component<PRPanelProps> = (props) => {
const { t } = useLanguage()
let commentsRef: HTMLDivElement | undefined
let bodyRef: HTMLDivElement | undefined
let capture: number | undefined
Expand Down Expand Up @@ -117,6 +120,9 @@ export const PRPanel: Component<PRPanelProps> = (props) => {
<span class="am-pr-panel-number">#{props.pr.number}</span>
</div>
<div class="am-pr-panel-actions am-pr-row">
<Tooltip value={t("agentManager.pr.copyLink")} placement="bottom">
<CopyButton text={props.pr.url} label={t("agentManager.pr.copyLink")} />
</Tooltip>
<Tooltip value="Open in browser" placement="bottom">
<IconButton
icon="link"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -822,6 +822,11 @@ export interface OpenWorktreeRequest {
worktreeId: string
}

export interface AgentManagerCopyToClipboardRequest {
type: "agentManager.copyToClipboard"
text: string
}

// Copy text to the system clipboard via the extension host
export interface CopyToClipboardRequest {
type: "copyToClipboard"
Expand Down Expand Up @@ -1591,6 +1596,7 @@ export type WebviewMessage =
| ShowLocalTerminalRequest
| ShowWorktreeTerminalRequest
| OpenWorktreeRequest
| AgentManagerCopyToClipboardRequest
| CopyToClipboardRequest
| ShowExistingLocalTerminalRequest
| AgentManagerOpenFileRequest
Expand Down
Loading