Replace language buttons with a dropdown

ER
1d ago
+264-253

Replace the horizontal language buttons with a dropdown to keep the interview toolbar compact and make it easier to add more supported languages. The selector also follows a familiar pattern used by platforms such as LeetCode.

Before: horizontal language buttons
螢幕擷取畫面 2026-10-17 121334

After: dropdown
螢幕擷取畫面 2026-10-17 121534


Summary by cubic

Replaces the horizontal language buttons in the interview toolbar with a dropdown selector so the toolbar stays compact and adding more supported languages is easier.

Selecting a language still switches the editor buffer and updates the agent as before. Languages the judge can't run are disabled and labeled with their reason (for example "(unavailable: class problem)"), each keeping a tooltip with the full explanation. The selector snaps back to the active language whenever the editor rejects a switch — for example keeping it locked on the submitted language while the report modal is open. Browser tests were updated to drive the selector instead of clicking language tabs, and the caption test paces captions directly instead of waiting on a wall clock.