Skip to content

chore: init theme design#20563

Open
ecmadao wants to merge 3 commits into
bytebase:mainfrom
ecmadao:feat/BYT-9628
Open

chore: init theme design#20563
ecmadao wants to merge 3 commits into
bytebase:mainfrom
ecmadao:feat/BYT-9628

Conversation

@ecmadao

@ecmadao ecmadao commented Jun 10, 2026

Copy link
Copy Markdown
Collaborator

No description provided.

@ecmadao ecmadao requested review from boojack and d-bytebase June 10, 2026 03:35
@ecmadao ecmadao requested a review from a team as a code owner June 10, 2026 03:35
@cla-bot cla-bot Bot added the cla-signed label Jun 10, 2026

@chatgpt-codex-connector chatgpt-codex-connector Bot 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 0ebfd6728c

ℹ️ About Codex in GitHub

Codex has been enabled to automatically 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 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread docs/superpowers/specs/2026-06-09-sql-editor-theme-pattern-design.md Outdated

@chatgpt-codex-connector chatgpt-codex-connector Bot 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: f84a9dca2d

ℹ️ About Codex in GitHub

Codex has been enabled to automatically 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 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread docs/superpowers/specs/2026-06-09-sql-editor-theme-pattern-design.md Outdated
@sonarqubecloud

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 6fe151d6ef

ℹ️ About Codex in GitHub

Codex has been enabled to automatically 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 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment on lines +326 to +329
The SQL Editor therefore maintains **one active Monaco theme**, derived from the
**foreground code surface** and applied by a single controller (driven by the current
tab `mode` + selected `themeId`) that calls `monaco.editor.setTheme(\`bb-${active.id}\`)`
whenever either changes (today set once at `MonacoEditor.tsx:346`):

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 Preserve Monaco theme fallback for unregistered presets

In runtime modes where the VSCode theme service override prevents custom themes from registering, driving the controller with raw bb-${active.id} can leave Monaco stuck on whatever global theme was last applied. I checked the current frontend/src/react/components/monaco/core.ts: getResolvedTheme() exists specifically because calling setTheme with an unregistered custom theme is a silent no-op, and initializeTheme() only adds names to registeredThemes after defineTheme succeeds. The design should keep that registration/fallback path for every generated preset before centralizing setTheme, otherwise named themes can fail in those existing runtime modes.

Useful? React with 👍 / 👎.

Comment on lines +275 to +279
- `SQLEditorHomePage` portals the mobile FAB and the sidebar overlay to
`getLayerRoot("overlay")` (`SQLEditorHomePage.tsx:160-182, 191-208`).
- `AccessGrantRequestDrawer` (rendered by `RequestDrawerHost`, `RequestDrawerHost.tsx:74`)
is a `Sheet` that portals to the overlay layer **and** hosts its own `MonacoEditor`
(`AccessGrantRequestDrawer.tsx:262`).

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 Include all SQL Editor overlay portals in the scope plan

This portal inventory is still incomplete: a repo-wide search for createPortal( / getLayerRoot("overlay") under frontend/src/react/components/sql-editor also finds themed overlay surfaces such as ConnectChooser's dropdown (bg-background, border-control-border), schema/database hover panels, EllipsisCell tooltips, and the RequestRoleSheet path hosted by RequestDrawerHost. Under a dark/named SQL Editor theme these portals mount under the app-global overlay root and will keep global light CSS variables unless each is wrapped/re-scoped too, so the implementation plan and visual tests should enumerate and cover them rather than only the mobile FAB/sidebar and access-grant drawer.

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant