Show full SHAs in breadcrumbs

This commit is contained in:
Rūdolfs Ošiņš
2024-03-06 09:44:01 +01:00
parent 67e16ea7dd
commit 45479ddf47
5 changed files with 31 additions and 18 deletions
@@ -1,14 +1,12 @@
<script lang="ts">
import type { ProjectLoadedRoute } from "@app/views/projects/router";
import * as utils from "@app/lib/utils";
import { unreachable } from "@app/lib/utils";
import CopyableId from "@app/components/CopyableId.svelte";
import FilePath from "@app/components/FilePath.svelte";
import IconSmall from "@app/components/IconSmall.svelte";
import Link from "@app/components/Link.svelte";
import Separator from "./Separator.svelte";
import FilePath from "@app/components/FilePath.svelte";
export let activeRoute: ProjectLoadedRoute;
</script>
@@ -22,6 +20,11 @@
.segment :global(a:hover) {
color: var(--color-fill-secondary);
}
.id {
font-size: var(--font-size-small);
font-family: var(--font-family-monospace);
font-weight: var(--font-weight-semibold);
}
</style>
<span class="segment">
@@ -93,17 +96,17 @@
{#if activeRoute.resource === "project.commit"}
<Separator />
<CopyableId id={activeRoute.params.commit.commit.id} style="commit">
{utils.formatCommit(activeRoute.params.commit.commit.id)}
</CopyableId>
<span class="id">
{activeRoute.params.commit.commit.id}
</span>
{:else if activeRoute.resource === "project.issue"}
<Separator />
<CopyableId id={activeRoute.params.issue.id} style="oid">
{utils.formatObjectId(activeRoute.params.issue.id)}
</CopyableId>
<span class="id">
{activeRoute.params.issue.id}
</span>
{:else if activeRoute.resource === "project.patch"}
<Separator />
<CopyableId id={activeRoute.params.patch.id} style="oid">
{utils.formatObjectId(activeRoute.params.patch.id)}
</CopyableId>
<span class="id">
{activeRoute.params.patch.id}
</span>
{/if}
+4 -1
View File
@@ -5,6 +5,7 @@
import Changeset from "@app/views/projects/Changeset.svelte";
import CommitAuthorship from "@app/views/projects/Commit/CommitAuthorship.svelte";
import CopyableId from "@app/components/CopyableId.svelte";
import InlineMarkdown from "@app/components/InlineMarkdown.svelte";
import Layout from "./Layout.svelte";
import Share from "./Share.svelte";
@@ -49,7 +50,9 @@
<Share {baseUrl} />
</span>
<CommitAuthorship {header}>
<span class="global-commit">{formatCommit(header.id)}</span>
<CopyableId id={header.id} style="commit">
{formatCommit(header.id)}
</CopyableId>
</CommitAuthorship>
</div>
{#if header.description}
@@ -16,6 +16,7 @@
font-size: var(--font-size-small);
gap: 0.5rem;
flex-wrap: wrap;
align-items: center;
}
.person {
display: flex;
+6 -3
View File
@@ -24,13 +24,14 @@
import AssigneeInput from "@app/views/projects/Cob/AssigneeInput.svelte";
import Badge from "@app/components/Badge.svelte";
import Button from "@app/components/Button.svelte";
import CobHeader from "@app/views/projects/Cob/CobHeader.svelte";
import CobStateButton from "@app/views/projects/Cob/CobStateButton.svelte";
import CommentToggleInput from "@app/components/CommentToggleInput.svelte";
import CopyableId from "@app/components/CopyableId.svelte";
import Embeds from "@app/views/projects/Cob/Embeds.svelte";
import ErrorModal from "@app/modals/ErrorModal.svelte";
import ExtendedTextarea from "@app/components/ExtendedTextarea.svelte";
import Button from "@app/components/Button.svelte";
import IconSmall from "@app/components/IconSmall.svelte";
import InlineMarkdown from "@app/components/InlineMarkdown.svelte";
import LabelInput from "./Cob/LabelInput.svelte";
@@ -39,9 +40,9 @@
import NodeId from "@app/components/NodeId.svelte";
import ReactionSelector from "@app/components/ReactionSelector.svelte";
import Reactions from "@app/components/Reactions.svelte";
import Share from "@app/views/projects/Share.svelte";
import TextInput from "@app/components/TextInput.svelte";
import ThreadComponent from "@app/components/Thread.svelte";
import Share from "./Share.svelte";
export let baseUrl: BaseUrl;
export let issue: Issue;
@@ -601,7 +602,9 @@
<div class="author" slot="author">
<NodeId nodeId={issue.author.id} alias={issue.author.alias} />
opened
<span class="global-oid">{utils.formatObjectId(issue.id)}</span>
<CopyableId id={issue.id} style="oid">
{utils.formatObjectId(issue.id)}
</CopyableId>
<span title={utils.absoluteTimestamp(issue.discussion[0].timestamp)}>
{utils.formatTimestamp(issue.discussion[0].timestamp)}
</span>
+5 -2
View File
@@ -60,6 +60,7 @@
import CobHeader from "@app/views/projects/Cob/CobHeader.svelte";
import CobStateButton from "@app/views/projects/Cob/CobStateButton.svelte";
import CommentToggleInput from "@app/components/CommentToggleInput.svelte";
import CopyableId from "@app/components/CopyableId.svelte";
import DropdownList from "@app/components/DropdownList.svelte";
import DropdownListItem from "@app/components/DropdownList/DropdownListItem.svelte";
import Embeds from "@app/views/projects/Cob/Embeds.svelte";
@@ -78,8 +79,8 @@
import ReactionSelector from "@app/components/ReactionSelector.svelte";
import Reactions from "@app/components/Reactions.svelte";
import RevisionComponent from "@app/views/projects/Cob/Revision.svelte";
import Share from "@app/views/projects/Share.svelte";
import TextInput from "@app/components/TextInput.svelte";
import Share from "./Share.svelte";
export let baseUrl: BaseUrl;
export let patch: Patch;
@@ -834,7 +835,9 @@
<div class="author" slot="author">
<NodeId nodeId={patch.author.id} alias={patch.author.alias} />
opened
<span class="global-oid">{utils.formatObjectId(patch.id)}</span>
<CopyableId id={patch.id} style="oid">
{utils.formatObjectId(patch.id)}
</CopyableId>
<span title={utils.absoluteTimestamp(patch.revisions[0].timestamp)}>
{utils.formatTimestamp(patch.revisions[0].timestamp)}
</span>