Skip to content

Commit fd225cd

Browse files
authored
Merge pull request #407 from ut-code/fix-term-tag
Fix term tag not rendering properly when reference link is not defined in definition.js
2 parents 5b8592e + 540ea73 commit fd225cd

File tree

1 file changed

+20
-7
lines changed

1 file changed

+20
-7
lines changed

src/components/Term/index.jsx

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,22 +22,35 @@ export default function Term({ type, strong = false, children }) {
2222
const location = useLocation();
2323

2424
const wrap = (content) => {
25-
// 現在のページで用語が初出であればリンクを表示する必要がない
26-
const shouldLinkToReferencePage = Boolean(
27-
location.pathname !== term.referencePage &&
28-
location.pathname + "/" !== term.referencePage,
29-
);
25+
const shouldLinkToReferencePage = () => {
26+
// referencePageがundefinedならばリンクを表示しない
27+
if (term.referencePage === undefined) return false;
28+
29+
// referencePageTitleがundefinedならばエラーを投げる (明らかに人的ミスのため)
30+
if (referencePageTitle === undefined) {
31+
throw new Error(
32+
`The page title of the reference \n" ${term.referencePage} " \n is not defined in referencePageTitles in "src/components/Term/definition.js"`,
33+
);
34+
}
35+
36+
// referencePageの#アンカーを除外
37+
const referenceLink = term.referencePage.split("#")[0];
38+
// 現在のページで用語が初出であればリンクを表示する必要がない
39+
if (location.pathname === referenceLink) return false;
40+
if (location.pathname + "/" === referenceLink) return false;
41+
return true;
42+
};
3043

3144
return (
3245
<Tippy
3346
theme="material"
34-
interactive={shouldLinkToReferencePage}
47+
interactive={shouldLinkToReferencePage()}
3548
appendTo={window.document.body}
3649
content={
3750
<div className={styles.tooltipContent}>
3851
<header className={styles.tooltipContentHeader}>{term.name}</header>
3952
<div>{term.definition}</div>
40-
{shouldLinkToReferencePage && (
53+
{shouldLinkToReferencePage() && (
4154
<Link className={styles.tooltipLink} to={term.referencePage}>
4255
<span>{referencePageTitle}</span>
4356
<MdArrowForward size="1.2rem" />

0 commit comments

Comments
 (0)