Clean up all major issues in existing forms.#1166
Conversation
…on't get properly deleted
|
The contrast form ( Screen.Recording.2026-05-07.at.12.53.32.PM.mov |
|
Seems like if there are no changes to be saved, you can actually spam the save button and create an endless chain of alerts. Some sort of cooldown could be added on the frontend to prevent this. Screen.Recording.2026-05-07.at.1.00.13.PM.mov |
|
Close form after deleting something (such as from |
|
The focus seems to acting a bit weird on the Screen.Recording.2026-05-08.at.11.22.10.AM.mov |
|
The |
|
The List Form seems to have some weird behaviour with saving (I don't know if it is intentional). On a successful save the modal jumps to the next issue (or close the modal) rather than showing the fixed state of the issue. This may due to how list forms are grouped. |
|
The List form only marks an element as a potential barrier if it has 1 white space after the list indicator (numbers or dashes). For example Only the middle element is marked as a list error in both of these cases |
|
Text spacing slider which is found in the settings page seems to be broken. It does not create spacing between text locally or in the database. |
I manually installed |
Ishfaq-code
left a comment
There was a problem hiding this comment.
Functionality wise the forms look good and useable. Couple of tiny bugs that mess with the UI/nitpicks but nothing that makes the forms unusable in anyway. Should be fairly easy fixes and then good to merge.



It's totally cool. I only changed 98 files this time... I am so, so sorry.
Cleaned up some unused files...
Deleted:
Changed the Forms' Update Process
Most forms still just rewrite a tiny bit of HTML without any major changes. When this happens, they put the new HTML in the
issue.newHtmlattribute and call thehandleActiveIssuefunction. Up in thefixIssuesPage.jscomponent, that function replaces the original element with the new one. This produces an update to thetempActiveContentItem, which is (1) ready to be saved, with all the new HTML exactly as it needs to be, and (2) sent to thehtmlPreview.jscomponent, where extra code is added just for UDOIT, like the class that shows the red outline or the Alt Text Preview widget.Additionally, when forms also change the overall page (like the
SelectValidIdForm.js), the newcontentItemis passed along with the newissuein thehandleActiveIssuefunction. This has removed the need for a separatehandleActiveContentItemfunction andhandleContentItemSavefunction in theFixIssuePage.js.When the "Save" button is clicked, it just instantly saves the
tempActiveContentItemwhich is already prepared.Major Reworks of Certain Forms
Rebuilt major sections of all of the student-built forms to make them match the rest of the app in style and the new saving flow. Wish I'd cleaned up the saving flow BEFORE they built them, but future forms really should be fairly easy to build out now.
Handle "Delete Element" Without Crashing
On forms where one of the valid options is to delete the problematic element, special care must be taken to make sure that the preview doesn't crash. Now, when a form has selected that option, the preview DOES delete the element but does NOT launch the "Accessibility Barrier Not Found" popup or lose focus on the preview screen.
Changed Where User Preference Classes are Placed
Before, all of the classes that render the app differently based on preferences (font type and size, dark mode, etc) were added to the
#app-containerelement. That worked well EXCEPT when we want to apply these styles to TinyMCE popups and other dialogs which are added programmatically.App.jsnow has anaddSettingsClassesfunction, which applies the classes to the<body>element, where they can be inherited by<dialog>s.Full Screen Option
Completely reworked the header to add a full-screen option. It was surprisingly difficult to get everything to align properly and compute when to show the hamburger menu instead of the link names.
Dynamic Colors for Reports Screen
Made accessible colors for the reports chart in both light and dark mode.
Comprehensive Design Audit
Worked with Tory over three different days to do a final version of all flows and pages in both light and dark mode across all screen sizes. A whole lot of small CSS and class changes that affected the entire app.