- Implemented the main view for Supplemental Feeds, displaying clients with Merchant Account IDs and their associated feed files.
- Added styling for the feeds page and its components, including headers, empty states, and dropdown menus for syncing actions.
- Created backend logic to generate supplemental feeds for clients, including file handling and data sanitization.
- Integrated new routes and views for managing feeds, ensuring proper data retrieval and display.
- Updated navigation to include the new Supplemental Feeds section.
- Added necessary documentation for CRON job management related to feed generation.
- Introduced a new button to toggle the status of keywords between PAUSED and ENABLED in the keywords table.
- Added corresponding styles for the toggle button to enhance user experience.
- Updated the keywords table rendering logic to display the status and toggle button correctly.
- Created a new migration to add a 'status' column to the 'campaign_keywords' table, defaulting to 'ENABLED'.
- Added a toolbar for adding keywords in the campaign terms view.
- Implemented match type change functionality with a confirmation dialog.
- Added delete functionality for keywords with confirmation.
- Updated styles for new buttons and icons in the campaign terms view.
- Enhanced product view with warning icons for product alerts and corresponding modal display.
- Updated product table to include a new column for warnings and adjusted column visibility settings.
- Documented project overview, code style conventions, suggested commands, and task completion checklist.
- Implemented a new logs page with filters for level, source, and date range.
- Added a data table to display logs with pagination and sorting capabilities.
- Created backend functionality to fetch logs data based on filters.
- Introduced a new Logs class for handling log data operations.
- Added a new database migration for the logs table.
- Enhanced UI with custom checkbox styles for better user experience.
- Updated navigation to include a link to the logs page.
- Added a new field to display the cron URL plan in user settings.
- Updated JavaScript to handle the new plan data.
refactor: Unify product model and migrate data
- Migrated product data from `products_data` to `products` table.
- Added new columns to `products` for better data organization.
- Created `products_aggregate` table for storing aggregated product metrics.
chore: Drop deprecated products_data table
- Removed `products_data` table as data is now stored in `products`.
feat: Add merchant URL flags to products
- Introduced flags for tracking merchant URL status in `products` table.
- Normalized product URLs to handle empty or invalid values.
feat: Link campaign alerts to specific products
- Added `product_id` column to `campaign_alerts` table for better tracking.
- Created an index for efficient querying of alerts by product.
chore: Add debug scripts for client data inspection
- Created debug scripts to inspect client data from local and remote databases.
- Included error handling and output formatting for better readability.
- Set max-width and overflow properties for body and campaigns-page to enhance responsiveness.
- Adjust flex properties and min-width for filter groups to ensure proper layout.
- Refactor spacing and formatting for better readability in various sections.
- Hide scrollbars for specific elements to improve aesthetics.
- Ensure consistent formatting for nested selectors and properties.
- Changed font from Open Sans to Roboto in layout files.
- Added campaign and ad group filters in products main view.
- Enhanced product history to include campaign and ad group IDs.
- Updated migrations to support new campaign and ad group dimensions in product statistics.
- Introduced new migration files for managing campaign types and dropping obsolete columns.
- Create migration for global settings table and add google_ads_customer_id and google_ads_start_date columns to clients table.
- Add migration to include product_url column in products_data table.
- Insert demo data for campaigns, products, and their history for client 'pomysloweprezenty.pl'.
- Implement client management interface with modals for adding and editing clients, including Google Ads Customer ID and data retrieval start date.
- Implemented Google Taxonomy loading via AJAX in main_view.php, allowing users to select categories for products.
- Enhanced product editing modal to include fields for product title, description, and Google category selection.
- Updated AJAX calls to save product data, including custom title, description, and selected Google category.
- Added character count validation for product title input.
- Integrated Select2 for improved category selection UI.
- Created google-taxonomy.php to fetch and cache Google Taxonomy data, ensuring efficient retrieval and fallback mechanisms.
- Removed outdated custom feed XML file.
- Updated layout-logged.php to include necessary Select2 styles and scripts.