Files

225 lines
11 KiB
PHP

<?php
/**
* Template Name: Slide Dashboard
*
* Divi full-width template for the slide management dashboard
*
* @package Hi_School_Slide_Manager
* @since 1.0.0
*/
// Prevent direct access
if ( ! defined( 'ABSPATH' ) ) {
exit( 'Direct access forbidden.' );
}
get_header(); ?>
<div id="main-content">
<div class="container-fluid">
<div id="content-area" class="clearfix full-width">
<!-- Custom Dashboard Header with Navigation -->
<div class="hssm-header-bar">
<div class="hssm-header-content">
<div class="hssm-logo-section">
<h1 class="hssm-site-title">
Slide Management Dashboard
</h1>
</div>
<div class="hssm-header-nav">
<a href="<?php echo home_url(); ?>" class="hssm-nav-btn hssm-nav-home">
<span class="dashicons dashicons-admin-home"></span>
Home
</a>
<a href="<?php echo admin_url(); ?>" class="hssm-nav-btn hssm-nav-admin">
<span class="dashicons dashicons-admin-generic"></span>
Admin
</a>
<a href="<?php echo esc_url( hssm_get_page_url_by_template( 'page-slide-preview.php', '/slide-preview/' ) ); ?>" class="hssm-nav-btn hssm-nav-preview" target="_blank">
<span class="dashicons dashicons-visibility"></span>
Slide Preview
</a>
<div class="hssm-user-menu">
<span class="hssm-user-name">
<?php echo esc_html( wp_get_current_user()->display_name ); ?>
</span>
<a href="<?php echo wp_logout_url( home_url() ); ?>" class="hssm-nav-btn hssm-nav-logout">
<span class="dashicons dashicons-exit"></span>
Logout
</a>
</div>
</div>
</div>
</div>
<!-- Main Dashboard Content -->
<div class="hssm-dashboard-main">
<!-- Messages Container -->
<div id="hssm-messages" class="hssm-messages"></div>
<!-- Dashboard Navigation -->
<div class="hssm-dashboard-nav">
<ul class="hssm-nav-tabs">
<li class="active">
<a href="#create-slides" data-tab="create-slides">
<span class="dashicons dashicons-plus-alt"></span>
Create Slides
</a>
</li>
<li>
<a href="#manage-slides" data-tab="manage-slides">
<span class="dashicons dashicons-admin-page"></span>
Manage Slides
</a>
</li>
<li>
<a href="#analytics" data-tab="analytics">
<span class="dashicons dashicons-chart-area"></span>
Analytics
</a>
</li>
<li>
<a href="#notifications" data-tab="notifications">
<span class="dashicons dashicons-email"></span>
Notifications
</a>
</li>
</ul>
</div>
<!-- Create Slides Tab -->
<div id="create-slides" class="hssm-tab-content active">
<div class="hssm-tab-header">
<h2>Create New Slides</h2>
<div class="hssm-tab-actions">
<button id="add-slide-form" class="hssm-btn hssm-btn-primary" data-max-forms="5">
<span class="dashicons dashicons-plus"></span> Add New Slide Form
</button>
<button id="import-slides" class="hssm-btn hssm-btn-secondary">
<span class="dashicons dashicons-upload"></span> Import Slides
</button>
</div>
</div>
<div id="slide-forms-container">
<!-- Initial slide form will be inserted here -->
</div>
<div class="hssm-bulk-actions">
<button id="clear-all-forms" class="hssm-btn hssm-btn-outline">
<span class="dashicons dashicons-trash"></span> Clear All Forms
</button>
</div>
</div>
<!-- Manage Slides Tab -->
<div id="manage-slides" class="hssm-tab-content">
<div class="hssm-tab-header">
<h2>Manage Existing Slides</h2>
<div class="hssm-filters">
<select id="filter-site" class="hssm-select">
<option value="">All Sites</option>
</select>
<select id="filter-status" class="hssm-select">
<option value="">All Status</option>
<option value="publish">Published</option>
<option value="draft">Draft</option>
<option value="pending">Pending Approval</option>
<option value="scheduled">Scheduled</option>
</select>
<button id="apply-filters" class="hssm-btn hssm-btn-primary">
<span class="dashicons dashicons-filter"></span> Apply Filters
</button>
<button id="clear-filters" class="hssm-btn hssm-btn-outline">
Clear
</button>
<button id="export-slides" class="hssm-btn hssm-btn-secondary">
<span class="dashicons dashicons-download"></span> Export
</button>
</div>
</div>
<div id="slides-list" class="hssm-slides-list">
<!-- Existing slides will be loaded here -->
</div>
</div>
<!-- Analytics Tab -->
<div id="analytics" class="hssm-tab-content">
<div class="hssm-tab-header">
<h2>Slide Analytics</h2>
<div class="hssm-analytics-controls">
<select id="analytics-timeframe" class="hssm-select">
<option value="7">Last 7 Days</option>
<option value="30">Last 30 Days</option>
<option value="90">Last 90 Days</option>
</select>
<button id="generate-report" class="hssm-btn hssm-btn-primary">
<span class="dashicons dashicons-chart-area"></span> Generate Report
</button>
</div>
</div>
<div id="analytics-content" class="hssm-analytics-content">
<div class="hssm-analytics-cards">
<div class="hssm-analytics-card">
<h3>Total Slides Created</h3>
<div class="hssm-analytics-number">--</div>
</div>
<div class="hssm-analytics-card">
<h3>Active Campaigns</h3>
<div class="hssm-analytics-number">--</div>
</div>
<div class="hssm-analytics-card">
<h3>Scheduled Slides</h3>
<div class="hssm-analytics-number">--</div>
</div>
</div>
</div>
</div>
<!-- Notifications Tab -->
<div id="notifications" class="hssm-tab-content">
<div class="hssm-tab-header">
<h2>Notification Settings</h2>
</div>
<div class="hssm-notifications-settings">
<form id="notification-settings-form">
<div class="hssm-form-section">
<h3>Editor Notifications</h3>
<p class="description">Recipients for slide scheduling and approval requests.</p>
<div class="hssm-field">
<label for="editor_emails">Editor Email(s)</label>
<textarea id="editor_emails" name="editor_emails" class="hssm-textarea" rows="3" placeholder="Enter email addresses, separated by commas or new lines"></textarea>
</div>
</div>
<div class="hssm-form-section">
<h3>I.T.C.Guys Notifications</h3>
<p class="description">Recipients for LIVE confirmation checks.</p>
<div class="hssm-field">
<label for="itc_emails">I.T.C.Guys Email(s)</label>
<textarea id="itc_emails" name="itc_emails" class="hssm-textarea" rows="3" placeholder="Enter email addresses, separated by commas or new lines"></textarea>
</div>
</div>
<div class="hssm-form-actions">
<button type="submit" id="save-notifications" class="hssm-btn hssm-btn-primary">
<span class="dashicons dashicons-saved"></span> Save Settings
</button>
</div>
</form>
</div>
</div>
</div> <!-- .hssm-dashboard-main -->
</div> <!-- #content-area -->
</div> <!-- .container-fluid -->
</div> <!-- #main-content -->
<?php get_footer(); ?>