Section 3-8 - #MIgration Runs -

Multiple Migfeat: Update publishing terminology and add publishing settings

- Changed references from "WordPress" to "Site" across multiple components for consistency.
- Introduced a new "Publishing" tab in Site Settings to manage automatic content approval and publishing behavior.
- Added publishing settings model to the backend with fields for auto-approval, auto-publish, and publishing limits.
- Implemented Celery tasks for scheduling and processing automated content publishing.
- Enhanced Writer Dashboard to include metrics for content published to the site and scheduled for publishing.
This commit is contained in:
IGNY8 VPS (Salman)
2026-01-01 07:10:03 +00:00
parent f81fffc9a6
commit 0340016932
21 changed files with 1200 additions and 36 deletions

View File

@@ -200,7 +200,7 @@ export const BulkWordPressPublish: React.FC<BulkWordPressPublishProps> = ({
onClick={handleOpen}
disabled={selectedContentIds.length === 0}
>
Bulk Publish to WordPress ({selectedContentIds.length})
Bulk Publish to Site ({selectedContentIds.length})
</Button>
<Dialog
@@ -210,14 +210,14 @@ export const BulkWordPressPublish: React.FC<BulkWordPressPublishProps> = ({
fullWidth
>
<DialogTitle>
Bulk Publish to WordPress
Bulk Publish to Site
</DialogTitle>
<DialogContent>
{!publishing && !result && (
<>
<Typography variant="body1" gutterBottom>
You are about to publish {selectedContentIds.length} content items to WordPress:
You are about to publish {selectedContentIds.length} content items to your site:
</Typography>
<List dense sx={{ maxHeight: 300, overflow: 'auto', mt: 2 }}>

View File

@@ -138,14 +138,14 @@ export const BulkWordPressPublish: React.FC<BulkWordPressPublishProps> = ({
disableEscapeKeyDown={publishing}
>
<DialogTitle>
Bulk Publish to WordPress
Bulk Publish to Site
</DialogTitle>
<DialogContent>
{!publishing && results.length === 0 && (
<>
<Typography variant="body1" gutterBottom>
Ready to publish <strong>{readyToPublish.length}</strong> content items to WordPress:
Ready to publish <strong>{readyToPublish.length}</strong> content items to your site:
</Typography>
<Alert severity="info" sx={{ mt: 2, mb: 2 }}>

View File

@@ -99,7 +99,7 @@ export const ContentActionsMenu: React.FC<ContentActionsMenuProps> = ({
<ListItemIcon>
<PublishIcon fontSize="small" />
</ListItemIcon>
<ListItemText>Publish to WordPress</ListItemText>
<ListItemText>Publish to Site</ListItemText>
</MenuItem>
<Divider />
</>

View File

@@ -202,7 +202,7 @@ export const WordPressPublish: React.FC<WordPressPublishProps> = ({
if (!shouldShowPublishButton) {
return (
<Tooltip title={`Images must be generated before publishing to WordPress`}>
<Tooltip title={`Images must be generated before publishing to site`}>
<Box display="flex" alignItems="center" gap={1}>
<Button
variant="outlined"
@@ -229,7 +229,7 @@ export const WordPressPublish: React.FC<WordPressPublishProps> = ({
const renderButton = () => {
if (size === 'small') {
return (
<Tooltip title={`WordPress: ${statusInfo.label}`}>
<Tooltip title={`Site: ${statusInfo.label}`}>
<IconButton
size="small"
onClick={() => {
@@ -267,9 +267,9 @@ export const WordPressPublish: React.FC<WordPressPublishProps> = ({
disabled={loading || statusInfo.action === 'wait'}
size={size}
>
{statusInfo.action === 'publish' && 'Publish to WordPress'}
{statusInfo.action === 'publish' && 'Publish to Site'}
{statusInfo.action === 'retry' && 'Retry'}
{statusInfo.action === 'view' && 'View on WordPress'}
{statusInfo.action === 'view' && 'View on Site'}
{statusInfo.action === 'wait' && statusInfo.label}
</Button>
);
@@ -323,14 +323,14 @@ export const WordPressPublish: React.FC<WordPressPublishProps> = ({
maxWidth="sm"
fullWidth
>
<DialogTitle>Publish to WordPress</DialogTitle>
<DialogTitle>Publish to Site</DialogTitle>
<DialogContent>
<Typography variant="body1" gutterBottom>
Are you sure you want to publish "<strong>{contentTitle}</strong>" to WordPress?
Are you sure you want to publish "<strong>{contentTitle}</strong>" to your site?
</Typography>
<Typography variant="body2" color="textSecondary" sx={{ mt: 2 }}>
This will create a new post on your connected WordPress site with all content,
This will create a new post on your connected site with all content,
images, categories, and SEO metadata.
</Typography>
@@ -348,7 +348,7 @@ export const WordPressPublish: React.FC<WordPressPublishProps> = ({
{wpStatus?.wordpress_sync_status === 'success' && (
<Alert severity="info" sx={{ mt: 2 }}>
This content is already published to WordPress.
This content is already published to your site.
You can force republish to update the existing post.
</Alert>
)}