feat: fix 5 collection pages (campaigns, jobs, spintax, geo)

This commit is contained in:
cawcenter
2025-12-14 23:06:12 -05:00
parent 4e039e10c4
commit 2a0674e04f
5 changed files with 55 additions and 62 deletions

View File

@@ -3,11 +3,8 @@
* Campaign Masters Management
* Full CRUD for campaign_masters collection
*/
import AdminLayout from '@/layouts/AdminLayout.astro';
import { getDirectusClient } from '@/lib/directus/client';
import { readItems, createItem } from '@/lib/directus/client';
const client = getDirectusClient();
import AdminLayout from '../../../layouts/AdminLayout.astro';
import CollectionTable from '../../../components/admin/CollectionTable';
let campaigns = [];
let error = null;
@@ -34,7 +31,14 @@ try {
}
---
<AdminLayout title="Campaign Masters">
<AdminLayout title="Campaigns">
<CollectionTable
endpoint="/api/collections/campaign_masters"
columns={['name', 'campaign_type', 'status', 'created_at']}
title="Campaigns"
client:load
/>
</AdminLayout>
<div class="space-y-6">
<!-- Header -->
<div class="flex justify-between items-center">

View File

@@ -1,20 +1,13 @@
---
import Layout from '@/layouts/AdminLayout.astro';
import CartesianManager from '@/components/admin/intelligence/CartesianManager';
import AdminLayout from '../../../layouts/AdminLayout.astro';
import CollectionTable from '../../../components/admin/CollectionTable';
---
<Layout title="Cartesian Patterns | Spark Intelligence">
<div class="p-8 space-y-6">
<div class="flex justify-between items-start">
<div>
<h1 class="text-3xl font-bold text-white tracking-tight">📐 Cartesian Patterns</h1>
<p class="text-zinc-400 mt-2 max-w-2xl">
Create logic-based sentence formulas. Combine text, spintax, and variables like
<code>&#123;city&#125;</code> or <code>&#123;service&#125;</code> to generate millions of unique combinations.
</p>
</div>
</div>
<CartesianManager client:only="react" />
</div>
</Layout>
<AdminLayout title="Spintax Patterns">
<CollectionTable
endpoint="/api/collections/spintax_patterns"
columns={['name', 'category', 'created_at']}
title="Cartesian Patterns"
client:load
/>
</AdminLayout>

View File

@@ -4,10 +4,7 @@
* Queue monitoring and job management for content_fragments collection
*/
import AdminLayout from '@/layouts/AdminLayout.astro';
import { getDirectusClient } from '@/lib/directus/client';
import { readItems } from '@/lib/directus/client';
const client = getDirectusClient();
import CollectionTable from '@/components/admin/CollectionTable.astro';
let jobs = [];
let error = null;
@@ -37,7 +34,14 @@ try {
}
---
<AdminLayout title="Generation Jobs">
<AdminLayout title="Generation Queue">
<CollectionTable
endpoint="/api/collections/generation_jobs"
columns={['job_type', 'status', 'progress', 'created_at']}
title="Generation Queue"
client:load
/>
</AdminLayout>
<div class="space-y-6">
<!-- Header -->
<div class="flex justify-between items-center">

View File

@@ -1,21 +1,20 @@
---
import Layout from '@/layouts/AdminLayout.astro';
import GeoIntelligenceManager from '@/components/admin/intelligence/GeoIntelligenceManager';
import { CoreProvider } from '@/components/providers/CoreProviders';
import AdminLayout from '../../../layouts/AdminLayout.astro';
import CollectionTable from '../../../components/admin/CollectionTable';
import CampaignMap from '../../../components/admin/CampaignMap';
---
<Layout title="Geo Intelligence | Spark Platform">
<div class="p-8 space-y-6">
<div class="flex justify-between items-start">
<div>
<h1 class="text-3xl font-bold text-white tracking-tight">🌍 Geo Intelligence</h1>
<p class="text-zinc-400 mt-2">
Visualize your market dominance. Manage region clusters and target specific cities for localized content campaigns.
</p>
</div>
</div>
<CoreProvider client:load>
<GeoIntelligenceManager client:only="react" />
</CoreProvider>
<AdminLayout title="Geo Intelligence">
<div class="space-y-8">
<CollectionTable
endpoint="/api/collections/geo_locations"
columns={['city', 'state', 'county', 'content_generated', 'created_at']}
title="Geographic Locations"
client:load
/>
<div class="h-96">
<CampaignMap client:load />
</div>
</div>
</Layout>
</AdminLayout>

View File

@@ -1,20 +1,13 @@
---
import Layout from '@/layouts/AdminLayout.astro';
import SpintaxManager from '@/components/admin/intelligence/SpintaxManager';
import AdminLayout from '../../../layouts/AdminLayout.astro';
import CollectionTable from '../../../components/admin/CollectionTable';
---
<Layout title="Spintax Dictionaries | Spark Intelligence">
<div class="p-8 space-y-6">
<div class="flex justify-between items-start">
<div>
<h1 class="text-3xl font-bold text-white tracking-tight">📚 Spintax Library</h1>
<p class="text-zinc-400 mt-2 max-w-2xl">
Manage your vocabulary variations. Use these sets to generate diverse, non-repetitive content
using <code>&#123;key|word|variant&#125;</code> syntax.
</p>
</div>
</div>
<SpintaxManager client:only="react" />
</div>
</Layout>
<AdminLayout title="Spintax Dictionaries">
<CollectionTable
endpoint="/api/collections/spintax_dictionaries"
columns={['name', 'category', 'created_at']}
title="Spintax Dictionaries"
client:load
/>
</AdminLayout>