Skip to content

feat: Enhance UI with semester-picker, CourseSettings, and color palette#190

Merged
abc873693 merged 5 commits into
abc873693:masterfrom
TWCkaijin:feat/rearrange-course-page
May 26, 2026
Merged

feat: Enhance UI with semester-picker, CourseSettings, and color palette#190
abc873693 merged 5 commits into
abc873693:masterfrom
TWCkaijin:feat/rearrange-course-page

Conversation

@abcd1234davidchen
Copy link
Copy Markdown
Contributor

This pull request introduces several improvements and feature additions to the course UI and localization system. The main highlights include updating and adding short semester names in both English and Traditional Chinese, refining course-related terminology, and enhancing the CourseScaffold widget with a new settings menu, improved palette selection workflow, and more flexible configuration options.

Localization Updates

English and Traditional Chinese Locales:

  • Added short semester names (e.g., "Fall", "Spring", "上", "下") for both English and Traditional Chinese, including corresponding getters and JSON entries. [1] [2] [3] [4] [5] [6]
  • Updated the translation for the main course label from "Class Schedule"/"學期課表" to "Schedule"/"課表" for clarity and consistency in both languages. [1] [2] [3] [4] [5] [6]

UI and Scaffold Enhancements

CourseScaffold and Settings:

  • Replaced the palette selector button with a new menu/settings button (ApIcon.menu) that opens a comprehensive settings dialog (CourseSettings.show). This dialog allows users to change the course palette and toggle additional course display options, streamlining the user experience. [1] [2] [3]
  • Refactored palette selection logic into a separate method (_applyPickedPalette) for better maintainability.
  • Added support for passing a custom UI config to the semester picker via the new semesterPickerUiConfig parameter. [1] [2] [3] [4]
  • Added an optional showSearchButton configuration to CourseConfig for greater flexibility.

General Improvements:

  • Exported the new course_settings.dart widget for broader use.
  • Minor code cleanups and improved formatting for readability and consistency. [1] [2] [3] [4]

These changes collectively enhance both the localization coverage and the configurability of the course UI, making it more user-friendly and easier to maintain.

@abcd1234davidchen abcd1234davidchen changed the title Enhance UI with semester-picker, CourseSettings, and color palette feat: Enhance UI with semester-picker, CourseSettings, and color palette May 13, 2026
Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request refactors the course settings UI by replacing the settings dialog and palette picker with a new CourseSettings bottom sheet. It introduces the 'Luster' color palette (with light and dark variants), updates localization strings for shorter schedule titles and semester names, and adds support for short semester names in the SemesterPicker. Additionally, CourseScaffold now supports showSearchButton and semesterPickerUiConfig. Feedback was provided regarding an inconsistency in CourseSettings where the initialChildSize calculation logic does not match the palette selector's visibility condition.

Comment thread packages/ap_common_flutter_ui/lib/src/widgets/course_settings.dart Outdated
…dart

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
@abc873693 abc873693 merged commit 5aa049f into abc873693:master May 26, 2026
3 checks passed
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.

2 participants