<?php
declare(strict_types=1);

require_once __DIR__ . '/../includes/config.php';
require_once __DIR__ . '/../includes/db.php';
require_once __DIR__ . '/../includes/functions.php';
require_once __DIR__ . '/../includes/admin-auth.php';

$pdo = db();
requireAdmin();

if (isPost()) { requireCsrf(); }

$success = flash('success') ?: '';
$error = '';
$admin = currentAdmin($pdo);
if(isPost()){$action=(string)($_POST['action']??'');try{
 if($action==='delete'){$id=(int)($_POST['delete_id']??0);$task=safeFetch($pdo,'SELECT id,course_id FROM core_shadowing WHERE id=?',[$id]);if(!$task)throw new RuntimeException('Shadowing task not found.');$count=safeCount($pdo,'SELECT COUNT(*) FROM core_shadowing_submissions WHERE task_id=? OR lesson_id=?',[$id,$id]);if($count>0)throw new RuntimeException('This task has student submissions and cannot be deleted.');mustExecute($pdo,'DELETE FROM core_shadowing WHERE id=?',[$id]);logActivity($pdo,'admin',(int)($admin['id']??0),'Shadowing deleted','Task ID '.$id,null,(int)$task['course_id']);flash('success','Shadowing task deleted.');redirect('admin/shadowing.php');}
 if($action==='create'){$courseId=(int)($_POST['course_id']??0);$title=trim((string)($_POST['title']??''));$description=trim((string)($_POST['description']??''));$url=trim((string)($_POST['youtube_link']??''));$level=max(1,min(100,(int)($_POST['shadowing_level']??1)));$points=max(0,min(1000,(float)($_POST['points']??5)));$course=safeFetch($pdo,'SELECT id,teacher_id FROM core_courses WHERE id=?',[$courseId]);if(!$course||$title===''||!filter_var($url,FILTER_VALIDATE_URL))throw new RuntimeException('Select a course and enter a title and valid video URL.');mustExecute($pdo,'INSERT INTO core_shadowing (course_id,teacher_id,title,description,youtube_link,shadowing_level,points,created_at) VALUES (?,?,?,?,?,?,?,NOW())',[$courseId,(int)$course['teacher_id'],$title,$description?:null,$url,$level,$points]);logActivity($pdo,'admin',(int)($admin['id']??0),'Shadowing created','Created shadowing task: '.$title,null,$courseId);flash('success','Shadowing task created.');redirect('admin/shadowing.php');}
 }catch(Throwable $e){error_log('[SMI admin shadowing] '.$e->getMessage());$error=APP_DEBUG?$e->getMessage():$e->getMessage();}}

$courses = tableExists($pdo, 'core_courses')
    ? $pdo->query("SELECT id, title FROM core_courses ORDER BY id DESC")->fetchAll()
    : [];

$teachers = tableExists($pdo, 'core_teachers')
    ? $pdo->query("SELECT id, full_name, name, email FROM core_teachers ORDER BY id DESC")->fetchAll()
    : [];

$tasks = [];

if (tableExists($pdo, 'core_shadowing')) {
    $tasks = $pdo->query("
        SELECT
            sh.*,
            c.title AS course_title,
            t.full_name AS teacher_full_name,
            t.name AS teacher_name
        FROM core_shadowing sh
        LEFT JOIN core_courses c ON c.id = sh.course_id
        LEFT JOIN core_teachers t ON t.id = sh.teacher_id
        ORDER BY sh.shadowing_level ASC, sh.id DESC
    ")->fetchAll();
}
?>

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Shadowing Management</title>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap" rel="stylesheet">

<style>
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Inter',sans-serif;background:#f1f5f9;color:#0f172a}
.page{padding:34px}
.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}
.page-title{font-size:42px;font-weight:900}
.back-btn{background:#dbeafe;color:#1d4ed8;text-decoration:none;padding:14px 20px;border-radius:18px;font-weight:900}
.grid{display:grid;grid-template-columns:420px 1fr;gap:26px}
.card{background:#fff;border-radius:34px;padding:30px;border:1px solid #e2e8f0;box-shadow:0 18px 45px rgba(15,23,42,.05)}
.card h2{font-size:30px;margin-bottom:22px;font-weight:900}
.form-group{margin-bottom:18px}
.form-group label{display:block;margin-bottom:10px;font-weight:800}
.form-control{width:100%;padding:16px;border-radius:18px;border:1px solid #cbd5e1}
textarea.form-control{min-height:120px}
.submit-btn{width:100%;border:none;background:linear-gradient(135deg,#dc2626,#991b1b);color:#fff;padding:18px;border-radius:20px;font-weight:900;cursor:pointer}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse}
th{background:#f8fafc;padding:18px;text-align:left;font-size:13px;text-transform:uppercase;color:#64748b}
td{padding:18px;border-top:1px solid #e2e8f0;font-size:14px;vertical-align:top}
.badge{display:inline-block;padding:8px 12px;border-radius:999px;background:#fee2e2;color:#b91c1c;font-size:12px;font-weight:900}
.action-btn{display:inline-block;text-decoration:none;padding:10px 14px;border-radius:14px;font-size:12px;font-weight:900}
.view-btn{background:#fee2e2;color:#b91c1c}
.delete-btn{background:#fee2e2;color:#b91c1c}
.alert{padding:18px;border-radius:18px;margin-bottom:24px;font-weight:800}
.alert-success{background:#dcfce7;color:#166534}
.alert-danger{background:#fee2e2;color:#991b1b}
@media(max-width:1100px){.grid{grid-template-columns:1fr}}
</style>
</head>

<body>

<div class="page">

    <div class="topbar">
        <h1 class="page-title">Shadowing Management</h1>
        <a href="dashboard.php" class="back-btn">← Dashboard</a>
    </div>

    <?php if($success): ?>
        <div class="alert alert-success"><?php echo e($success); ?></div>
    <?php endif; ?>

    <?php if($error): ?>
        <div class="alert alert-danger"><?php echo e($error); ?></div>
    <?php endif; ?>

    <div class="grid">

        <div class="card">
            <h2>Create Shadowing</h2>

            <form method="POST">
<input type="hidden" name="action" value="create">
<?php echo csrfField(); ?>

                <div class="form-group">
                    <label>Course</label>
                    <select name="course_id" class="form-control" required>
                        <option value="">Select Course</option>
                        <?php foreach($courses as $course): ?>
                            <option value="<?php echo e((string)$course['id']); ?>">
                                <?php echo e($course['title']); ?>
                            </option>
                        <?php endforeach; ?>
                    </select>
                </div>

                <div class="form-group">
                    <label>Teacher</label>
                    <select name="teacher_id" class="form-control">
                        <option value="">Select Teacher</option>
                        <?php foreach($teachers as $teacher): ?>
                            <option value="<?php echo e((string)$teacher['id']); ?>">
                                <?php echo e($teacher['full_name'] ?? $teacher['name'] ?? $teacher['email']); ?>
                            </option>
                        <?php endforeach; ?>
                    </select>
                </div>

                <div class="form-group">
                    <label>Title</label>
                    <input type="text" name="title" class="form-control" required>
                </div>

                <div class="form-group">
                    <label>YouTube Link</label>
                    <input type="url" name="youtube_link" class="form-control" required>
                </div>

                <div class="form-group">
                    <label>Level</label>
                    <input type="number" name="shadowing_level" class="form-control" value="1">
                </div>

                <div class="form-group">
                    <label>Points</label>
                    <input type="number" step="0.1" name="points" class="form-control" value="5">
                </div>

                <div class="form-group">
                    <label>Instructions</label>
                    <textarea name="description" class="form-control"></textarea>
                </div>

                <button type="submit" class="submit-btn">Create Shadowing</button>

            </form>
        </div>

        <div class="card">
            <h2>Shadowing Tasks</h2>

            <div class="table-wrap">
                <table>
                    <thead>
                        <tr>
                            <th>Task</th>
                            <th>Course</th>
                            <th>Teacher</th>
                            <th>Level</th>
                            <th>Points</th>
                            <th>Link</th>
                            <th>Action</th>
                        </tr>
                    </thead>

                    <tbody>
                    <?php if($tasks): ?>
                        <?php foreach($tasks as $task): ?>
                            <tr>
                                <td><?php echo e($task['title']); ?></td>
                                <td><?php echo e($task['course_title'] ?? 'N/A'); ?></td>
                                <td><?php echo e($task['teacher_full_name'] ?? $task['teacher_name'] ?? 'N/A'); ?></td>
                                <td><span class="badge">Level <?php echo e((string)$task['shadowing_level']); ?></span></td>
                                <td><?php echo e((string)$task['points']); ?></td>
                                <td>
                                    <a href="<?php echo e($task['youtube_link']); ?>" target="_blank" class="action-btn view-btn">
                                        Open
                                    </a>
                                </td>
                                <td>
                                    <form method="post" style="display:inline" onsubmit="return confirm('Delete this shadowing task?')">
<?php echo csrfField(); ?>
<input type="hidden" name="action" value="delete">
<input type="hidden" name="delete_id" value="<?php echo e((string)$task['id']); ?>">
<button type="submit" class="action-btn delete-btn">Delete</button>
</form>
                                </td>
                            </tr>
                        <?php endforeach; ?>
                    <?php else: ?>
                        <tr><td colspan="7">No shadowing tasks found.</td></tr>
                    <?php endif; ?>
                    </tbody>
                </table>
            </div>

        </div>

    </div>

</div>

</body>
</html>