fix: resolve semantic documentation deep links
Module Package Release / publish-packages (push) Successful in 12s
Module Package Release / publish-packages (push) Successful in 12s
This commit is contained in:
@@ -83,7 +83,17 @@ export default function SemanticDocumentationPage({ settings }: { settings: ApiS
|
||||
setEntries(nextEntries);
|
||||
const requestedEntry = searchParams.get("entryId");
|
||||
const entry = nextEntries.find((item) => item.id === requestedEntry) ?? selectedEntry;
|
||||
if (entry) selectExisting(entry, nextSubjects);
|
||||
if (entry) {
|
||||
selectExisting(entry, nextSubjects);
|
||||
} else {
|
||||
const requestedSubject = nextSubjects.find((item) => (
|
||||
item.reference.module_id === searchParams.get("module")
|
||||
&& item.reference.subject_kind === searchParams.get("subjectKind")
|
||||
&& item.reference.subject_id === searchParams.get("subjectId")
|
||||
&& (item.route_anchor ?? "") === (searchParams.get("routeAnchor") ?? "")
|
||||
));
|
||||
if (requestedSubject) selectNew(requestedSubject, nextEntries);
|
||||
}
|
||||
} catch (reason) {
|
||||
setError(adminErrorMessage(reason));
|
||||
} finally {
|
||||
@@ -155,8 +165,8 @@ export default function SemanticDocumentationPage({ settings }: { settings: ApiS
|
||||
setSearchParams({ entryId: entry.id, locale: entry.locale }, { replace: true });
|
||||
}
|
||||
|
||||
function selectNew(subject: SemanticSubjectDescriptor) {
|
||||
const existing = entries.find((entry) => entry.locale === locale && sameSubject(entry.subject, subject.reference));
|
||||
function selectNew(subject: SemanticSubjectDescriptor, availableEntries = entries) {
|
||||
const existing = availableEntries.find((entry) => entry.locale === locale && sameSubject(entry.subject, subject.reference));
|
||||
if (existing) {
|
||||
selectExisting(existing);
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user