Skip to content

Commit 6e6885b

Browse files
docstring addition and theory help function move
Only a single help button will appear depending on whether a theory help page exists or not build error fixes
1 parent c34fdad commit 6e6885b

File tree

5 files changed

+25
-36
lines changed

5 files changed

+25
-36
lines changed

packages/frontend/src/App.tsx

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
import { Repo } from "@automerge/automerge-repo";
22
import { BrowserWebSocketClientAdapter } from "@automerge/automerge-repo-network-websocket";
33
import { IndexedDBStorageAdapter } from "@automerge/automerge-repo-storage-indexeddb";
4-
import { useParams } from "@solidjs/router";
54
import { type FirebaseOptions, initializeApp } from "firebase/app";
65
import invariant from "tiny-invariant";
76
import * as uuid from "uuid";
7+
import { TheoryHelpPage } from "./model/model_editor";
88

99
import { MultiProvider } from "@solid-primitives/context";
1010
import { Navigate, type RouteDefinition, type RouteSectionProps, Router } from "@solidjs/router";
@@ -45,18 +45,6 @@ const Root = (props: RouteSectionProps<unknown>) => {
4545
);
4646
};
4747

48-
export function TheoryHelpPage() {
49-
const params = useParams();
50-
const page = params.page;
51-
invariant(page, "Help page must be provided");
52-
const Page = lazyMdx(() => import(`./help/theory_documentation/${page}.mdx`));
53-
return (
54-
<div class="help-container">
55-
<Page />
56-
</div>
57-
);
58-
}
59-
6048
function CreateModel() {
6149
const api = useApi();
6250

packages/frontend/src/analysis/analysis_editor.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ import {
2222
NotebookEditor,
2323
newFormalCell,
2424
} from "../notebook";
25-
import { BrandedToolbar, HelpButton } from "../page";
25+
import { BrandedToolbar } from "../page";
2626
import { TheoryLibraryContext } from "../stdlib";
2727
import type { AnalysisMeta } from "../theory";
2828
import { LiveAnalysisContext } from "./context";
@@ -93,7 +93,6 @@ export function AnalysisDocumentEditor(props: {
9393
minSize={0.25}
9494
>
9595
<BrandedToolbar>
96-
<HelpButton />
9796
<IconButton
9897
onClick={toggleSidePanel}
9998
tooltip={

packages/frontend/src/diagram/diagram_editor.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import {
1414
cellShortcutModifier,
1515
newFormalCell,
1616
} from "../notebook";
17-
import { BrandedToolbar, HelpButton } from "../page";
17+
import { BrandedToolbar } from "../page";
1818
import { TheoryLibraryContext } from "../stdlib";
1919
import type { InstanceTypeMeta } from "../theory";
2020
import { MaybePermissionsButton } from "../user";
@@ -62,7 +62,6 @@ export function DiagramDocumentEditor(props: {
6262
return (
6363
<div class="growable-container">
6464
<BrandedToolbar>
65-
<HelpButton />
6665
<MaybePermissionsButton permissions={props.liveDiagram?.liveDoc.permissions} />
6766
<IconButton
6867
onClick={() => props.liveDiagram && onCreateAnalysis(props.liveDiagram.refId)}

packages/frontend/src/model/model_editor.tsx

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
import { useNavigate, useParams } from "@solidjs/router";
22
import { BookOpenCheck } from "lucide-solid";
3+
import { CircleHelp } from "lucide-solid";
34
import { Match, Show, Switch, createResource, useContext } from "solid-js";
45
import invariant from "tiny-invariant";
56
import { createAnalysis } from "../analysis/document";
67
import { useApi } from "../api";
78
import { IconButton, InlineInput } from "../components";
89
import { createDiagram } from "../diagram/document";
10+
import { lazyMdx } from "../page/help_page";
911

1012
import {
1113
type CellConstructor,
@@ -35,7 +37,6 @@ import "./model_editor.css";
3537

3638
import ChartSpline from "lucide-solid/icons/chart-spline";
3739
import Network from "lucide-solid/icons/network";
38-
import { HelpButton } from "../page/toolbar";
3940
import type { TheoryMeta } from "../stdlib/types";
4041

4142
export default function ModelPage() {
@@ -71,7 +72,6 @@ export function ModelDocumentEditor(props: {
7172
return (
7273
<div class="growable-container">
7374
<BrandedToolbar>
74-
<HelpButton />
7575
<Show when={props?.liveModel?.liveDoc.doc.theory}>
7676
<TheoryHelpButton
7777
theory={props.liveModel?.theory()}
@@ -220,13 +220,14 @@ function judgmentLabel(judgment: ModelJudgment): string | undefined {
220220
}
221221
}
222222

223+
/** Button that navigates to the theory help page if it exists. If not, it naviagtes to the root help page.*/
224+
223225
export function TheoryHelpButton({
224226
theory,
225227
help,
226228
}: { theory: TheoryMeta | undefined; help?: string }) {
227229
const navigate = useNavigate();
228230
if (help !== undefined) {
229-
// should be if not undefined, but the prop is not passing correctly
230231
return (
231232
<IconButton
232233
onClick={() => navigate(`/help/theory/${help}`)}
@@ -236,6 +237,22 @@ export function TheoryHelpButton({
236237
</IconButton>
237238
);
238239
} else {
239-
return null;
240+
return (
241+
<IconButton onClick={() => navigate("/help")} tooltip="Get help about CatColab">
242+
<CircleHelp />
243+
</IconButton>
244+
);
240245
}
241246
}
247+
248+
export function TheoryHelpPage() {
249+
const params = useParams();
250+
const page = params.page;
251+
invariant(page, "Help page must be provided");
252+
const Page = lazyMdx(() => import(`../help/theory_documentation/${page}.mdx`));
253+
return (
254+
<div class="help-container">
255+
<Page />
256+
</div>
257+
);
258+
}

packages/frontend/src/page/toolbar.tsx

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
1-
import { A, useNavigate } from "@solidjs/router";
2-
import CircleHelp from "lucide-solid/icons/circle-help";
1+
import { A } from "@solidjs/router";
32
import type { JSX } from "solid-js";
43

5-
import { IconButton } from "../components";
6-
74
import "./toolbar.css";
85

96
/** Toolbar component. */
@@ -32,14 +29,3 @@ const Brand = () => (
3229
<span>CatColab</span>
3330
</A>
3431
);
35-
36-
/** Button that navigates to the root help page. */
37-
export function HelpButton() {
38-
const navigate = useNavigate();
39-
40-
return (
41-
<IconButton onClick={() => navigate("/help")} tooltip="Get help about CatColab">
42-
<CircleHelp />
43-
</IconButton>
44-
);
45-
}

0 commit comments

Comments
 (0)