Skip to content

Polish web UI and SEO metadata#49

Merged
faraa2m merged 1 commit into
mainfrom
polish-web-ui-and-seo-files
May 24, 2026
Merged

Polish web UI and SEO metadata#49
faraa2m merged 1 commit into
mainfrom
polish-web-ui-and-seo-files

Conversation

@faraa2m
Copy link
Copy Markdown
Owner

@faraa2m faraa2m commented May 24, 2026

Summary

  • refresh the web app visual system with system-aware light/dark theme support and a manual toggle
  • replace the long default model dump with a guided model search and sticky measure action
  • update editor and agent pages with shipped VS Code/Open VSX links and Codex guidance
  • add llms.txt, link it from the document head, and update robots/sitemap metadata

Changeset

Not included: changes are limited to the private @tokenometer/web app and static site metadata, so no public npm package publish is required.

Verification

  • npm run lint
  • npm run typecheck
  • npm test
  • npm run build

@vercel
Copy link
Copy Markdown

vercel Bot commented May 24, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
tokenometer Ready Ready Preview, Comment May 24, 2026 2:55pm

@faraa2m faraa2m enabled auto-merge (squash) May 24, 2026 14:56
@faraa2m faraa2m merged commit 36707c8 into main May 24, 2026
8 checks passed
@faraa2m faraa2m deleted the polish-web-ui-and-seo-files branch May 24, 2026 14:57
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 90bf682fa4

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +32 to +35
if (storedTheme()) return;
const media = window.matchMedia('(prefers-color-scheme: light)');
const onChange = () => setTheme(media.matches ? 'light' : 'dark');
media.addEventListener('change', onChange);
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Respect manual theme override on system-theme changes

After mounting with no saved preference, this effect always keeps a matchMedia listener active; when the user later toggles the theme (which writes tokenometer.theme), any OS light/dark change will still call setTheme(...) and override the explicit in-app choice for the rest of that session. This makes the manual toggle non-deterministic whenever system theme changes (for example, scheduled day/night switches).

Useful? React with 👍 / 👎.

</footer>
const storedTheme = (): Theme | null => {
if (typeof window === 'undefined') return null;
const value = window.localStorage.getItem(THEME_STORAGE_KEY);
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Guard theme persistence when localStorage is unavailable

This direct localStorage read/write path is not protected against SecurityError/storage-blocked environments (for example privacy-hardened browsers, embedded contexts, or users blocking site data). In those cases, getItem/setItem can throw and break initial render or theme toggling, which regresses availability compared with the pre-theme-toggle version.

Useful? React with 👍 / 👎.

const INSTALL_LINE = 'claude install skill faraa2m/tokenometer';
const CLAUDE_INSTALL = [
'mkdir -p ~/.claude/skills/tokenometer',
'cp packages/claude-code-skill/SKILL.md ~/.claude/skills/tokenometer/',
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Make Claude install snippet runnable from a clean shell

This command assumes the user is already in a checkout containing packages/claude-code-skill, but the page does not include that prerequisite; for users following the web docs directly, cp packages/claude-code-skill/SKILL.md ... fails with “No such file or directory.” The install block should be self-contained (or include an explicit clone/download step) so the documented path works from a typical environment.

Useful? React with 👍 / 👎.

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