feat: redesign internal news backend UI and add news list modal - #53
Conversation
|
Warning Review limit reached
More reviews will be available in 46 minutes and 16 seconds. Learn how PR review limits work. Your organization has run out of usage credits. Purchase more credits in the billing tab to continue. ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based credits. 🚦 How do rate limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
WalkthroughAdds a backend AJAX endpoint for listing internal news, updates toolbar and template rendering to use a shared list partial, adds JavaScript for opening the list modal and loading item details, adjusts backend styling and detail markup, and extends acceptance fixtures with a news item that includes media. Estimated code review effort🎯 4 (Complex) | ⏱️ ~45 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Coverage Report for CI Build 28238866047Coverage decreased (-2.2%) to 76.178%Details
Uncovered Changes
Coverage RegressionsNo coverage regressions found. Coverage Stats
💛 - Coveralls |
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@ext_tables.sql`:
- Line 11: Remove the literal default from the description TEXT column in
ext_tables.sql so the schema stays compatible across MySQL installs. Update the
CREATE/ALTER table definition for description to keep NOT NULL if needed, but
drop DEFAULT '' rather than changing other column behavior.
In `@Resources/Public/Stylesheets/Backend.css`:
- Around line 187-189: The bare small selector in Backend.css is affecting all
small elements globally instead of only internal-news content. Scope this rule
under the internal-news ancestor used in the stylesheet so the color override
applies only to the intended area, and keep the existing declaration inside that
more specific selector.
- Around line 7-12: The custom properties in Backend.css are scoped only to
:where(.internal-news, .internal-news-detail, .dropdown-headline), so
.internal-news--empty, .dropdown-item-text, and .internal-news--dropdown-footer
do not inherit them. Move the variable definitions out of that selector and onto
a stable shared ancestor such as body or :root so all consumers in
Default/List.html and NewsItemDropDown.html can resolve --in-border,
--in-hover-bg, --in-muted, and --in-accent correctly.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: dae0431e-5ab7-463c-a2ce-a61c651469c7
⛔ Files ignored due to path filters (3)
Resources/Public/Icons/news-color.svgis excluded by!**/*.svgResources/Public/Icons/news.svgis excluded by!**/*.svgTests/Acceptance/Fixtures/files/internal-news-example.pngis excluded by!**/*.png
📒 Files selected for processing (17)
Classes/Controller/DateController.phpClasses/Widgets/Provider/ListInternalNewsButtonProvider.phpConfiguration/Backend/AjaxRoutes.phpConfiguration/TCA/tx_ximatypo3internalnews_domain_model_news.phpResources/Private/Language/de.locallang.xlfResources/Private/Language/locallang.xlfResources/Private/Partials/Detail.htmlResources/Private/Partials/NewsList.htmlResources/Private/Templates/Backend/ToolbarItems/NewsItemDropDown.htmlResources/Private/Templates/Backend/Widgets/List.htmlResources/Private/Templates/Default/List.htmlResources/Public/JavaScript/toolbar.jsResources/Public/JavaScript/utils.jsResources/Public/Stylesheets/Backend.cssTests/Acceptance/Fixtures/internal-news-media.shTests/Acceptance/Fixtures/internal-news.sqlext_tables.sql
💤 Files with no reviewable changes (1)
- Configuration/TCA/tx_ximatypo3internalnews_domain_model_news.php
Summary
fit-content) instead of forcing a fixed large height that left a large empty area760pxwidths)descriptionasTEXTso longer rich-text content no longer hits thevarchar(2000)limitNewsListpartial to remove duplication across the three news-list renderingsChanges
Resources/Public/Stylesheets/Backend.css- Refined card/list/modal styling, list-modal and dropdown-footer stylesResources/Public/JavaScript/utils.js- Content-fit modal size,fetchNewsList()+ list modal, shared close buttonResources/Public/JavaScript/toolbar.js- Bind the "Show all news" triggerResources/Private/Partials/NewsList.html- New shared list partial (used by widget, dropdown, list modal)Resources/Private/Partials/Detail.html- Content wrapper + responsive mediaResources/Private/Templates/Default/List.html- New template for the list modalResources/Private/Templates/Backend/Widgets/List.html- Use sharedNewsListpartialResources/Private/Templates/Backend/ToolbarItems/NewsItemDropDown.html- "Show all news" footer button, updated intro, use shared partialClasses/Controller/DateController.php-listActionrendering the user-filtered news listConfiguration/Backend/AjaxRoutes.php-internal_news_listrouteClasses/Widgets/Provider/ListInternalNewsButtonProvider.php- Version-correct list module route identifier (v14records, v13web_list)ext_tables.sql/Configuration/TCA/...news.php-descriptioncolumn toTEXT, drop themaxcapResources/Private/Language/*.locallang.xlf-toolbaritem.showAlllabel, reworded intro textResources/Public/Icons/news.svg,news-color.svg- Updated toolbar iconsTests/Acceptance/Fixtures/*- Example news item with an attached image (SQL + media-copy script + PNG)Summary by CodeRabbit
New Features
Bug Fixes
Style