diff --git a/docusaurus.config.ts b/docusaurus.config.ts
index c4663ff..52fce8e 100644
--- a/docusaurus.config.ts
+++ b/docusaurus.config.ts
@@ -3,7 +3,7 @@ import type { Config } from "@docusaurus/types";
import type * as Preset from "@docusaurus/preset-classic";
const config: Config = {
- title: "Posthoc - The Visualisation Framework for Search",
+ title: "Posthoc - The visualisation framework for search",
tagline:
"Posthoc is a way to create simple and effective visualisations from logs to help you understand search.",
favicon: "img/favicon.ico",
diff --git a/src/components/AppBar.tsx b/src/components/AppBar.tsx
index f996bca..6c391b3 100644
--- a/src/components/AppBar.tsx
+++ b/src/components/AppBar.tsx
@@ -6,7 +6,14 @@ import {
DragHandleOutlined as MenuIcon,
LaunchOutlined as OpenIcon,
} from "@mui/icons-material";
-import { Box, Button, IconButton, Stack, Typography } from "@mui/material";
+import {
+ Box,
+ Button,
+ IconButton,
+ Stack,
+ Typography,
+ useScrollTrigger,
+} from "@mui/material";
import PopupState, { bindTrigger } from "material-ui-popup-state";
import { useEffect, useState } from "react";
import { createPortal } from "react-dom";
@@ -16,19 +23,17 @@ import { useMode } from "./ModeContext";
import { space } from "./space";
import { usePaper } from "./theme";
import { useSm } from "./useSm";
+import { PAGE_WIDTH } from "../config";
export function AppBar() {
- const sm = useSm();
return (
t.zIndex.appBar,
}}
>
@@ -42,6 +47,7 @@ function AppBarBody() {
const sm = useSm();
const paper = usePaper();
const [top, setTop] = useState(true);
+ const scrolling = useScrollTrigger();
useEffect(() => {
let cancelled = false;
const f = () => {
@@ -81,87 +87,93 @@ function AppBarBody() {
);
return (
t.transitions.create("box-shadow"),
- ...(!top
- ? {
+ width: "100%",
+ transition: (t) =>
+ t.transitions.create(["box-shadow", "padding-top", "transform"]),
+ ...(top
+ ? { paddingTop: sm ? 0 : 2 }
+ : {
...paper(1),
- boxShadow: `
- 0px 4px 3px -2px rgb(0 0 0 / 4%),
- 0px 5px 24px 0px rgb(0 0 0 / 4%),
- 0px 10px 48px 0px rgb(0 0 0 / 2%)
- `,
- }
- : {}),
- width: 1000 + 8 * 4,
- maxWidth: "100%",
- height: 64,
- borderRadius: 32,
+ borderBottom: (t) => `1px solid ${t.palette.divider}`,
+ borderRadius: 0,
+ }),
+ ...(scrolling && {
+ transform: `translateY(-100%)`,
+ }),
}}
>
-
-
-
- {sm ? (
- <>
-
- {openPosthoc}
-
- {(state) => (
- <>
-
-
-
- {createPortal(
-
- t.transitions.create(["opacity", "backdrop-filter"]),
- position: "fixed",
- zIndex: (t) => t.zIndex.modal,
- top: 0,
- left: 0,
- width: "100dvw",
- height: "100vh",
- borderRadius: 0,
- }}
- >
-
-
-
-
- {darkToggle}
- {menu}
- {openPosthoc}
-
- ,
- document.body
- )}
- >
- )}
-
- >
- ) : (
- <>
- {menu}
- {space()}
- {openPosthoc}
- {darkToggle}
- >
- )}
+
+
+
+
+ {sm ? (
+ <>
+
+ {openPosthoc}
+
+ {(state) => (
+ <>
+
+
+
+ {createPortal(
+
+ t.transitions.create(["opacity", "backdrop-filter"]),
+ position: "fixed",
+ zIndex: (t) => t.zIndex.modal,
+ top: 0,
+ left: 0,
+ width: "100dvw",
+ height: "100vh",
+ borderRadius: 0,
+ }}
+ >
+
+
+
+
+ {darkToggle}
+ {menu}
+ {openPosthoc}
+
+ ,
+ document.body
+ )}
+ >
+ )}
+
+ >
+ ) : (
+ <>
+ {menu}
+ {space()}
+ {openPosthoc}
+ {darkToggle}
+ >
+ )}
+
);
}
diff --git a/src/components/Footer.tsx b/src/components/Footer.tsx
index 9f8eda9..f6556e8 100644
--- a/src/components/Footer.tsx
+++ b/src/components/Footer.tsx
@@ -5,6 +5,7 @@ import { Logo } from "./Logo";
import { useSm } from "./useSm";
import { space } from "./space";
import { usePaper } from "./theme";
+import { PAGE_WIDTH } from "../config";
export function Footer() {
const sm = useSm();
@@ -16,7 +17,7 @@ export function Footer() {
gap={4}
sx={{
maxWidth: "100%",
- width: 1000,
+ width: PAGE_WIDTH,
px: sm ? 0 : 3,
py: 4,
m: "0 auto",
diff --git a/src/components/Gallery.tsx b/src/components/Gallery.tsx
index ff86bac..8e1ed74 100644
--- a/src/components/Gallery.tsx
+++ b/src/components/Gallery.tsx
@@ -206,9 +206,9 @@ export function Gallery() {
}}
>
+
+
+
+
+
+
+ }
+ subtitle={l10n.teamSectionSubtitle}
+ />
+
+ {map(l10n.team, ({ avatar, name, title, github }) => (
+
+
+ }
+ title={name}
+ subtitle={
+ {title}
+ }
+ />
+
+ ))}
+
+
+ {l10n.teamContributorTitle}
+
+
+ {map(l10n.contributors, (s) => (
+
+ {s}
+
+ ))}
+
+
+ {l10n.teamSupporterTitle}
+
+
+ {map(l10n.supporters, (s) => (
+
+ {s}
+
+ ))}
+
-
+
- >
+
);
}
diff --git a/src/theme/Root.js b/src/theme/Root.js
index debb8ca..8202d97 100644
--- a/src/theme/Root.js
+++ b/src/theme/Root.js
@@ -7,7 +7,7 @@ import { get, set } from "../components/storage";
// Default implementation, that you can customize
export default function Root({ children }) {
const [mode, setMode] = useState(get("theme") || "light");
- const theme = useMemo(() => makeTheme(mode), [mode]);
+ const theme = useMemo(() => makeTheme(mode, "deepPurple"), [mode]);
useEffect(() => {
setMode(get("theme") || "light");
}, []);
diff --git a/static/img/gallery/astar.png b/static/img/gallery/astar.png
index c003495..6bfc8f3 100644
Binary files a/static/img/gallery/astar.png and b/static/img/gallery/astar.png differ
diff --git a/static/img/gallery/complex-view.png b/static/img/gallery/complex-view.png
index 416c821..5139f3f 100644
Binary files a/static/img/gallery/complex-view.png and b/static/img/gallery/complex-view.png differ
diff --git a/static/img/gallery/image-3.png b/static/img/gallery/image-3.png
index 6950ede..8dd63a9 100644
Binary files a/static/img/gallery/image-3.png and b/static/img/gallery/image-3.png differ
diff --git a/static/img/gallery/image-7.png b/static/img/gallery/image-7.png
index 6f8f250..ab6fd39 100644
Binary files a/static/img/gallery/image-7.png and b/static/img/gallery/image-7.png differ
diff --git a/static/img/gallery/mcp.png b/static/img/gallery/mcp.png
index 9e9d65b..b49c346 100644
Binary files a/static/img/gallery/mcp.png and b/static/img/gallery/mcp.png differ
diff --git a/static/img/gallery/network-bidirectional-a-star.png b/static/img/gallery/network-bidirectional-a-star.png
index 5fe7eb9..1945b64 100644
Binary files a/static/img/gallery/network-bidirectional-a-star.png and b/static/img/gallery/network-bidirectional-a-star.png differ
diff --git a/static/img/gallery/polyanya.png b/static/img/gallery/polyanya.png
index 4d48fbe..6ad074e 100644
Binary files a/static/img/gallery/polyanya.png and b/static/img/gallery/polyanya.png differ
diff --git a/static/img/gallery/room-detection.png b/static/img/gallery/room-detection.png
index bcfab0d..2853693 100644
Binary files a/static/img/gallery/room-detection.png and b/static/img/gallery/room-detection.png differ
diff --git a/static/img/gallery/temp/astar.png:Zone.Identifier b/static/img/gallery/temp/astar.png:Zone.Identifier
new file mode 100644
index 0000000..e69de29
diff --git a/static/img/gallery/temp/complex-view.png:Zone.Identifier b/static/img/gallery/temp/complex-view.png:Zone.Identifier
new file mode 100644
index 0000000..e69de29
diff --git a/static/img/gallery/temp/image-3.png:Zone.Identifier b/static/img/gallery/temp/image-3.png:Zone.Identifier
new file mode 100644
index 0000000..e69de29
diff --git a/static/img/gallery/temp/image-7.png:Zone.Identifier b/static/img/gallery/temp/image-7.png:Zone.Identifier
new file mode 100644
index 0000000..e69de29
diff --git a/static/img/gallery/temp/mcp.png:Zone.Identifier b/static/img/gallery/temp/mcp.png:Zone.Identifier
new file mode 100644
index 0000000..e69de29
diff --git a/static/img/gallery/temp/network-bidirectional-a-star.png:Zone.Identifier b/static/img/gallery/temp/network-bidirectional-a-star.png:Zone.Identifier
new file mode 100644
index 0000000..e69de29
diff --git a/static/img/gallery/temp/polyanya.png:Zone.Identifier b/static/img/gallery/temp/polyanya.png:Zone.Identifier
new file mode 100644
index 0000000..e69de29
diff --git a/static/img/gallery/temp/room-detection.png:Zone.Identifier b/static/img/gallery/temp/room-detection.png:Zone.Identifier
new file mode 100644
index 0000000..e69de29