Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions app/(dashboard)/_components/sidebar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -128,11 +128,11 @@ const MobileSidebarBrand = ({ onNavigate }: { onNavigate?: () => void }) => {
src="/images/site-chrome/knowhere-mark.svg"
alt=""
aria-hidden
width={45}
width={37}
height={42}
priority
unoptimized
className="h-[21px] w-[22.5px] shrink-0 object-contain opacity-80 dark:invert"
className="h-[21px] w-[18.5px] shrink-0 object-contain opacity-80 dark:invert"
/>
<span className="font-[family-name:var(--font-brand)] text-base font-medium leading-[21px] text-[#083b3a] dark:text-[#f0f2e6]">
Knowhere
Expand Down
4 changes: 2 additions & 2 deletions components/brand/knowhere-brand.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -52,12 +52,12 @@ const BRAND_ASSETS = {
light: {
height: 42,
src: "/images/site-chrome/knowhere-mark.svg",
width: 45,
width: 37,
},
dark: {
height: 42,
src: "/images/site-chrome/knowhere-mark.svg",
width: 45,
width: 37,
},
},
} as const satisfies Record<KnowhereBrandVariant, Record<ResolvedKnowhereBrandTone, BrandAsset>>;
Expand Down
2 changes: 1 addition & 1 deletion components/site-chrome/site-footer.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ export const SiteFooter = ({ page = "landing" }: SiteFooterProps) => {
<Link className="kh-footer-brand" href={brandHref} aria-label={t("backToTop")}>
<Image
src="/images/site-chrome/knowhere-footer-mark.svg"
width={45}
width={37}
height={42}
alt=""
unoptimized
Expand Down
4 changes: 4 additions & 0 deletions docs/adr/0029-the-logo-is-the-knowhere-mark.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
---
status: superseded by ADR-0030
---

# The logo is the Knowhere mark, not the prototype's

The site and the Dashboard carried the Design Prototype's stepped mark as the Knowhere logo. They carry the
Expand Down
26 changes: 26 additions & 0 deletions docs/adr/0030-the-logo-follows-the-prototype-mark.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# The logo follows the prototype mark

ADR-0029 moved the logo off the Design Prototype's stepped mark onto the Knowhere starburst. That is reversed:
the prototype's mark is the logo again, and #130 is reverted asset for asset.

The 1:1 rule holds for the identity too. The prototype is the reference for layout, type, colour, and the mark,
so a drawing supplied from outside it does not displace what the Design Prototype draws.

## What came back

| Asset | Now |
| --- | --- |
| `public/images/site-chrome/knowhere-mark.svg` | the stepped mark, drawn in ink |
| `public/images/site-chrome/knowhere-footer-mark.svg` | the same drawing, `#F0F2E6` |
| `public/images/site-chrome/knowhere-back-to-top.svg` | the prototype's mark plus the wordmark |
| `public/assets/knowhere-favicon.svg` | the stepped mark in the `0 0 42 42` box |
| `public/favicon.ico` | back to the previous 16/32/48 entries |
| `public/images/knowhere/app-icon.png` | the previous drawing on white |

`components/brand/knowhere-brand.tsx`, the Dashboard's mobile sidebar brand, and the site footer return to the
37x42 mark box. All ten files are byte-identical to their pre-#130 content.

The mark's aspect goes back from 1.071 to 0.881, which is the aspect of the boxes it was drawn for: the footer's
`37x42` pin and the lockup's mark slot fit the drawing again instead of letterboxing a wider one inside it.

Nothing else about #130 survives. The wordmark was never in scope, and it still is not.
12 changes: 6 additions & 6 deletions lib/app-icon.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { appMetadata } from "@lib/app-metadata";
import { describe, expect, test } from "vitest";

const dashboardIconPath = "/images/knowhere/app-icon.png" as const;
const brandFaviconPath = "/assets/knowhere-favicon.svg" as const;
const prototypeFaviconPath = "/assets/knowhere-favicon.svg" as const;
const rootDirectory: string = process.cwd();

async function hasFile(filePath: string): Promise<boolean> {
Expand All @@ -21,7 +21,7 @@ describe("dashboard page icon", () => {
const serializedIcons: string = JSON.stringify(appMetadata.icons);

expect(serializedIcons).toContain("/favicon.ico");
expect(serializedIcons).toContain(brandFaviconPath);
expect(serializedIcons).toContain(prototypeFaviconPath);
expect(serializedIcons).toContain(dashboardIconPath);
expect(serializedIcons).toContain("image/svg+xml");
expect(serializedIcons).toContain("image/png");
Expand All @@ -36,7 +36,7 @@ describe("dashboard page icon", () => {
"knowhere",
"app-icon.png"
);
const brandFaviconFilePath: string = path.join(
const prototypeFaviconFilePath: string = path.join(
rootDirectory,
"public",
"assets",
Expand All @@ -45,17 +45,17 @@ describe("dashboard page icon", () => {
const faviconIcoPath: string = path.join(rootDirectory, "public", "favicon.ico");

await expect(hasFile(iconFilePath)).resolves.toBe(true);
await expect(hasFile(brandFaviconFilePath)).resolves.toBe(true);
await expect(hasFile(prototypeFaviconFilePath)).resolves.toBe(true);
await expect(hasFile(faviconIcoPath)).resolves.toBe(true);
});

test("declares the Knowhere mark on landing routes without a favicon.ico entry", async (): Promise<void> => {
test("declares the prototype mark on landing routes without a favicon.ico entry", async (): Promise<void> => {
const landingLayoutSource: string = await readFile(
path.join(rootDirectory, "app", "(landing)", "layout.tsx"),
"utf8"
);

expect(landingLayoutSource).toContain(brandFaviconPath);
expect(landingLayoutSource).toContain(prototypeFaviconPath);
expect(landingLayoutSource).not.toContain("/favicon.ico");
});
});
11 changes: 1 addition & 10 deletions public/assets/knowhere-favicon.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified public/favicon.ico
Binary file not shown.
Binary file modified public/images/knowhere/app-icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
11 changes: 1 addition & 10 deletions public/images/site-chrome/knowhere-back-to-top.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading