183 lines
8.0 KiB
PHP
183 lines
8.0 KiB
PHP
<?php
|
|
/**
|
|
* Dashboard Page
|
|
*
|
|
* @package Igny8Bridge
|
|
*/
|
|
|
|
// Prevent direct access
|
|
if (!defined('ABSPATH')) {
|
|
exit;
|
|
}
|
|
|
|
// Include layout header
|
|
include IGNY8_BRIDGE_PLUGIN_DIR . 'admin/layout-header.php';
|
|
|
|
// Get connection status
|
|
$api_key = get_option('igny8_api_key');
|
|
$is_connected = !empty($api_key);
|
|
$site_id = get_option('igny8_site_id');
|
|
$last_sync = get_option('igny8_last_sync_time');
|
|
?>
|
|
|
|
<div class="igny8-page-header">
|
|
<h1><?php _e('Dashboard', 'igny8-bridge'); ?></h1>
|
|
<p><?php _e('Overview of your IGNY8 integration', 'igny8-bridge'); ?></p>
|
|
</div>
|
|
|
|
<?php if (!$is_connected): ?>
|
|
<div class="igny8-alert igny8-alert-warning">
|
|
<svg fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"/>
|
|
</svg>
|
|
<div>
|
|
<strong><?php _e('Not Connected', 'igny8-bridge'); ?></strong>
|
|
<p><?php _e('You need to connect to IGNY8 to start syncing content.', 'igny8-bridge'); ?>
|
|
<a href="<?php echo esc_url(admin_url('admin.php?page=igny8-connection')); ?>"><?php _e('Connect now', 'igny8-bridge'); ?></a>
|
|
</p>
|
|
</div>
|
|
</div>
|
|
<?php endif; ?>
|
|
|
|
<div class="igny8-grid igny8-grid-3">
|
|
<!-- Connection Status Card -->
|
|
<div class="igny8-card">
|
|
<div class="igny8-card-header">
|
|
<h2>
|
|
<svg fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13.828 10.172a4 4 0 00-5.656 0l-4 4a4 4 0 105.656 5.656l1.102-1.101m-.758-4.899a4 4 0 005.656 0l4-4a4 4 0 00-5.656-5.656l-1.1 1.1"/>
|
|
</svg>
|
|
<?php _e('Connection', 'igny8-bridge'); ?>
|
|
</h2>
|
|
</div>
|
|
<div style="padding: 16px 0;">
|
|
<?php if ($is_connected): ?>
|
|
<div class="igny8-status igny8-status-connected" style="font-size: 16px; padding: 8px 16px;">
|
|
<span class="igny8-status-indicator"></span>
|
|
<?php _e('Connected', 'igny8-bridge'); ?>
|
|
</div>
|
|
<?php if ($site_id): ?>
|
|
<p style="margin-top: 12px; font-size: 13px; color: var(--igny8-text-dim);">
|
|
<?php _e('Site ID:', 'igny8-bridge'); ?> <code><?php echo esc_html($site_id); ?></code>
|
|
</p>
|
|
<?php endif; ?>
|
|
<?php else: ?>
|
|
<div class="igny8-status igny8-status-disconnected" style="font-size: 16px; padding: 8px 16px;">
|
|
<span class="igny8-status-indicator"></span>
|
|
<?php _e('Not Connected', 'igny8-bridge'); ?>
|
|
</div>
|
|
<p style="margin-top: 12px;">
|
|
<a href="<?php echo esc_url(admin_url('admin.php?page=igny8-connection')); ?>" class="igny8-btn igny8-btn-primary">
|
|
<?php _e('Connect Now', 'igny8-bridge'); ?>
|
|
</a>
|
|
</p>
|
|
<?php endif; ?>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Sync Status Card -->
|
|
<div class="igny8-card">
|
|
<div class="igny8-card-header">
|
|
<h2>
|
|
<svg fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"/>
|
|
</svg>
|
|
<?php _e('Last Sync', 'igny8-bridge'); ?>
|
|
</h2>
|
|
</div>
|
|
<div style="padding: 16px 0;">
|
|
<?php if ($last_sync): ?>
|
|
<p style="font-size: 14px; margin: 0;">
|
|
<?php echo esc_html(human_time_diff($last_sync, current_time('timestamp'))) . ' ' . __('ago', 'igny8-bridge'); ?>
|
|
</p>
|
|
<p style="font-size: 13px; color: var(--igny8-text-dim); margin: 8px 0 0 0;">
|
|
<?php echo esc_html(date_i18n(get_option('date_format') . ' ' . get_option('time_format'), $last_sync)); ?>
|
|
</p>
|
|
<?php else: ?>
|
|
<p style="font-size: 14px; color: var(--igny8-text-dim); margin: 0;">
|
|
<?php _e('No sync performed yet', 'igny8-bridge'); ?>
|
|
</p>
|
|
<?php endif; ?>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Plugin Info Card -->
|
|
<div class="igny8-card">
|
|
<div class="igny8-card-header">
|
|
<h2>
|
|
<svg fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"/>
|
|
</svg>
|
|
<?php _e('Plugin Info', 'igny8-bridge'); ?>
|
|
</h2>
|
|
</div>
|
|
<div style="padding: 16px 0;">
|
|
<p style="font-size: 14px; margin: 0 0 8px 0;">
|
|
<strong><?php _e('Version:', 'igny8-bridge'); ?></strong> <?php echo esc_html(IGNY8_BRIDGE_VERSION); ?>
|
|
</p>
|
|
<p style="font-size: 14px; margin: 0;">
|
|
<strong><?php _e('PHP:', 'igny8-bridge'); ?></strong> <?php echo esc_html(PHP_VERSION); ?>
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Quick Actions -->
|
|
<div class="igny8-card">
|
|
<div class="igny8-card-header">
|
|
<h2>
|
|
<svg fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 10V3L4 14h7v7l9-11h-7z"/>
|
|
</svg>
|
|
<?php _e('Quick Actions', 'igny8-bridge'); ?>
|
|
</h2>
|
|
</div>
|
|
|
|
<div class="igny8-grid igny8-grid-2" style="padding: 16px 0;">
|
|
<div>
|
|
<h3 style="font-size: 16px; margin: 0 0 12px 0;"><?php _e('Connection', 'igny8-bridge'); ?></h3>
|
|
<p style="font-size: 14px; color: var(--igny8-text-dim); margin-bottom: 16px;">
|
|
<?php _e('Manage your API connection and authentication', 'igny8-bridge'); ?>
|
|
</p>
|
|
<a href="<?php echo esc_url(admin_url('admin.php?page=igny8-connection')); ?>" class="igny8-btn igny8-btn-secondary">
|
|
<?php _e('Manage Connection', 'igny8-bridge'); ?>
|
|
</a>
|
|
</div>
|
|
|
|
<div>
|
|
<h3 style="font-size: 16px; margin: 0 0 12px 0;"><?php _e('Controls', 'igny8-bridge'); ?></h3>
|
|
<p style="font-size: 14px; color: var(--igny8-text-dim); margin-bottom: 16px;">
|
|
<?php _e('Configure which content types to sync', 'igny8-bridge'); ?>
|
|
</p>
|
|
<a href="<?php echo esc_url(admin_url('admin.php?page=igny8-controls')); ?>" class="igny8-btn igny8-btn-secondary">
|
|
<?php _e('Configure Controls', 'igny8-bridge'); ?>
|
|
</a>
|
|
</div>
|
|
|
|
<div>
|
|
<h3 style="font-size: 16px; margin: 0 0 12px 0;"><?php _e('Sync Settings', 'igny8-bridge'); ?></h3>
|
|
<p style="font-size: 14px; color: var(--igny8-text-dim); margin-bottom: 16px;">
|
|
<?php _e('Configure automatic sync and content updates', 'igny8-bridge'); ?>
|
|
</p>
|
|
<a href="<?php echo esc_url(admin_url('admin.php?page=igny8-sync')); ?>" class="igny8-btn igny8-btn-secondary">
|
|
<?php _e('Sync Settings', 'igny8-bridge'); ?>
|
|
</a>
|
|
</div>
|
|
|
|
<div>
|
|
<h3 style="font-size: 16px; margin: 0 0 12px 0;"><?php _e('View Logs', 'igny8-bridge'); ?></h3>
|
|
<p style="font-size: 14px; color: var(--igny8-text-dim); margin-bottom: 16px;">
|
|
<?php _e('Review sync history and troubleshoot issues', 'igny8-bridge'); ?>
|
|
</p>
|
|
<a href="<?php echo esc_url(admin_url('admin.php?page=igny8-logs')); ?>" class="igny8-btn igny8-btn-secondary">
|
|
<?php _e('View Logs', 'igny8-bridge'); ?>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<?php
|
|
// Include layout footer
|
|
include IGNY8_BRIDGE_PLUGIN_DIR . 'admin/layout-footer.php';
|
|
?>
|