Skip to content

feat(web): dark mode for the site and docs - #147

Merged
czaydev merged 1 commit into
mainfrom
feat/dark-mode
Oct 8, 2026
Merged

czaydev merged 1 commit into
mainfrom
feat/dark-mode

Conversation

@czaydev

@czaydev czaydev commented Oct 7, 2026 •

Copy link
Copy Markdown
Owner

What and why

Before: the site and docs were light only; next-themes was turned off.

After: both follow the system preference by default, with a light/dark switch in the navbar (desktop and mobile menu) and in the docs sidebar. The choice is remembered.

How:

  • globals.css gets a dark "Signal Indigo" token set under .dark, plus tokens for colours that were hard-coded in components (callouts, code function colour, glows, shadows, route wires, logo tiles, accent text on tints). Light mode values are unchanged.
  • next-themes is back on through SiteProvider. Its inline script still sets the class before first paint; on the client it is rendered as text/plain, so switching tr/en no longer logs the "script tag" error that got it turned off.
  • Docs code blocks use a dark Shiki theme next to the light one.
  • Logo: new better-payment-horizontal-dark.svg (lifted indigo mark, light wordmark). Hero: hero-a3-dark.webp, the same render with its lightness inverted onto the dark background.
  • Third-party bank and provider logos keep a light tile in dark mode. The animated feature icons are inverted and screen-blended so their white background drops out.

Checked in both themes on the homepage, docs index and a provider page (desktop and mobile), and that tr/en switching logs no errors. No changeset: only the private web app changes.

Checklist

  • pnpm lint passes for the changed files (remaining errors are in generated .source/ files, same as main), tsc --noEmit and next build pass
  • Tests cover the change, or no test is needed (styling only)
  • A changeset is included for user-facing changes, or not needed (web app only)
  • Docs are updated in English and Turkish, or no docs change is needed (new toggle label added in both)
  • New user-facing features include a <Since /> badge, or no badge is needed
  • No credentials, card numbers or personal data

Follows the system preference by default, with a light/dark switch in the
navbar and the docs sidebar. next-themes sets the class before first paint;
on the client its script is rendered as text/plain so switching tr/en no
longer reports it. The palette gets a dark Signal Indigo set, hard-coded
colours in components move to tokens, docs code uses a dark Shiki theme,
the logo and hero have dark variants, third-party logos keep a light tile
and the animated icons are inverted and screen-blended.
Copilot AI balanced review requested due to automatic review settings October 7, 2026 05:03
@czaydev
czaydev requested a review from poyrazavsever as a code owner October 7, 2026 05:03

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@vercel

vercel Bot commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor

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

Project Deployment Actions Updated
better-payment-web-xhgb Ready Ready Preview Oct 7, 2026 5:04am UTC

@czaydev
czaydev merged commit 39b67dd into main Oct 8, 2026
7 checks passed
@czaydev
czaydev deleted the feat/dark-mode branch October 8, 2026 10:28

This branch was successfully deployed

1 active deployment
Preview — 42c37fd3 Deployed Oct 7, 2026 by vercel[bot]
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.

2 participants