Skip to content

Conversation

Copy link

Copilot AI commented Nov 17, 2025

Matrix Mode panel showed version/effect as static text, lacked page title updates, and displayed unused Spotify controls.

Changes

Interactive Mode Selection

  • Version and Effect are now <select> dropdowns populated from getAvailableModes() and getAvailableEffects()
  • Dropdown changes trigger page reload with updated URL parameters
  • Selections sync with current URL state

Dynamic Page Title

  • Added updatePageTitle(config) that formats title as "Matrix - {Version} / {Effect}"
  • Updates on initial load, dropdown changes, and auto mode switching
  • Works in both browser and PWA contexts

UI Cleanup

  • Removed "Show Spotify Controls" checkbox from mode display
  • Spotify UI now hidden by default (visible: false)
  • Removed deprecated "trans" effect from getAvailableEffects() array

Documentation

  • Added UI Components Architecture section to .github/copilot-instructions.md
  • Documented event system, integration points, and available effects list

Screenshots

Before: Static text display with unused Spotify toggle
Before

After: Interactive dropdowns, clean UI
After

Original prompt

This section details on the original issue you should resolve

<issue_title>matrix mode should have some QOL changes.</issue_title>
<issue_description>1. Version and effect should be a dropdown with list of options.
2. auto mode switching and switch mode now should change title to have version and effect in title

  • verify pwa and normal site will have updated title.
  1. remove show spotify controls and empoty box in corner
Image

Image</issue_description>

Comments on the Issue (you are @copilot in this section)


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Copilot AI and others added 2 commits November 17, 2025 15:42
…ols checkbox

- Convert Version and Effect from text display to interactive dropdowns
- Populate dropdowns from getAvailableModes() and getAvailableEffects()
- Wire up dropdown change events to reload page with new parameters
- Add updatePageTitle() function to update document.title with current version/effect
- Page title format: "Matrix - {Version} / {Effect}"
- Title updates on page load, dropdown changes, and auto mode switching
- Remove "Show Spotify Controls" checkbox from mode display panel
- Hide Spotify UI by default (visible=false)
- Update copilot instructions with UI component architecture details

Co-authored-by: ap0ught <41078+ap0ught@users.noreply.github.com>
- Remove "trans" from getAvailableEffects() array in config.js
- Update copilot instructions to document that trans effect was removed
- Note: Service worker caching may require cache version bump for immediate effect

Co-authored-by: ap0ught <41078+ap0ught@users.noreply.github.com>
Copilot AI changed the title [WIP] Add QOL changes to matrix mode functionality Add version/effect dropdowns and dynamic title to Matrix Mode UI Nov 17, 2025
Copilot AI requested a review from ap0ught November 17, 2025 15:51
Copilot finished work on behalf of ap0ught November 17, 2025 15:51
@github-actions
Copy link

github-actions bot commented Nov 17, 2025

🎬 PR Preview Deployed!

Your changes are now available for testing:

Preview URL: https://ap0ught.github.io/matrix/pr-66/

Test Links:

The preview will be updated automatically when you push new commits.


Preview deployed from commit 3133549

@ap0ught ap0ught marked this pull request as ready for review November 17, 2025 15:53
Copilot AI review requested due to automatic review settings November 17, 2025 15:53
Copilot finished reviewing on behalf of ap0ught November 17, 2025 15:55
@ap0ught ap0ught merged commit e92a7ca into master Nov 17, 2025
13 checks passed
@ap0ught ap0ught deleted the copilot/qol-changes-for-matrix-mode branch November 17, 2025 15:55
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR enhances the Matrix Mode UI with interactive controls and dynamic page titles. The changes transform static text displays into functional dropdowns and add quality-of-life improvements to the user interface.

Key changes:

  • Version and Effect fields converted from static text to interactive <select> dropdowns
  • Added dynamic page title updates that reflect current version/effect (format: "Matrix - {Version} / {Effect}")
  • Removed Spotify controls checkbox from Mode Display panel and set Spotify UI to hidden by default
  • Removed deprecated "trans" effect from available effects list

Reviewed Changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.

File Description
js/mode-display.js Added imports for available modes/effects, replaced static text with dropdowns, removed Spotify toggle, added formatModeName method
js/main.js Added updatePageTitle function, updated event handlers for dropdown changes, set Spotify UI to hidden by default
js/config.js Removed "trans" from getAvailableEffects array
.github/copilot-instructions.md Added UI Components Architecture documentation section detailing dropdown functionality and page title behavior

Comment on lines +396 to +401
formatModeName(name) {
return name
.split(/(?=[A-Z])|[_-]/) // Split on camelCase, underscores, and hyphens
.map((word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())
.join(" ");
}
Copy link

Copilot AI Nov 17, 2025

Choose a reason for hiding this comment

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

The formatModeName method is duplicated across three files (mode-display.js, main.js, and mode-manager.js). This violates the DRY (Don't Repeat Yourself) principle and creates maintenance overhead. Consider extracting this to a shared utility module (e.g., js/utils.js) and importing it where needed, or reusing the existing implementation from ModeManager.

Copilot uses AI. Check for mistakes.
Copy link
Owner

Choose a reason for hiding this comment

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

@copilot apply changes based on this feedback

Comment on lines +342 to +347
const formatName = (name) => {
return name
.split(/(?=[A-Z])|[_-]/)
.map((word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())
.join(" ");
};
Copy link

Copilot AI Nov 17, 2025

Choose a reason for hiding this comment

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

The formatName function duplicates the same logic as formatModeName in mode-manager.js and mode-display.js. This code duplication creates maintenance overhead. Consider importing a shared utility function instead of defining this inline.

Copilot uses AI. Check for mistakes.
Copy link
Owner

Choose a reason for hiding this comment

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

@copilot apply changes based on this feedback

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.

matrix mode should have some QOL changes.

2 participants