ALwrity + Wordpress + Wix + GSC integration

This commit is contained in:
ajaysi
2025-10-08 10:13:14 +05:30
parent 14dfb2e5c0
commit 3bab3450dc
147 changed files with 19815 additions and 17053 deletions

View File

@@ -0,0 +1,350 @@
import React, { useState } from 'react';
import {
Box,
Card,
CardContent,
Typography,
Button,
Grid,
Chip,
Dialog,
DialogTitle,
DialogContent,
DialogActions,
List,
ListItem,
ListItemIcon,
ListItemText,
Divider,
Alert,
LinearProgress
} from '@mui/material';
import {
AutoAwesome as AutoAwesomeIcon,
ContentPaste as ContentIcon,
Psychology as PsychologyIcon,
TrendingUp as TrendingIcon,
Security as SecurityIcon,
Speed as SpeedIcon,
CheckCircle as CheckIcon,
Schedule as ScheduleIcon,
Rocket as RocketIcon,
DataUsage as DataIcon,
Tune as TuneIcon,
SmartToy as SmartToyIcon
} from '@mui/icons-material';
interface ComingSoonSectionProps {
contentCalendar?: any[];
}
export const ComingSoonSection: React.FC<ComingSoonSectionProps> = ({
contentCalendar = []
}) => {
const [openModal, setOpenModal] = useState(false);
const [selectedFeature, setSelectedFeature] = useState<string | null>(null);
const features = [
{
id: 'test-persona',
title: 'Test Your Persona',
description: 'Generate content with different personas to see the difference',
icon: <PsychologyIcon />,
status: 'Coming Soon',
color: '#3b82f6',
details: [
'Compare content generated with and without your persona',
'Test Core, Blog, and LinkedIn personas side-by-side',
'Choose from your content calendar topics',
'Provide feedback to improve your persona',
'AI model settings automatically optimized per persona'
]
},
{
id: 'deep-crawl',
title: 'Deep Website Analysis',
description: 'Crawl 10+ pages for comprehensive persona generation',
icon: <DataIcon />,
status: 'In Development',
color: '#10b981',
details: [
'Analyze multiple blog posts and pages',
'Extract comprehensive writing patterns',
'Understand content themes and topics',
'Generate more accurate personas',
'Better brand voice detection'
]
},
{
id: 'fine-tuning',
title: 'Personal AI Fine-Tuning',
description: 'Train a custom AI model specifically for your brand',
icon: <SmartToyIcon />,
status: 'Planned',
color: '#8b5cf6',
details: [
'Fine-tune Google Gemma model with your data',
'Create your personal AI marketing team',
'Learn from your website, social media, and analytics',
'Generate content that sounds authentically like you',
'Private model - your data stays secure'
]
}
];
const handleFeatureClick = (featureId: string) => {
setSelectedFeature(featureId);
setOpenModal(true);
};
const selectedFeatureData = features.find(f => f.id === selectedFeature);
return (
<>
<Box sx={{ mt: 4, mb: 2 }}>
<Typography variant="h4" sx={{ fontWeight: 700, color: '#1e293b', mb: 1.5 }}>
🚀 Coming Soon
</Typography>
<Typography variant="body1" sx={{ color: '#64748b', mb: 4, fontSize: '1.1rem' }}>
Exciting features in development to make your AI writing even more powerful
</Typography>
<Grid container spacing={2}>
{features.map((feature) => (
<Grid item xs={12} md={4} key={feature.id}>
<Card
sx={{
height: '100%',
cursor: 'pointer',
transition: 'all 0.3s ease',
border: '2px solid #e2e8f0',
backgroundColor: '#ffffff',
'&:hover': {
transform: 'translateY(-4px)',
boxShadow: '0 12px 30px rgba(0, 0, 0, 0.15)',
borderColor: feature.color,
'& .feature-icon': {
transform: 'scale(1.1)',
backgroundColor: `${feature.color}20`
}
}
}}
onClick={() => handleFeatureClick(feature.id)}
>
<CardContent sx={{ p: 3 }}>
<Box sx={{ display: 'flex', alignItems: 'center', mb: 2 }}>
<Box
className="feature-icon"
sx={{
p: 2,
borderRadius: 3,
backgroundColor: `${feature.color}15`,
color: feature.color,
mr: 2,
transition: 'all 0.3s ease',
display: 'flex',
alignItems: 'center',
justifyContent: 'center'
}}
>
{feature.icon}
</Box>
<Box sx={{ flex: 1 }}>
<Typography variant="h6" sx={{ fontWeight: 700, color: '#1e293b', mb: 1 }}>
{feature.title}
</Typography>
<Chip
label={feature.status}
size="small"
sx={{
backgroundColor: `${feature.color}20`,
color: feature.color,
fontWeight: 600,
fontSize: '0.75rem',
height: 24,
'& .MuiChip-label': {
px: 1.5
}
}}
/>
</Box>
</Box>
<Typography variant="body1" sx={{ color: '#64748b', mb: 3, lineHeight: 1.6 }}>
{feature.description}
</Typography>
<Button
variant="outlined"
size="medium"
sx={{
borderColor: feature.color,
color: feature.color,
fontWeight: 600,
px: 3,
py: 1,
borderRadius: 2,
textTransform: 'none',
'&:hover': {
backgroundColor: `${feature.color}15`,
borderColor: feature.color,
transform: 'translateY(-1px)'
}
}}
>
Learn More
</Button>
</CardContent>
</Card>
</Grid>
))}
</Grid>
<Alert
severity="info"
sx={{
mt: 4,
backgroundColor: '#f0f9ff',
border: '2px solid #0ea5e9',
borderRadius: 3,
'& .MuiAlert-icon': {
color: '#0ea5e9',
fontSize: '1.5rem'
}
}}
>
<Typography variant="body1" sx={{ color: '#0c4a6e', fontWeight: 500 }}>
<strong>What's Next:</strong> These features will be available in upcoming releases.
Your current persona is already powerful and ready to use!
</Typography>
</Alert>
</Box>
{/* Feature Details Modal */}
<Dialog
open={openModal}
onClose={() => setOpenModal(false)}
maxWidth="md"
fullWidth
>
<DialogTitle sx={{ pb: 2 }}>
<Box sx={{ display: 'flex', alignItems: 'center', gap: 3 }}>
{selectedFeatureData && (
<>
<Box
sx={{
p: 2,
borderRadius: 3,
backgroundColor: `${selectedFeatureData.color}20`,
color: selectedFeatureData.color,
display: 'flex',
alignItems: 'center',
justifyContent: 'center'
}}
>
{selectedFeatureData.icon}
</Box>
<Box>
<Typography variant="h5" sx={{ fontWeight: 700, color: '#1e293b', mb: 1 }}>
{selectedFeatureData.title}
</Typography>
<Chip
label={selectedFeatureData.status}
size="medium"
sx={{
backgroundColor: `${selectedFeatureData.color}20`,
color: selectedFeatureData.color,
fontWeight: 600,
fontSize: '0.875rem'
}}
/>
</Box>
</>
)}
</Box>
</DialogTitle>
<DialogContent>
{selectedFeatureData && (
<>
<Typography variant="body1" sx={{ color: '#64748b', mb: 4, fontSize: '1.1rem', lineHeight: 1.6 }}>
{selectedFeatureData.description}
</Typography>
<Typography variant="h6" sx={{ fontWeight: 700, mb: 3, color: '#1e293b' }}>
Key Features:
</Typography>
<List sx={{ pl: 0 }}>
{selectedFeatureData.details.map((detail, index) => (
<ListItem key={index} sx={{ pl: 0, py: 1 }}>
<ListItemIcon sx={{ minWidth: 32 }}>
<CheckIcon sx={{ color: selectedFeatureData.color, fontSize: 20 }} />
</ListItemIcon>
<ListItemText
primary={detail}
primaryTypographyProps={{
variant: 'body1',
color: '#374151',
fontWeight: 500
}}
/>
</ListItem>
))}
</List>
{selectedFeatureData.id === 'test-persona' && (
<Box sx={{ mt: 3, p: 2, backgroundColor: '#f8fafc', borderRadius: 2 }}>
<Typography variant="subtitle2" sx={{ fontWeight: 600, mb: 1, color: '#1e293b' }}>
How It Works:
</Typography>
<Typography variant="body2" sx={{ color: '#64748b' }}>
Select a topic from your content calendar, then generate content using different personas
to see how your AI adapts its writing style. Compare the results and provide feedback
to continuously improve your persona.
</Typography>
</Box>
)}
{selectedFeatureData.id === 'fine-tuning' && (
<Box sx={{ mt: 3, p: 2, backgroundColor: '#f0f9ff', borderRadius: 2 }}>
<Typography variant="subtitle2" sx={{ fontWeight: 600, mb: 1, color: '#1e293b' }}>
Privacy & Security:
</Typography>
<Typography variant="body2" sx={{ color: '#64748b' }}>
Your data is used exclusively to train your private AI model. It's never shared
or used for any other purpose. You own your AI, and it works only for you.
</Typography>
</Box>
)}
</>
)}
</DialogContent>
<DialogActions sx={{ p: 3, pt: 1 }}>
<Button
onClick={() => setOpenModal(false)}
variant="outlined"
>
Close
</Button>
<Button
onClick={() => setOpenModal(false)}
variant="contained"
sx={{
backgroundColor: selectedFeatureData?.color || '#3b82f6',
'&:hover': {
backgroundColor: selectedFeatureData?.color || '#3b82f6',
opacity: 0.9
}
}}
>
Notify Me When Ready
</Button>
</DialogActions>
</Dialog>
</>
);
};
export default ComingSoonSection;