feat: flat design avec palette Blazing Flame
CI / Test (Python 3.11) (pull_request) Has been cancelled
CI / Test (Python 3.12) (pull_request) Has been cancelled
CI / Lint (pull_request) Has been cancelled
CI / Type Check (pull_request) Has been cancelled
CI / Summary (pull_request) Has been cancelled

This commit is contained in:
root
2026-04-03 15:35:39 +00:00
parent 693615a7dc
commit 0179ddbdf4
21 changed files with 348 additions and 487 deletions
+1 -1
View File
@@ -310,7 +310,7 @@ function renderAnimeDetails(anime) {
<div class="anime-related-items">
${season.entries.map(entry => `
<div class="anime-related-item" onclick="searchAnimeDetails('${escapeHtml(entry.title)}', ${entry.mal_id})" style="cursor: pointer;">
${entry.type ? `<span style="color: #00d9ff; font-size: 11px; margin-right: 8px;">${escapeHtml(entry.type)}</span>` : ''}
${entry.type ? `<span style="color: #f15025; font-size: 11px; margin-right: 8px;">${escapeHtml(entry.type)}</span>` : ''}
${escapeHtml(entry.title)}
${entry.url ? `<a href="${escapeHtml(entry.url)}" target="_blank" style="margin-left: auto; color: #888; font-size: 18px; text-decoration: none;" title="Voir sur MyAnimeList">↗</a>` : ''}
</div>
+5 -5
View File
@@ -246,11 +246,11 @@ function renderReleaseCard(anime) {
// Get rating color based on score
function getRatingColor(score) {
if (score >= 9) return 'linear-gradient(45deg, #ffd700, #ffed4e)';
if (score >= 8) return 'linear-gradient(45deg, #00ff88, #00d9ff)';
if (score >= 7) return 'linear-gradient(45deg, #00d9ff, #6c5ce7)';
if (score >= 6) return 'linear-gradient(45deg, #ffa500, #ff6b6b)';
return 'linear-gradient(45deg, #666, #888)';
if (score >= 9) return '#ffd700';
if (score >= 8) return '#2d936c';
if (score >= 7) return '#f15025';
if (score >= 6) return '#f4a261';
return '#ced0ce';
}
// Search anime on providers (redirects to anime tab)
+3 -3
View File
@@ -50,7 +50,7 @@ async function handleSeriesSearch() {
</div>
${coverImage ? `
<div style="text-align: center; margin: 10px 0;">
<img src="${escapeHtml(coverImage)}" alt="" style="max-width: 200px; border-radius: 8px; box-shadow: 0 4px 15px rgba(0,0,0,0.3);" onerror="this.style.display='none'">
<img src="${escapeHtml(coverImage)}" alt="" style="max-width: 200px; border-radius: 4px;" onerror="this.style.display='none'">
</div>
` : ''}
<div class="anime-card-actions">
@@ -102,10 +102,10 @@ async function loadSeriesEpisodesDirect(url, title) {
if (data.episodes && data.episodes.length > 0) {
let html = `
<div style="margin-top: 15px;">
<label style="font-size: 12px; color: #00d9ff; margin-bottom: 5px; display: block;">
<label style="font-size: 12px; color: #f15025; margin-bottom: 5px; display: block;">
📺 Sélectionner un épisode:
</label>
<select id="select-episodes-${encodeURIComponent(url)}" style="width: 100%; padding: 8px; border-radius: 4px; border: 1px solid rgba(0, 217, 255, 0.3); background: rgba(0, 0, 0, 0.3); color: white;">
<select id="select-episodes-${encodeURIComponent(url)}" style="width: 100%; padding: 8px; border-radius: 4px; border: 1px solid #ced0ce; background: #ffffff; color: #191919;">
<option value="">Sélectionner un épisode</option>
${data.episodes.map(ep => `
<option value="${escapeHtml(ep.url)}">Épisode ${escapeHtml(ep.episode)}</option>