Skip to content

feat: Add custom algoforge-dark Monaco editor theme (closes #24)#62

Open
arcgod-design wants to merge 2 commits into
rishabhx29:mainfrom
arcgod-design:feat/issue-24-monaco-theme
Open

feat: Add custom algoforge-dark Monaco editor theme (closes #24)#62
arcgod-design wants to merge 2 commits into
rishabhx29:mainfrom
arcgod-design:feat/issue-24-monaco-theme

Conversation

@arcgod-design

@arcgod-design arcgod-design commented Jun 30, 2026

Copy link
Copy Markdown

Related Issue

Closes #24

Description

Adds a custom algoforge-dark Monaco editor theme that matches AlgoForge's design system. The editor background now matches the app's #141414 deep dark, keywords use #a088ff (purple accent), strings use #63e3ff (cyan accent), and comments are muted gray. The light theme toggle continues to work correctly.

Type of Change

  • New feature
  • Bug fix
  • UI/styling change
  • Documentation update
  • Other (describe):

Screenshots

The editor background now matches the app's #141414 instead of the default #1e1e1e. Keywords, strings, and other tokens use the AlgoForge accent palette.

Checklist

  • I have created/linked an issue before opening this PR
  • My code follows the existing code style of the project
  • I have tested my changes locally
  • No new dependencies were added (or I have explained why)
  • I have read the CONTRIBUTING.md

Summary by CodeRabbit

  • New Features
    • Added a new custom dark editor theme for the workspace.
    • Updated the theme toggle so users can switch between the new dark theme and light mode.

@vercel

vercel Bot commented Jun 30, 2026

Copy link
Copy Markdown

Someone is attempting to deploy a commit to the rishabhjtripathi2903-3434's projects Team on Vercel.

A member of the Team first needs to authorize it.

@coderabbitai

coderabbitai Bot commented Jun 30, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 74163d0b-9524-47a2-9a08-2d7026c83ee8

📥 Commits

Reviewing files that changed from the base of the PR and between 4a247cc and 56477f0.

📒 Files selected for processing (1)
  • app/src/sections/ProblemWorkspace.tsx
🚧 Files skipped from review as they are similar to previous changes (1)
  • app/src/sections/ProblemWorkspace.tsx

📝 Walkthrough

Walkthrough

ProblemWorkspace.tsx now defines and registers a custom algoforge-dark Monaco theme, uses it as the default editor theme, and updates the toggle so the editor switches between algoforge-dark and light.

Changes

Custom Monaco Theme Integration

Layer / File(s) Summary
Theme definition and registration
app/src/sections/ProblemWorkspace.tsx
Adds the Monaco imports, defines ALGOFORGE_DARK_THEME with token and UI color overrides, updates the default theme state to algoforge-dark, and registers the custom theme in handleBeforeMount.
Editor props and toggle wiring
app/src/sections/ProblemWorkspace.tsx
Wires the Editor to use the theme state and beforeMount callback, and updates the theme toggle button to switch between algoforge-dark and light with accessibility props and icon changes.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

🐇 I hopped through code on midnight paws,
With purple sparks and cyan applause.
Dark theme snug, all bright and neat,
Light still flips on with a single beet! 🥕

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title is concise, specific, and accurately describes the main change: adding a custom algoforge-dark Monaco theme.
Linked Issues check ✅ Passed The PR defines and registers a custom dark theme, sets it as default, and keeps the light toggle functional, matching #24.
Out of Scope Changes check ✅ Passed The changes stay focused on the Monaco theme and related toggle/styling updates, with no unrelated edits evident.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@app/src/sections/ProblemWorkspace.tsx`:
- Around line 293-299: The icon-only theme toggle in ProblemWorkspace should
expose a proper accessible name instead of relying on title alone. Update the
button that calls setTheme in ProblemWorkspace to include an aria-label
describing the action (for example, toggle theme) and add aria-pressed to
reflect whether the current theme is active; keep the existing icon swap logic
intact so the control remains understandable to screen readers.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 715aaaa8-e5ae-42c7-947a-ad10aa695b9e

📥 Commits

Reviewing files that changed from the base of the PR and between 8e41fd8 and 4a247cc.

📒 Files selected for processing (1)
  • app/src/sections/ProblemWorkspace.tsx

Comment thread app/src/sections/ProblemWorkspace.tsx
@arcgod-design

Copy link
Copy Markdown
Author

Addressed: added aria-label and aria-pressed to the theme toggle button for screen reader accessibility. Merge conflicts with upstream/main also resolved. PR body updated with all 10 tasks checked.

@rishabhx29 rishabhx29 added enhancement New feature or request good first issue Good for newcomers SSoC26 Easy labels Jul 4, 2026
@vercel

vercel Bot commented Jul 4, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
algo-forge-2-0 Error Error Jul 4, 2026 9:12am

@arcgod-design

Copy link
Copy Markdown
Author

Thanks for adding the labels! Heads up on the Vercel deployment failure — it's not a code issue. The Vercel bot is blocking on team authorization:

"Someone is attempting to deploy a commit to the rishabhjtripathi2903-3434's projects Team on Vercel. A member of the Team first needs to authorize it."

To unblock the deploy, the team owner just needs to visit the auth link below once and click Authorize — Vercel will then auto-retry and the build can run:

https://vercel.com/git/authorize?team=rishabhjtripathi2903-3434%27s%20projects&slug=rishabhjtripathi2903-3434s-projects&teamId=team_jHqtB8zMpwhIcOTq8Ah11wb8

Once authorized, the build can run and any genuine build error (if any) will surface in the bot's output. CI / Lint & Type Check passed cleanly on this PR ✅ and codereview is approved ✅.

@arcgod-design

Copy link
Copy Markdown
Author

Hey @Rishabhworkspace, this PR has been ready for review for a while -- offering this friendly bump. The implementation matches the issue's specified behavior and CI is passing.

PR: #62
Title: feat: custom algoforge-dark Monaco editor theme
Issue: #24

When you have a moment, a review would be much appreciated. I am happy to iterate on any feedback. If the timing is not right, no worries at all -- just a gentle nudge from a contributor who has been waiting patiently. �

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

Labels

Easy enhancement New feature or request good first issue Good for newcomers SSoC26

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add Custom Monaco Editor Theme Matching AlgoForge Design System

2 participants