Skip to content

Commit

Permalink
Redesign lecture edit page for lecturers (#628)
Browse files Browse the repository at this point in the history
* Upgrade Rails to v7.1 and run `bundle update`

See the upgrade guide here:
https://edgeguides.rubyonrails.org/upgrading_ruby_on_rails.html

* Use older version of `html-parser` for `thredded`

See thredded/thredded#979

* Use new `config.autoload_lib` in Rails 7.1

See https://edgeguides.rubyonrails.org/upgrading_ruby_on_rails.html#config-autoload-lib-and-config-autoload-lib-once

Eager loading is on by default for production.

* Remove unused app environment variables usage

The file `config/app_environment_variables.rb` does not exist in our
codebase anymore.

* Run `bin/rails app:update` to update configurations

* Add new framework defaults for Rails 7.1 file

* Update `listen` gem version

This was done because `bin/rails app:update` failed with:
** Execute app:update:active_storage
       rails  active_storage:update
bin/rails aborted!
Gem::LoadError: can't activate listen (~> 3.5), already activated listen-3.0.8.
Make sure all dependencies are added to Gemfile.

* Add TODO note for upcoming serialize change

* Reduce new framework defaults list

* Add migrations introduced by rails update task

* Remove unneeded ActiveStorage migrations

* Remove defaults for sha-256 as we are unaffected

* Use new Rails 7.1 defaults

* Fix TODO rubocop warning

* Update bundler version to 2.5.9

You can do so locally via `bundle update --bundler`

* Remove unnecessary entries in `Gemfile.lock`

Performed automatically via `bundle install`.

* Address `Passing the coder as positional arg` deprecation

This is a followup to rails/rails#47463

* add yaml coder explicitly for serializing arrays

* Migrate from globalize to mobility due to serialization warnings

* Update gem lockfile to include `mobility`

`bundle install` also removed globalize automatically for us.

* Add `I18nLocaleAccessors` as replacement for `globalize_attribute_names`

* Remove obsolete comment regarding `globalize`

* Fix Rails `secrets` deprecation warning (Devise)

This is due to heartcombo/devise#5644.

* Use `install_folder` in cypress on rails

`cypress_folder` is deprecated as config option

* Init dummy Bootstrap nav pills

* Group accordion items into nav pane

* Style pillars & improve accessibility

* Remove accordion wrappers & design lecture content pane

* Center lectures header & improve vertical alignment

* Add margin to bottom of lecture pane

* Internationalize lectures navbar headers

* Decaffeinate `lectures.coffee`

via local CLI of decaffeinate
see https://decaffeinate-project.org/

* Format `lectures.js` according to ESLint

* Remove unnecessary use of Array.from

* Use shorter variations of null checks

* Remove unnecessary Coffeescript comment

* Fix ESLint errors

* Make better use of JS function syntax

* Configure url hashes for bootstrap tabs

Might also be known as "deep linking".

* Simplify url hash update logic

* Remove unused variable `s`

* Use focus listener (not click listener) for accessibility

* Implement many small UI improvements in lectures

* Re-initialize masonry grid system for lecture content

* Remove unnecessary spacing

* Add confirmation dialog to delete forum

* Add scrollbar to announcements list if too long

* Redirect to correct page after creating a new announcement

* Redirect to correct page after "Forum" actions

* Redirect to correct page after "Comments" actions

* Increase bottom margin of lecture pane

* Check if errors are present to avoid nil error

* Fix valid_annotations_status include check

* Only load lectures_admin js related code when needed

We also perform an early return if we no erdbeere examples are searched for, i.e.
when the element is not yet visible on the page.

* Use icons for save/cancel in assignments table

* Fix structures cancel button (erdbeere)

* Improve positioning of "structures" text

* Get rid of unused debug message

* Fix import of media for lectures not working

* Remove TODO note

* Delete unused tags/modal partial rendering

* Stay on subpage upon save action

* Fix broken browser navigation

* Fix weird masonry grid system bug

* Wait until tab content is shown before setting up grid system

---------

Co-authored-by: fosterfarrell9 <[email protected]>
  • Loading branch information
Splines and fosterfarrell9 authored May 30, 2024
1 parent 35912c5 commit 4ead9d5
Show file tree
Hide file tree
Showing 31 changed files with 1,385 additions and 1,326 deletions.
1 change: 1 addition & 0 deletions .config/eslint.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ const customGlobals = {

// Common global methods
initBootstrapPopovers: "readable",
initMasonryGridSystem: "readable",

// Thyme & Annotation tool globals
// TODO: This is a "hack" right now to get rid of "xy is not defined" error
Expand Down
1 change: 1 addition & 0 deletions app/assets/javascripts/application.js
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
//= require lectures
//= require lessons
//= require main
//= require masonry_grid
//= require media
//= require notifications
//= require profile
Expand Down
351 changes: 0 additions & 351 deletions app/assets/javascripts/lectures.coffee

This file was deleted.

Loading

0 comments on commit 4ead9d5

Please sign in to comment.