feat: Complete Intelligence Library + Jumpstart Fix + Frontend Plugins
Intelligence Library: - Add full CRUD managers for Avatar Variants, Spintax, Cartesian Patterns - Update GeoIntelligenceManager to work with cluster/location structure - Create reusable DataTable, CRUDModal, DeleteConfirm components - Add TanStack Table for sorting/filtering/pagination - Add React Hook Form + Zod for form validation - Add export to JSON functionality - Add real-time stats dashboards - Update all Intelligence Library pages to use React components Jumpstart Fix: - Fix 'Error: undefined' when creating generation jobs - Change from storing 1456 posts to config-only approach - Store WordPress URL and auth instead of full inventory - Improve error logging to show actual error messages - Engine will fetch posts directly from WordPress Frontend Master Upgrade: - Install nanostores for state management - Add enhanced Directus client with auth and realtime - Configure PWA with offline support - Enable auto-sitemap generation for SEO - Add Partytown for web worker analytics - Implement image optimization - Add bundle visualizer and Brotli compression - Create sidebar state management Bug Fixes: - Fix colspan typo in ArticleList - Suppress Vite plugin type conflicts (cosmetic only) - Update data structures to match actual Directus schema Documentation: - Add data structure documentation - Add manual fix guides for Intelligence Library - Add schema migration scripts - Document all new features and fixes All components tested and ready for deployment.
This commit is contained in:
@@ -8,7 +8,6 @@ import AstroPWA from '@vite-pwa/astro';
|
|||||||
import { visualizer } from 'rollup-plugin-visualizer';
|
import { visualizer } from 'rollup-plugin-visualizer';
|
||||||
import viteCompression from 'vite-plugin-compression';
|
import viteCompression from 'vite-plugin-compression';
|
||||||
import Inspect from 'vite-plugin-inspect';
|
import Inspect from 'vite-plugin-inspect';
|
||||||
// @ts-expect-error - astro-imagetools types are not fully compatible with Astro v4
|
|
||||||
import { astroImageTools } from 'astro-imagetools';
|
import { astroImageTools } from 'astro-imagetools';
|
||||||
|
|
||||||
// Spark Platform - Multi-Tenant SSR Configuration with Full Plugin Suite
|
// Spark Platform - Multi-Tenant SSR Configuration with Full Plugin Suite
|
||||||
@@ -83,7 +82,6 @@ export default defineConfig({
|
|||||||
optimizeDeps: {
|
optimizeDeps: {
|
||||||
exclude: ['@directus/sdk']
|
exclude: ['@directus/sdk']
|
||||||
},
|
},
|
||||||
// @ts-expect-error - Vite plugin types have minor conflicts between Astro's bundled Vite and external plugins
|
|
||||||
plugins: [
|
plugins: [
|
||||||
// Bundle Analysis: Generate visual report
|
// Bundle Analysis: Generate visual report
|
||||||
visualizer({
|
visualizer({
|
||||||
@@ -92,13 +90,15 @@ export default defineConfig({
|
|||||||
gzipSize: true,
|
gzipSize: true,
|
||||||
brotliSize: true
|
brotliSize: true
|
||||||
}),
|
}),
|
||||||
// Compression: Pre-compress assets
|
// Brotli Compression: Pre-compress assets
|
||||||
|
// @ts-ignore - Vite plugin type mismatch between Astro's bundled Vite
|
||||||
viteCompression({
|
viteCompression({
|
||||||
algorithm: 'brotliCompress',
|
algorithm: 'brotliCompress',
|
||||||
ext: '.br',
|
ext: '.br',
|
||||||
threshold: 1024
|
threshold: 1024
|
||||||
}),
|
}),
|
||||||
// Debug: Inspect Vite transformations
|
// Vite Inspect: Debug transformations at /__inspect/
|
||||||
|
// @ts-ignore - Vite plugin type mismatch
|
||||||
Inspect()
|
Inspect()
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -77,7 +77,7 @@ export default function ArticleList({ initialArticles = [] }: Props) {
|
|||||||
</TableRow>
|
</TableRow>
|
||||||
)) : (
|
)) : (
|
||||||
<TableRow>
|
<TableRow>
|
||||||
<TableCell colspan={6} className="text-center text-slate-500 py-8">
|
<TableCell colSpan={6} className="text-center text-slate-500 py-8">
|
||||||
No articles found.
|
No articles found.
|
||||||
</TableCell>
|
</TableCell>
|
||||||
</TableRow>
|
</TableRow>
|
||||||
|
|||||||
Reference in New Issue
Block a user