Skip to content

08-09-2025

Compare
Choose a tag to compare
@fulleni fulleni released this 08 Sep 16:27
· 388 commits to main since this release

📢 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 to entityUpdated 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]