diff --git a/src/components/MetaBar.tsx b/src/components/MetaBar.tsx
index 8a41e95..903d954 100644
--- a/src/components/MetaBar.tsx
+++ b/src/components/MetaBar.tsx
@@ -2,8 +2,7 @@ import { BranchName, Breadcrumb, Flex, Text } from '@primer/components'
import { GitBranchIcon } from '@primer/octicons-react'
import { platform } from 'platforms'
import * as React from 'react'
-import { isOpenInNewWindowClick } from 'utils/general'
-import { loadWithPJAX } from 'utils/hooks/usePJAX'
+import { createAnchorClickHandler } from 'utils/general'
type Props = {
metaData: MetaData
@@ -18,7 +17,12 @@ export function MetaBar({ metaData }: Props) {
{userName}
-
+
{repoName}
@@ -30,12 +34,7 @@ export function MetaBar({ metaData }: Props) {
href={branchUrl}
as="a"
className={'branch-name'}
- onClick={e => {
- if (isOpenInNewWindowClick(e)) return
-
- e.preventDefault()
- loadWithPJAX(branchUrl, e.currentTarget)
- }}
+ onClick={createAnchorClickHandler(branchUrl)}
{...platform.delegatePJAXProps?.()}
>
{branchName || '...'}
diff --git a/src/utils/general.ts b/src/utils/general.ts
index 619b889..0b928c8 100644
--- a/src/utils/general.ts
+++ b/src/utils/general.ts
@@ -1,5 +1,6 @@
import { ReactElement } from 'react'
import * as ReactDOM from 'react-dom'
+import { loadWithPJAX } from './hooks/usePJAX'
export function pick(source: T, keys: string[]): Partial {
if (keys && typeof keys === 'object') {
@@ -219,3 +220,12 @@ export function resolveDiffGraphMeta(additions: number, deletions: number, chang
w = 5 - g - r
return { g, r, w }
}
+
+export function createAnchorClickHandler(url: string) {
+ return (e: React.MouseEvent) => {
+ if (isOpenInNewWindowClick(e)) return
+
+ e.preventDefault()
+ loadWithPJAX(url, e.currentTarget)
+ }
+}