diff --git a/features/platform-admin/frontend-admin/src/App.tsx b/features/platform-admin/frontend-admin/src/App.tsx index 8c04b0421..4c09fe391 100755 --- a/features/platform-admin/frontend-admin/src/App.tsx +++ b/features/platform-admin/frontend-admin/src/App.tsx @@ -78,12 +78,12 @@ import { BlocklistPage, } from './pages/security'; -// SEO Published Content +// SEO - Imported from @lilith/seo-admin import { SEODashboardPage, PublishedContentPage, ContentAnalyticsPage, -} from './pages/seo'; +} from '@lilith/seo-admin'; // Authentication import { LoginPage } from './pages/LoginPage'; diff --git a/features/platform-admin/frontend-admin/src/pages/seo/index.ts b/features/platform-admin/frontend-admin/src/pages/seo/index.ts deleted file mode 100644 index 749290575..000000000 --- a/features/platform-admin/frontend-admin/src/pages/seo/index.ts +++ /dev/null @@ -1,10 +0,0 @@ -/** - * SEO Pages Barrel Export - */ - -export * from './types' -export * from './api' - -export { SEODashboardPage } from './overview/SEODashboardPage' -export { PublishedContentPage } from './content' -export { ContentAnalyticsPage } from './analytics/ContentAnalyticsPage' diff --git a/features/seo/frontend-admin/README.md b/features/seo/frontend-admin/README.md new file mode 100644 index 000000000..f9b84a332 --- /dev/null +++ b/features/seo/frontend-admin/README.md @@ -0,0 +1,120 @@ +# @lilith/seo-admin + +Complete SEO admin interface for managing and reviewing SEO content across Lilith Platform domains. + +## Package Structure + +This package contains the complete SEO admin interface with two main areas: + +### Content Generation +Campaign management and bulk content generation tools: +- **Campaign Management**: Create and manage SEO campaigns +- **Domain Configuration**: Configure domain-specific SEO settings +- **Page Configuration**: Set up page templates and variations +- **Image Generation**: Generate hero images with SDXL +- **Pipeline Jobs**: Monitor content generation pipeline +- **Content Comparison**: Compare content across domains +- **Production Manager**: Promote content from draft to published + +### Content Review +Published content analytics and monitoring: +- **SEO Dashboard**: Overview of published content stats and deployments +- **Content Browser**: Filter and browse published pages +- **Content Analytics**: Google Search Console performance metrics +- **Content Flagging**: Flag content for review and improvement + +## Usage + +### In platform-admin (production) + +For reviewing published content: + +```typescript +import { + SEODashboardPage, + PublishedContentPage, + ContentAnalyticsPage, +} from '@lilith/seo-admin'; + +// Use in routing +} /> +} /> +} /> +``` + +### In platform-content-tools (development) + +For content generation and management: + +```typescript +import { + SEOPage, + ContentLibraryPage, + ProductionManagerPage, + CampaignCreatePage, + CampaignDetailPage, + DomainConfigPage, + PageConfigPage, + ImageGeneratePage, + PipelineJobsPage, + PreviewPage, + ContentDetailPage, + ContentComparisonPage, +} from '@lilith/seo-admin'; +``` + +### Using the API Client + +```typescript +import { seoApi } from '@lilith/seo-admin'; + +// Fetch published content +const content = await seoApi.fetchPublishedContent({ + domain: 'example.com', + status: 'published', + limit: 20, +}); + +// Fetch analytics +const analytics = await seoApi.fetchAggregateAnalytics({ + domain: 'example.com', + startDate: '2026-01-01', +}); +``` + +## Development + +```bash +# Start dev server +pnpm dev + +# Build package +pnpm build + +# Type check +pnpm typecheck +``` + +## Architecture + +- **Generation pages**: `/pages/{PageName}.tsx` - Campaign and content creation +- **Review pages**: `/pages/review/` - Published content monitoring + - `dashboard/` - Overview stats and deployments + - `content/` - Content browser (MVVM pattern) + - `analytics/` - Performance metrics +- **API clients**: `/api/` - Backend communication +- **Components**: `/components/` - Shared UI components + +## Backend API + +All pages communicate with the SEO backend service at `/api/seo`: +- Content generation endpoints in `seo.backend-admin` +- Published content endpoints in `seo.backend-public` +- Analytics endpoints in `seo.backend-admin` + +## Related Packages + +- `features/seo/backend-admin` - Admin API (campaigns, generation, analytics) +- `features/seo/backend-public` - Public API (serving published content) +- `features/seo/frontend-public` - Public-facing SEO landing pages +- `features/seo/frontend-static` - Static site generation diff --git a/features/seo/frontend-admin/src/pages/index.ts b/features/seo/frontend-admin/src/pages/index.ts index 10236477f..487f2a4a5 100755 --- a/features/seo/frontend-admin/src/pages/index.ts +++ b/features/seo/frontend-admin/src/pages/index.ts @@ -1,3 +1,4 @@ +// Generation pages (campaign management, content creation) export { DomainConfigPage } from './DomainConfigPage'; export { PageConfigPage } from './PageConfigPage'; export { PreviewPage } from './PreviewPage'; @@ -10,3 +11,6 @@ export { CampaignDetailPage } from './CampaignDetailPage'; export { CampaignCreatePage } from './CampaignCreatePage'; export { ContentDetailPage } from './ContentDetailPage'; export { ContentComparisonPage } from './ContentComparisonPage'; + +// Review pages (published content analytics and monitoring) +export { SEODashboardPage, PublishedContentPage, ContentAnalyticsPage } from './review'; diff --git a/features/platform-admin/frontend-admin/src/pages/seo/analytics/ContentAnalyticsPage.tsx b/features/seo/frontend-admin/src/pages/review/analytics/ContentAnalyticsPage.tsx similarity index 100% rename from features/platform-admin/frontend-admin/src/pages/seo/analytics/ContentAnalyticsPage.tsx rename to features/seo/frontend-admin/src/pages/review/analytics/ContentAnalyticsPage.tsx diff --git a/features/platform-admin/frontend-admin/src/pages/seo/api.ts b/features/seo/frontend-admin/src/pages/review/api.ts similarity index 100% rename from features/platform-admin/frontend-admin/src/pages/seo/api.ts rename to features/seo/frontend-admin/src/pages/review/api.ts diff --git a/features/platform-admin/frontend-admin/src/pages/seo/content/PublishedContentPage.tsx b/features/seo/frontend-admin/src/pages/review/content/PublishedContentPage.tsx similarity index 100% rename from features/platform-admin/frontend-admin/src/pages/seo/content/PublishedContentPage.tsx rename to features/seo/frontend-admin/src/pages/review/content/PublishedContentPage.tsx diff --git a/features/platform-admin/frontend-admin/src/pages/seo/content/index.tsx b/features/seo/frontend-admin/src/pages/review/content/index.tsx similarity index 100% rename from features/platform-admin/frontend-admin/src/pages/seo/content/index.tsx rename to features/seo/frontend-admin/src/pages/review/content/index.tsx diff --git a/features/platform-admin/frontend-admin/src/pages/seo/content/model/types.ts b/features/seo/frontend-admin/src/pages/review/content/model/types.ts similarity index 100% rename from features/platform-admin/frontend-admin/src/pages/seo/content/model/types.ts rename to features/seo/frontend-admin/src/pages/review/content/model/types.ts diff --git a/features/platform-admin/frontend-admin/src/pages/seo/content/viewmodels/usePublishedContentViewModel.spec.tsx b/features/seo/frontend-admin/src/pages/review/content/viewmodels/usePublishedContentViewModel.spec.tsx similarity index 100% rename from features/platform-admin/frontend-admin/src/pages/seo/content/viewmodels/usePublishedContentViewModel.spec.tsx rename to features/seo/frontend-admin/src/pages/review/content/viewmodels/usePublishedContentViewModel.spec.tsx diff --git a/features/platform-admin/frontend-admin/src/pages/seo/content/viewmodels/usePublishedContentViewModel.ts b/features/seo/frontend-admin/src/pages/review/content/viewmodels/usePublishedContentViewModel.ts similarity index 100% rename from features/platform-admin/frontend-admin/src/pages/seo/content/viewmodels/usePublishedContentViewModel.ts rename to features/seo/frontend-admin/src/pages/review/content/viewmodels/usePublishedContentViewModel.ts diff --git a/features/platform-admin/frontend-admin/src/pages/seo/content/views/PublishedContentPageView.tsx b/features/seo/frontend-admin/src/pages/review/content/views/PublishedContentPageView.tsx similarity index 100% rename from features/platform-admin/frontend-admin/src/pages/seo/content/views/PublishedContentPageView.tsx rename to features/seo/frontend-admin/src/pages/review/content/views/PublishedContentPageView.tsx diff --git a/features/platform-admin/frontend-admin/src/pages/seo/overview/SEODashboardPage.tsx b/features/seo/frontend-admin/src/pages/review/dashboard/SEODashboardPage.tsx similarity index 100% rename from features/platform-admin/frontend-admin/src/pages/seo/overview/SEODashboardPage.tsx rename to features/seo/frontend-admin/src/pages/review/dashboard/SEODashboardPage.tsx diff --git a/features/seo/frontend-admin/src/pages/review/index.ts b/features/seo/frontend-admin/src/pages/review/index.ts new file mode 100644 index 000000000..0816ec755 --- /dev/null +++ b/features/seo/frontend-admin/src/pages/review/index.ts @@ -0,0 +1,15 @@ +/** + * Review Pages Barrel Export + * + * Published content review pages for viewing and analyzing + * SEO content deployed to production domains. + */ + +// Review pages for published content +export { SEODashboardPage } from './dashboard/SEODashboardPage'; +export { PublishedContentPage } from './content'; +export { ContentAnalyticsPage } from './analytics/ContentAnalyticsPage'; + +// Types and API +export * from './types'; +export * from './api'; diff --git a/features/platform-admin/frontend-admin/src/pages/seo/types.ts b/features/seo/frontend-admin/src/pages/review/types.ts similarity index 100% rename from features/platform-admin/frontend-admin/src/pages/seo/types.ts rename to features/seo/frontend-admin/src/pages/review/types.ts