feat(search): add multi-source search across Yandex, Apple, YouTube with direct download & import

This commit is contained in:
Antigravity committed 2026-10-12 13:53:14 +03:00
1 parent c098376aa4
commit 49bd123a03
5 files changed
+496 -18

No files matched your search

+30 -6
View File
@@ -16,7 +16,7 @@
<span class="logo-icon">🎵</span>
<div>
<h1>Navidrome Music Sync</h1>
<p class="subtitle">Импорт и синхронизация музыки в Navidrome</p>
<p class="subtitle">Поиск, импорт и синхронизация музыки в Navidrome</p>
</div>
</div>
<div class="status-badges">
@@ -26,15 +26,15 @@
</header>
<main class="main-content">
<!-- Input Card -->
<!-- Search & Input Card -->
<section class="card input-card">
<h2>📥 Импорт музыки</h2>
<p class="card-desc">Вставьте ссылку на трек, альбом или плейлист из <b>Яндекс Музыки</b>, <b>Spotify</b>, <b>Apple Music</b> или <b>YouTube</b>:</p>
<h2>🔍 Поиск и импорт музыки</h2>
<p class="card-desc">Введите название трека/артиста (например: <b>Booker - Время колокольчиков</b>) или вставьте прямую ссылку (Яндекс, Spotify, Apple, YouTube):</p>
<form id="downloadForm" class="download-form">
<div class="input-wrapper">
<input type="text" id="urlInput" placeholder="https://music.yandex.ru/... или https://open.spotify.com/..." required autocomplete="off">
<button type="submit" id="submitBtn" class="btn btn-primary">Загрузить</button>
<input type="text" id="urlInput" placeholder="Название трека или https://..." required autocomplete="off">
<button type="submit" id="submitBtn" class="btn btn-primary">Найти / Загрузить</button>
</div>
</form>
@@ -46,6 +46,30 @@
</div>
</section>
<!-- Search Results Card (Hidden by default) -->
<section class="card search-card" id="searchCard" style="display: none;">
<div class="search-header">
<h2>🎯 Результаты поиска: <span id="searchQueryLabel"></span></h2>
<button id="closeSearchBtn" class="btn-close" title="Закрыть поиск">&times;</button>
</div>
<div id="searchLoading" class="search-loading" style="display: none;">
<div class="spinner"></div> Ищем на Яндекс Музыке, Apple Music и YouTube...
</div>
<!-- Search Tracks -->
<div class="search-section" id="searchTracksSection">
<h3>🎵 Найденные треки</h3>
<div class="search-tracks-list" id="searchTracksList"></div>
</div>
<!-- Search Albums -->
<div class="search-section" id="searchAlbumsSection" style="margin-top: 1.5rem;">
<h3>💿 Альбомы</h3>
<div class="search-albums-grid" id="searchAlbumsList"></div>
</div>
</section>
<!-- Active Tasks -->
<section class="card tasks-card">
<h2>⚡ Очередь задач</h2>