mirror of
https://github.com/TriliumNext/Notes.git
synced 2025-09-19 10:15:22 +08:00
fix(in-app-help): in-app help buttons not pointing to the right page
This commit is contained in:
parent
28cb621bea
commit
be5e2f529f
37
src/public/app/widgets/floating_buttons/help_button.spec.ts
Normal file
37
src/public/app/widgets/floating_buttons/help_button.spec.ts
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
import { describe, expect, it } from "vitest";
|
||||||
|
import { byBookType, byNoteType } from "./help_button.js";
|
||||||
|
import fs from "fs";
|
||||||
|
import type { NoteMetaFile } from "../../../../services/meta/note_meta.js";
|
||||||
|
import type NoteMeta from "../../../../services/meta/note_meta.js";
|
||||||
|
|
||||||
|
describe("Help button", () => {
|
||||||
|
it("All help notes are accessible", () => {
|
||||||
|
function getNoteIds(item: NoteMeta | NoteMetaFile): string[] {
|
||||||
|
const items = [];
|
||||||
|
|
||||||
|
if ("noteId" in item && item.noteId) {
|
||||||
|
items.push(item.noteId);
|
||||||
|
}
|
||||||
|
|
||||||
|
const children = "files" in item ? item.files : item.children;
|
||||||
|
for (const child of children ?? []) {
|
||||||
|
items.push(getNoteIds(child));
|
||||||
|
}
|
||||||
|
return items.flat();
|
||||||
|
}
|
||||||
|
|
||||||
|
const allHelpNotes = [
|
||||||
|
...Object.values(byNoteType),
|
||||||
|
...Object.values(byBookType)
|
||||||
|
].filter((noteId) => noteId) as string[];
|
||||||
|
|
||||||
|
const meta: NoteMetaFile = JSON.parse(fs.readFileSync("src/public/app/doc_notes/en/User Guide/!!!meta.json", "utf-8"));
|
||||||
|
const allNoteIds = new Set(getNoteIds(meta));
|
||||||
|
|
||||||
|
for (const helpNote of allHelpNotes) {
|
||||||
|
if (!allNoteIds.has(helpNote)) {
|
||||||
|
expect.fail(`Help note with ID ${helpNote} does not exist in the in-app help.`);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
@ -12,13 +12,13 @@ const TPL = `
|
|||||||
</button>
|
</button>
|
||||||
`;
|
`;
|
||||||
|
|
||||||
const byNoteType: Record<Exclude<NoteType, "book">, string | null> = {
|
export const byNoteType: Record<Exclude<NoteType, "book">, string | null> = {
|
||||||
canvas: null,
|
canvas: null,
|
||||||
code: null,
|
code: null,
|
||||||
contentWidget: null,
|
contentWidget: null,
|
||||||
doc: null,
|
doc: null,
|
||||||
file: null,
|
file: null,
|
||||||
geoMap: "foPEtsL51pD2",
|
geoMap: "81SGnPGMk7Xc",
|
||||||
image: null,
|
image: null,
|
||||||
launcher: null,
|
launcher: null,
|
||||||
mermaid: null,
|
mermaid: null,
|
||||||
@ -31,10 +31,10 @@ const byNoteType: Record<Exclude<NoteType, "book">, string | null> = {
|
|||||||
webView: null
|
webView: null
|
||||||
};
|
};
|
||||||
|
|
||||||
const byBookType: Record<ViewTypeOptions, string | null> = {
|
export const byBookType: Record<ViewTypeOptions, string | null> = {
|
||||||
list: null,
|
list: null,
|
||||||
grid: null,
|
grid: null,
|
||||||
calendar: "fDGg7QcJg3Xm"
|
calendar: "xWbu3jpNWapp"
|
||||||
};
|
};
|
||||||
|
|
||||||
export default class ContextualHelpButton extends NoteContextAwareWidget {
|
export default class ContextualHelpButton extends NoteContextAwareWidget {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user