<?php
/**
 * 좋아요한 곡 목록 페이지
 */

require_once __DIR__ . '/config/config.php';
require_once __DIR__ . '/includes/db.php';
require_once __DIR__ . '/includes/functions.php';
require_once __DIR__ . '/includes/layout.php';

$pdo = getDBConnection();

// 검색 키워드 획득
$search = isset($_GET['search']) ? trim($_GET['search']) : '';
$params = [];

// 좋아요한 곡 목록 쿼리 정의
$sql = "
    SELECT s.id, s.title, s.artist, s.album, s.genre, s.duration, s.extension, s.play_count, 1 AS is_liked
    FROM liked_songs l
    JOIN songs s ON l.song_id = s.id
    WHERE s.is_missing = 0
";

if ($search !== '') {
    $sql .= " AND (s.title LIKE :search1 OR s.artist LIKE :search2 OR s.album LIKE :search3)";
    $params[':search1'] = '%' . $search . '%';
    $params[':search2'] = '%' . $search . '%';
    $params[':search3'] = '%' . $search . '%';
}

$sql .= " ORDER BY l.created_at DESC";

$stmt = $pdo->prepare($sql);
$stmt->execute($params);
$songs = $stmt->fetchAll();

$pageTitle = '좋아요한 곡';
if ($search !== '') {
    $pageTitle = '좋아요한 곡 중 "' . htmlspecialchars($search) . '" 검색 결과';
}

// 레이아웃 헤더 출력
renderHeader($pageTitle, 'liked');
?>

<div class="music-list-page">
    <div class="page-title-section">
        <h1 class="page-main-title"><?php echo htmlspecialchars($pageTitle); ?></h1>
        <p class="page-subtitle">
            <?php echo sprintf("내가 하트를 누른 선호 음악들입니다. (총 %d곡)", count($songs)); ?>
        </p>
    </div>

    <!-- 곡 목록 테이블 출력 (공통 컴포넌트 렌더링) -->
    <?php renderSongList($songs); ?>
</div>

<?php
// 레이아웃 푸터 출력
renderFooter();
?>
