From 0ecb2037ec8e8484927bd91f72c7cb2e08bc01d7 Mon Sep 17 00:00:00 2001 From: EdJaPe Date: Tue, 12 May 2026 16:08:15 -0700 Subject: [PATCH 1/2] fix: fixed ligning issue with side bar --- frontend/src/components/sidebar.js | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/frontend/src/components/sidebar.js b/frontend/src/components/sidebar.js index 385d1d2..dfc6387 100644 --- a/frontend/src/components/sidebar.js +++ b/frontend/src/components/sidebar.js @@ -18,8 +18,8 @@ function LevelCheck({ levelNum = 0, levelDesc = "", theme = "dark" }) { ? [ "text-green-400", "hover:text-green-300", - "text-[1rem]", - "leading-8", + "text-sm", + "leading-6", "font-medium", "transition", "duration-300", @@ -28,8 +28,8 @@ function LevelCheck({ levelNum = 0, levelDesc = "", theme = "dark" }) { : [ "text-green-600", "hover:text-green-700", - "text-[1rem]", - "leading-8", + "text-sm", + "leading-6", "font-medium", "transition", "duration-300", @@ -47,7 +47,7 @@ function LevelCheck({ levelNum = 0, levelDesc = "", theme = "dark" }) { ? [ "text-white", "hover:text-gray-300", - "text-[1rem]", + "text-sm", "leading-8", "font-medium", "transition", @@ -57,8 +57,8 @@ function LevelCheck({ levelNum = 0, levelDesc = "", theme = "dark" }) { : [ "text-slate-800", "hover:text-slate-600", - "text-[1rem]", - "leading-8", + "text-sm", + "leading-6", "font-medium", "transition", "duration-300", @@ -91,7 +91,7 @@ export default function Sidebar() { theme === "dark" ? [ "w-full", - "h-[96vh]", + "max-h-[96dvh]", "rounded-3xl", "bg-gray-950", "border", @@ -201,14 +201,14 @@ export default function Sidebar() { theme === "dark" ? [ "pl-4", - "text-2xl", + "text-lg", "font-semibold", "text-white", "tracking-wide" ].join(" ") : [ "pl-4", - "text-2xl", + "text-lg", "font-semibold", "text-slate-900", "tracking-wide" @@ -261,7 +261,7 @@ export default function Sidebar() { "flex", "items-center", "gap-3", - "text-2xl", + "text-lg", "text-slate-900" ].join(" "); @@ -379,7 +379,7 @@ export default function Sidebar() { > Challenges {challengesOpen ? "▾" : "▸"} -
+ {challengesOpen && (

@@ -398,7 +398,7 @@ export default function Sidebar() { className="hover:text-red-400 transition" > Logout - +
From e501ae2971a9affd4f419eb2ebba19abd2ca5a8b Mon Sep 17 00:00:00 2001 From: iRainy22 <158084467+iRainy22@users.noreply.github.com> Date: Wed, 13 May 2026 23:00:41 -0700 Subject: [PATCH 2/2] Delete vimEditor.test.js from sidebar merge --- frontend/src/editor/vimEditor.test.js | 119 -------------------------- 1 file changed, 119 deletions(-) delete mode 100644 frontend/src/editor/vimEditor.test.js diff --git a/frontend/src/editor/vimEditor.test.js b/frontend/src/editor/vimEditor.test.js deleted file mode 100644 index 2e60261..0000000 --- a/frontend/src/editor/vimEditor.test.js +++ /dev/null @@ -1,119 +0,0 @@ -/** - * @jest-environment jsdom - */ - - -jest.mock('monaco-vim', () => ({ - initVimMode: jest.fn(() => ({ - on: jest.fn(), - })), - VimMode: { - Vim: { - defineEx: jest.fn(), - }, - }, -})); - -import React from 'react'; -import { render, screen, fireEvent, waitFor } from '@testing-library/react'; -import '@testing-library/jest-dom'; -import VimEditor from './vimEditor'; - -jest.mock('@monaco-editor/react', () => { - return function MockEditor({ onMount, defaultValue }) { - const editor = { - value: defaultValue, - getValue: jest.fn(() => editor.value), - setValue: jest.fn((newValue) => { - editor.value = newValue; - }), - getPosition: jest.fn(() => ({ - lineNumber: 1, - column: 1, - })), - getDomNode: jest.fn(() => ({ - style: {}, - appendChild: jest.fn(), - })), - addCommand: jest.fn(), - onDidChangeCursorSelection: jest.fn(), - onDidChangeModelContent: jest.fn(), - onKeyDown: jest.fn(), - }; - - const monaco = { - KeyCode: { - UpArrow: 16, - }, - }; - - onMount(editor, monaco); - - return
{defaultValue}
; - }; -}); - - -jest.mock('../progress.js', () => ({ - saveProgress: jest.fn(() => Promise.resolve()), - loadProgress: jest.fn(() => Promise.resolve({})), -})); - -jest.mock('../ThemeContext.js', () => ({ - useTheme: () => ({ theme: 'light' }), -})); - -jest.mock('../components/checkLevelPassed.js', () => ({ - useProgress: () => ({ - levelPassed: jest.fn(), - }), -})); - -describe('VimEditor', () => { - it('renders the editor', () => { - render(); - - expect(screen.getByTestId('mock-editor')).toBeInTheDocument(); - expect(screen.getByText('hello world')).toBeInTheDocument(); - }); - - it('renders the reset button by default', () => { - render(); - - expect( - screen.getByRole('button', { name: /reset level/i }) - ).toBeInTheDocument(); - }); - - it('does not render reset button when showResetLevel is false', () => { - render(); - - expect( - screen.queryByRole('button', { name: /reset level/i }) - ).not.toBeInTheDocument(); - }); - - it('calls reset when reset button is clicked', () => { - render(); - - fireEvent.click(screen.getByRole('button', { name: /reset level/i })); - - expect(screen.getByTestId('mock-editor')).toBeInTheDocument(); - }); - - it('calls onWin when finalText already matches editor text', async () => { - const onWin = jest.fn(); - - render( - - ); - - await waitFor(() => { - expect(onWin).toHaveBeenCalled(); - }); - }); -});