diff --git a/src/views/repo/BreadcrumbCopyButton.svelte b/src/views/repo/BreadcrumbCopyButton.svelte index 62a0ebe68..ac3c6e831 100644 --- a/src/views/repo/BreadcrumbCopyButton.svelte +++ b/src/views/repo/BreadcrumbCopyButton.svelte @@ -4,18 +4,22 @@ import { writeToClipboard } from "@app/lib/invoke"; import debounce from "lodash/debounce"; - import Icon from "@app/components/Icon.svelte"; - import Popover, { closeFocused } from "@app/components/Popover.svelte"; - import DropdownListItem from "@app/components/DropdownListItem.svelte"; + import { closeFocused } from "@app/components/Popover.svelte"; + import Border from "@app/components/Border.svelte"; + import DropdownListItem from "@app/components/DropdownListItem.svelte"; + import Icon from "@app/components/Icon.svelte"; + import Popover from "@app/components/Popover.svelte"; interface Props { icon: ComponentProps["name"]; id: string; url: string; + id2?: string; + icon2?: ComponentProps["name"]; } - const { icon, id, url }: Props = $props(); + const { icon, icon2, id, id2, url }: Props = $props(); let popoverExpanded: boolean = $state(false); let triggerIcon: ComponentProps["name"] = $state("copy"); @@ -54,6 +58,24 @@ + {#if id2 && icon2} + { + await writeToClipboard(id2); + triggerIcon = "checkmark"; + restoreIcon(); + closeFocused(); + }} + styleWidth="100%"> +
+ + {id2} + +
+
+ {/if} + icon={patch.state.status === "open" + ? "patch" + : `patch-${patch.state.status}`} + id={patch.id} + icon2={revisions.length > 1 ? "revision" : undefined} + id2={revisions.length > 1 && + selectedRevision.id !== revisions[0].id && + tab !== "patch" + ? selectedRevision.id + : undefined} /> {/if} {/snippet}