08-09-2025
📢 Local Ad Management, Config UI Overhaul & Performance Optimizations
This is a major release for the web dashboard, introducing a comprehensive system for managing local ads, a ground-up refactoring of the application configuration UI for better modularity, and significant architectural changes to improve user experience and performance.
📢 Local Ad Management System
A complete system for managing self-hosted advertisements has been integrated into the dashboard. This allows administrators to directly control and deploy various types of ads without relying on external ad networks.
- Added a full suite of UI pages and forms for creating, editing, archiving, and restoring local ads, supporting native, banner, interstitial, and video ad types. [#74]
- Integrated new data clients and repositories for
LocalAd
entities to ensure seamless data handling. [#74] - Expanded localization with numerous new strings for local ad management and generalized existing ad-related terminology. [#74, #76]
⚙️ App Configuration & Content Management Refactor
The core sections for managing application settings and content have been significantly re-architected to improve usability, maintainability, and user experience.
- Modular Configuration UI: The monolithic App Configuration page has been broken down into dedicated, tab-based components (
Feed
,Advertisements
,General
), making the settings easier to navigate and manage. [#72, #73] - Centralized Selection Component: Replaced disparate dropdowns across content management forms with a new, generic
SearchableSelectionInput
widget, providing a consistent UI with search and pagination for selecting items like topics, sources, and countries. [#69] - Decoupled BLoC Logic: Refactored the Create/Edit BLoCs to be leaner by decoupling them from the responsibility of fetching and managing lists of related entities, which is now handled by the new generic selection components. [#69]
- Reactive Data Updates: The
ContentManagementBloc
now listens toentityUpdated
streams from data repositories for more automatic and efficient UI updates, removing the need for explicit event dispatches. [#69] - Optimized Data Fetching: Added conditional checks to prevent redundant API calls for headlines, topics, and sources when switching tabs if the data is already loaded. [#71]
- Granular Ad Settings: The ad configuration UI was further refactored to introduce a global ad enable/disable switch and provide more granular control, such as selecting a specific
BannerAdShape
for article ads. [#75, #77]
🎨 UI/UX & Theming Improvements
Several changes were made to improve visual consistency and clarity throughout the dashboard.
- "Dashboard" to "Overview" Renaming: Systematically renamed the "dashboard" feature to "overview" across UI elements, localization files, BLoCs, and file structures for better clarity. [#66]
- Consistent Web Theming: Wrapped the main router content in a
Scaffold
to apply a consistent, theme-adaptive background color outside of the central content area, improving the visual presentation on wider screens. [#67] - Localization Refinements: Updated UI text to be more concise and accurate, such as clarifying that content management pertains to the "mobile application". [#68, #70]