112 lines
5.7 KiB
PHP
112 lines
5.7 KiB
PHP
<?php
|
|
/**
|
|
* Modern Layout Wrapper
|
|
*
|
|
* This template provides the sidebar navigation and layout structure for all IGNY8 admin pages.
|
|
* Each page template should start by including this file.
|
|
*
|
|
* @package Igny8Bridge
|
|
*/
|
|
|
|
// Prevent direct access
|
|
if (!defined('ABSPATH')) {
|
|
exit;
|
|
}
|
|
|
|
// Get current page
|
|
$current_page = isset($_GET['page']) ? sanitize_text_field($_GET['page']) : 'igny8-dashboard';
|
|
$api_key = get_option('igny8_api_key');
|
|
$is_connected = !empty($api_key);
|
|
?>
|
|
|
|
<div class="igny8-admin-wrapper">
|
|
<!-- Sidebar Navigation -->
|
|
<aside class="igny8-sidebar">
|
|
<div class="igny8-sidebar-logo">
|
|
<img src="<?php echo esc_url(plugins_url('assets/images/IGNY8_DARK_LOGO.png', __FILE__)); ?>" alt="IGNY8" />
|
|
</div>
|
|
|
|
<nav>
|
|
<ul class="igny8-sidebar-nav">
|
|
<li>
|
|
<a href="<?php echo esc_url(admin_url('admin.php?page=igny8-dashboard')); ?>"
|
|
class="<?php echo ($current_page === 'igny8-dashboard') ? 'active' : ''; ?>">
|
|
<svg fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6"/>
|
|
</svg>
|
|
<?php _e('Dashboard', 'igny8-bridge'); ?>
|
|
</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="<?php echo esc_url(admin_url('admin.php?page=igny8-connection')); ?>"
|
|
class="<?php echo ($current_page === 'igny8-connection') ? 'active' : ''; ?>">
|
|
<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'); ?>
|
|
</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="<?php echo esc_url(admin_url('admin.php?page=igny8-controls')); ?>"
|
|
class="<?php echo ($current_page === 'igny8-controls') ? 'active' : ''; ?>">
|
|
<svg fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 6V4m0 2a2 2 0 100 4m0-4a2 2 0 110 4m-6 8a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4m6 6v10m6-2a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4"/>
|
|
</svg>
|
|
<?php _e('Controls', 'igny8-bridge'); ?>
|
|
</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="<?php echo esc_url(admin_url('admin.php?page=igny8-sync')); ?>"
|
|
class="<?php echo ($current_page === 'igny8-sync') ? 'active' : ''; ?>">
|
|
<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('Sync', 'igny8-bridge'); ?>
|
|
</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="<?php echo esc_url(admin_url('admin.php?page=igny8-data')); ?>"
|
|
class="<?php echo ($current_page === 'igny8-data') ? 'active' : ''; ?>">
|
|
<svg fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 7v10c0 2.21 3.582 4 8 4s8-1.79 8-4V7M4 7c0 2.21 3.582 4 8 4s8-1.79 8-4M4 7c0-2.21 3.582-4 8-4s8 1.79 8 4m0 5c0 2.21-3.582 4-8 4s-8-1.79-8-4"/>
|
|
</svg>
|
|
<?php _e('Data', 'igny8-bridge'); ?>
|
|
</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="<?php echo esc_url(admin_url('admin.php?page=igny8-logs')); ?>"
|
|
class="<?php echo ($current_page === 'igny8-logs') ? 'active' : ''; ?>">
|
|
<svg fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"/>
|
|
</svg>
|
|
<?php _e('Logs', 'igny8-bridge'); ?>
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</nav>
|
|
|
|
<!-- Connection Status in Sidebar -->
|
|
<div style="padding: 16px 24px; margin-top: auto; border-top: 1px solid var(--igny8-stroke);">
|
|
<?php if ($is_connected): ?>
|
|
<div class="igny8-status igny8-status-connected">
|
|
<span class="igny8-status-indicator"></span>
|
|
<?php _e('Connected', 'igny8-bridge'); ?>
|
|
</div>
|
|
<?php else: ?>
|
|
<div class="igny8-status igny8-status-disconnected">
|
|
<span class="igny8-status-indicator"></span>
|
|
<?php _e('Not Connected', 'igny8-bridge'); ?>
|
|
</div>
|
|
<?php endif; ?>
|
|
</div>
|
|
</aside>
|
|
|
|
<!-- Main Content Area -->
|
|
<main class="igny8-main-content">
|
|
<?php settings_errors('igny8_settings'); ?>
|