fix(backlinks): navigate via buildPageUrl so reference clicks work

handleNavigate hand-built /<space>/page/<slugId>, a route that does
not exist (real route is /s/<space>/p/<slug-id>), so clicking any
linked reference did nothing. Use the canonical buildPageUrl helper,
same as the wikilink node.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Corentin JOGUET 2026-05-18 11:42:00 +00:00
parent a1f2ee9e0a
commit 5e0f5cf49e

View file

@ -20,6 +20,7 @@ import {
} from '@tabler/icons-react'; } from '@tabler/icons-react';
import { useNavigate } from 'react-router-dom'; import { useNavigate } from 'react-router-dom';
import { useTranslation } from 'react-i18next'; import { useTranslation } from 'react-i18next';
import { buildPageUrl } from '@/features/page/page.utils.ts';
import { useBacklinks } from '../queries/backlinks-query'; import { useBacklinks } from '../queries/backlinks-query';
import type { BacklinkEntry } from '../queries/backlinks-query'; import type { BacklinkEntry } from '../queries/backlinks-query';
import classes from './linked-references-panel.module.css'; import classes from './linked-references-panel.module.css';
@ -84,10 +85,17 @@ export function LinkedReferencesPanel({ pageId }: LinkedReferencesPanelProps) {
const handleNavigate = (entry: BacklinkEntry) => { const handleNavigate = (entry: BacklinkEntry) => {
if (entry.source.slugId) { if (entry.source.slugId) {
// Navigate to the source page that links here. // Use the canonical builder so links land on the real
// The full path includes the space slug — fall back to page UUID if slugId only. // /s/<space>/p/<slug-id> route (same helper the wikilink node uses).
const spacePart = entry.source.spaceSlug ? `/${entry.source.spaceSlug}` : ''; // The previous hand-built `/<space>/page/<slugId>` path matched no
navigate(`${spacePart}/page/${entry.source.slugId}`); // route, so clicking a reference did nothing.
navigate(
buildPageUrl(
entry.source.spaceSlug ?? undefined,
entry.source.slugId,
entry.source.title ?? undefined,
),
);
} }
}; };