Skip to content

Give the dashboard a new icon and a link preview card - #11

Merged
john-aigora merged 2 commits into
mainfrom
feat/dashboard-share-card
Oct 12, 2026
Merged

john-aigora merged 2 commits into
mainfrom
feat/dashboard-share-card

Conversation

@john-aigora

Copy link
Copy Markdown
Contributor

The dashboard is now at https://turf.aigora.ai. This gives the page a better icon and a link preview card for chat and social apps.

Changes

  • New icon: a reach curve with a filled area on the accent tile (dashboard/site/favicon.svg). The build puts it into the page as a data URL, so the one file still shows its icon with no other file.
  • The page head has a description, Open Graph tags, and twitter:card. og:image names https://turf.aigora.ai/og.png, because link preview apps need a full address. Icon links that a browser loads are relative, so the file opened from disk makes no network request.
  • og.png (1200 x 630) shows the name, the purpose, and the reach curve of the ice cream example. Its source is dashboard/site/og.html.
  • npm run build also writes dist/site, the directory for a web host: index.html, favicon.ico, apple-touch-icon.png, and og.png. The release file dist/turflp-dashboard.html and the CI artifact keep their paths.
  • npm run images makes the three images again with Chrome. The images are committed, because Chrome draws the card text with the fonts of the computer.
  • The Chrome lookup moved from test-browser/run.mjs to chrome.mjs, and the image script uses it too.
  • The browser test checks that the icon in the file is a readable image and that og:image is the expected address.

Checks

npm run typecheck, npm test (31 tests), npm run build, and npm run test:browser (worker mode and page mode) pass locally.

After the merge

turf.aigora.ai does not change until dist/site is deployed to the Vercel project turflp-dashboard.

The icon is a reach curve on the accent tile. It stays in the page as a
data URL, made by the build from site/favicon.svg. The page head now has a
description and Open Graph tags, which name og.png at turf.aigora.ai.

The build also writes dist/site, the directory for a web host: the page as
index.html, with favicon.ico, apple-touch-icon.png, and og.png. The images
are committed in site/, and npm run images makes them again from
favicon.svg and og.html.
The first commit had the PNG files after a pass through oxipng, so a new
run of npm run images changed them.
@john-aigora

Copy link
Copy Markdown
Contributor Author

Local tests passed on ba436a1

  • cd dashboard && npm run typecheck: passed
  • cd dashboard && npm test: passed
  • cd dashboard && npm run build: passed
  • cd dashboard && npm run test:browser: passed
  • cd js && npm run typecheck: passed
  • cd js && npm test: passed
  • cd js && npm run build && npm run test:conformance: passed
  • python3 conformance/generate.py --check: passed
  • python3 conformance/test_generate.py: passed
  • Rscript conformance/run_r.R: passed
  • cd python && python -m pytest: passed

@john-aigora
john-aigora merged commit 9e6e7e5 into main Oct 12, 2026
42 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant