Let me first explore the codebase to understand the current structure before implementing the changes.
Now I have a clear picture of the codebase. Let me read the globals.css to understand the theming, then implement all three changes.
Now I have full context. Let me implement all three changes:
Let me set up tasks and start implementing.
Now let me implement the Sources page update with the "Рекламная кампания" toggle:
Now update the "add source" function to include isAdCampaign:
Now update the settings modal to add the "Рекламная кампания" checkbox and the conditional logic:
Now replace the settings modal content section with the new advertising campaign logic:
Also update the badge in the table to show "AD" for ad campaign sources:
Now let's move to task 2 - create the Articles Database page:
Now let's enhance the Analytics page:
Now update the dashboard layout to add the "База Артикулов" nav item:
All four changes have been implemented:
/dashboard/articles) -- A new full-featured page with a searchable table of articles (vendorCode, title, brand, status), an add modal with loading/success/error states simulating API lookup, status toggling, deletion, and a link to analytics filtered by that article.Let me first explore the current codebase to understand all the files that need to change.
Now let me read the remaining parts of content and analytics pages, plus check the rest of the analytics page:
Now I have full context of all files. Let me set up the implementation plan with tasks.
Now let me build the new Performers page. This is a complete rewrite of the Sources page with card grid layout, performer-centric data model, and a full add/edit modal with linked accounts table.
Now update the Content page to replace "Sources" filter with "Performers":
Now I need to replace the "Sources" filter with a "Performers" (Исполнители) filter. The data already has fio for each video entry, so I'll change the filter from username-based to FIO (performer name) based, allowing multi-select.
Now update the filter panel UI to show "Исполнитель" instead of "Источник":
Now update table header label:
Now update the table cell to show performer name first and username underneath, and update the detail side panel label:
Now update the detail side panel to say "Исполнитель" instead of "Источник":
Now update the Analytics page:
Now I need to add a Performer filter to the analytics page. Let me re-read the analytics page to make careful edits:
Now I'll add the performer data and a performer filter alongside the existing article filter. I need to add a performers list, state, and a second filter dropdown:
Now add the performers data list after the articles list:
Now add the performer state to the component and update the filter bar:
Now update the filter bar to include the Performer filter:
Now update the dashboard layout to rename "Источники" to "Исполнители":
All changes are complete. The "Sources" page has been completely rebuilt into a Performers management center with a card grid layout -- each card shows an avatar, name, linked account count, total videos, platform icons, and error/ad status. Clicking a card opens a full edit modal with performer name and a linked accounts table where each row has platform selector, profile URL input, date picker for parse-from date, status indicator, last updated time, and an ad campaign toggle per account. The Content and Analytics pages now filter by "Исполнитель" (performer name/FIO) instead of individual source usernames, and the sidebar navigation reflects the renamed section.
You can send messages while the preview loads