Phase 1: Progress modal text, SiteSerializer fields, Notification store, SiteCard checklist
- Improved progress modal messages in ai/engine.py (Section 4) - Added keywords_count and has_integration to SiteSerializer (Section 6) - Added notificationStore.ts for frontend notifications (Section 8) - Added NotificationDropdownNew component (Section 8) - Added SiteSetupChecklist to SiteCard in compact mode (Section 6) - Updated api.ts Site interface with new fields
This commit is contained in:
@@ -2,6 +2,7 @@ import { ReactNode } from 'react';
|
||||
import Switch from '../form/switch/Switch';
|
||||
import Button from '../ui/button/Button';
|
||||
import Badge from '../ui/badge/Badge';
|
||||
import SiteSetupChecklist from '../sites/SiteSetupChecklist';
|
||||
import { Site } from '../../services/api';
|
||||
|
||||
interface SiteCardProps {
|
||||
@@ -41,6 +42,12 @@ export default function SiteCard({
|
||||
|
||||
const statusText = getStatusText();
|
||||
|
||||
// Setup checklist state derived from site data
|
||||
const hasIndustry = !!site.industry || !!site.industry_name;
|
||||
const hasSectors = site.active_sectors_count > 0;
|
||||
const hasWordPressIntegration = site.has_integration ?? false;
|
||||
const hasKeywords = (site.keywords_count ?? 0) > 0;
|
||||
|
||||
return (
|
||||
<article className="rounded-2xl border border-gray-200 bg-white dark:border-gray-800 dark:bg-white/3">
|
||||
<div className="relative p-5 pb-9">
|
||||
@@ -75,6 +82,18 @@ export default function SiteCard({
|
||||
</Badge>
|
||||
)}
|
||||
</div>
|
||||
{/* Setup Checklist - Compact View */}
|
||||
<div className="mt-3">
|
||||
<SiteSetupChecklist
|
||||
siteId={site.id}
|
||||
siteName={site.name}
|
||||
hasIndustry={hasIndustry}
|
||||
hasSectors={hasSectors}
|
||||
hasWordPressIntegration={hasWordPressIntegration}
|
||||
hasKeywords={hasKeywords}
|
||||
compact={true}
|
||||
/>
|
||||
</div>
|
||||
{/* Status Text and Circle - Same row */}
|
||||
<div className="absolute top-5 right-5 flex items-center gap-2">
|
||||
<span className={`text-sm ${statusText.color} ${statusText.bold ? 'font-bold' : ''} transition-colors duration-200`}>
|
||||
|
||||
Reference in New Issue
Block a user