Skip to content

Fix select dropdown sizing and auto-version display - #38

Merged
mrbubbles-src merged 5 commits into
devfrom
fix/select
Feb 9, 2026
Merged

Fix select dropdown sizing and auto-version display#38
mrbubbles-src merged 5 commits into
devfrom
fix/select

Conversation

@mrbubbles-src

@mrbubbles-src mrbubbles-src commented Feb 9, 2026

Copy link
Copy Markdown
Owner

Summary

  • normalize the shared SelectContent default so option popups size to their content while keeping the override prop for trigger-aligned behavior, and document it alongside new tests
  • pass package.json’s version through layout.tsx into AppShell so the sidebar label becomes v1.1.5 without hardcoding and bump the package version accordingly
  • add the new 1.1.5 changelog entry and refresh component docs to cover the select behavior update

@vercel

vercel Bot commented Feb 9, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
teacherbuddy Ready Ready Preview, Comment Feb 9, 2026 6:47pm

@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

const visibleStudents = useMemo(
() =>
includeExcluded
? sortedStudents
: sortedStudents.filter((student) => student.status === 'active'),

P2 Badge Filter project-list editing to the active class roster

When editing a project list, visibleStudents is built from sortedStudents without filtering by activeClassId, so the “Add students” list can include students from other classes. This lets users add cross‑class students into a list that is otherwise scoped by classId, which breaks the class‑scoped behavior introduced in this commit and can lead to mixed-class project lists. Filter the candidate students by activeClassId before applying the includeExcluded toggle.

ℹ️ About Codex in GitHub

Your team has set up Codex to 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 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

- Updated layout in `breakout-rooms`, `generator`, and `play` pages to use a centered container with a maximum width instead of a flex column layout.
- Adjusted `projects` page to use a fragment instead of a div for better structure.
- Simplified `quizzes` page layout by removing unnecessary div wrappers around the `QuizEditor` component.
- Modified `app-shell` to remove redundant max-width styling on the main container.
- Updated the `projects` page to use a div container instead of a fragment, enhancing layout consistency.
- Rearranged components to maintain a clear and organized structure within the page.
- Updated button classes in `quiz-play-card`, `project-list-builder`, and `quiz-editor-form` to ensure full-width styling on smaller screens.
- Adjusted layout properties in `quiz-editor` and `sidebar` for improved responsiveness and structure.
- Ensured consistent use of width properties to enhance user experience across various components.
- Updated `RootLayout` to retrieve sidebar state from cookies, allowing the sidebar's open/closed state to persist across sessions.
- Modified `AppShell` to accept `defaultSidebarOpen` prop, ensuring the sidebar's state is consistent with user preferences.
- Enhanced `SidebarProvider` to manage sidebar state more effectively, including cleanup of legacy cookie names to avoid confusion.
@mrbubbles-src
mrbubbles-src changed the base branch from main to dev February 9, 2026 18:48
@mrbubbles-src
mrbubbles-src merged commit b2d17d9 into dev Feb 9, 2026
6 checks passed
@mrbubbles-src
mrbubbles-src deleted the fix/select branch February 9, 2026 18:49
mrbubbles-src added a commit that referenced this pull request Feb 9, 2026
## What changes and why

This PR brings `dev` up to date with `main` by merging five commits that deliver class-scoped student management, a unified quiz editor with bulk JSON import, select dropdown and version display fixes, and dependency updates.

- **Class-scoped students (#37)**  
  Students are now associated with a class. A shared **ClassSelector** lets users pick the active class; all student operations (add, edit, import, view) and features (generator, breakout rooms, projects, quiz play) use that class’s roster. This gives a single source of truth and clearer UX.

- **Unified quiz editor + bulk JSON import (#36)**  
  Quiz details, question editing, and JSON import live in one **QuizEditorForm**. Support for importing a single quiz or an array of quizzes (bulk merge) was added, with better validation and error handling. The separate quiz import card was removed.

- **Select dropdown and version display (#38)**  
  Shared `SelectContent` defaults to content-fit sizing with an override for trigger-aligned behavior; tests and docs were added. App version is read from `package.json` and shown in the sidebar (e.g. `v1.1.5`) instead of being hardcoded.

- **Other**  
  Question list card behavior was adjusted; dependencies and versions were updated (e.g. shadcn, Prettier sort imports, Tailwind PostCSS, TypeScript, ESLint, express).

## Related issues

- Builds on / includes: #36 (quiz editor), #37 (student/class management), #38 (select + version).

## Scope

Focused on the above feature and fix set. No unrelated changes.

## Tests

- **Added:** `lib/__tests__/classes.test.ts`, `components/quizzes/__tests__/quiz-editor-form.test.tsx`, `components/ui/__tests__/select.test.tsx`.
- **Updated:** `context/__tests__/app-reducer.test.ts`, `components/students/__tests__/student-form.test.tsx`, `lib/__tests__/storage.test.ts`, `lib/__tests__/type-guards.test.ts` for class-scoped state and new behavior.
- No E2E tests added; covered behavior is exercised by the unit/integration tests above.
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.

1 participant