* Add footer component for widget box
* Add footer component to the widget box as a slot
* Change projects widget to show the favorite projects
* Fix failing test
* Change the subitems widget
* Change the costs and budgets widgets
* Change the meeting widget
* Change the WPs widget in version
* Change memebers widget in project overview
* Change the favorite projects widget in my page
# Conflicts:
# frontend/src/app/shared/components/grids/widgets/project-favorites/widget-project-favorites.component.ts
* Add the widget box to the lookbook
* Add footer for members widget in dashboard
* Fix members widget capability check
* Add feature spec for favorites projects in my page
* Remove committed demo project gitlink
* Remove temporary body variables from the costs and budgets widget templates
* Remove the scroll for favorites widget
* Remove scrollbar for members and favorite projects widgets
* Change projects block to favorite projects
* Refine feature specs
* Fix the widget footer styles globally
* Rename the component name from project favorites to favorite projects
* Rename the test selector for project name
* Move widget content inside the body
* grid widgets stretch their content area so widget footers stay pinned to the bottom
* Ensure frontend-rendered grid widgets keep their turbo-loaded content in the widget flex layout so server-rendered footers stay pinned to the bottom
* Remove loud warning and replace it with a normal text, for better demoing
* Update config/locales/en.yml
Co-authored-by: Alexander Brandon Coles <a.coles@openproject.com>
---------
Co-authored-by: Alexander Brandon Coles <a.coles@openproject.com>
Drops superfluous `Component` suffix: the `Widgets` namespace should
make the type and purpose sufficiently clear. This also makes naming
consistent with homescreen blocks.
Moves components (including templates, styles, I18n strings), associated
controllers and routing under the grids module.
This change reflects the fact that widgets may be (re)used
across various different grids, e.g. Overviews/Dashboard, My Page and
Homescreen.
Componentizes blocks (inheriting from `Grid::WidgetComponent`) as well
as implementing `BlocksGridComponent`.
Moves responsibility for data loading from controller to individual
block components.