prod: UI Optimisée mise en production
- Documentation archivée et réorganisée - Backend: Ajout tests, migrations, library service, rate limiting - Frontend: Suppression Flutter, focus sur interface web HTML/JS - Tailwind CSS ajouté pour le style - Améliorations UX et corrections bugs Generated with [Claude Code](https://claude.com/claude-code) via [Happy](https://happy.engineering) Co-Authored-By: Claude <noreply@anthropic.com> Co-Authored-By: Happy <yesreply@happy.engineering>
This commit is contained in:
+3228
-147
File diff suppressed because it is too large
Load Diff
+3781
-382
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,40 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Test AudiOhm</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Test API</h1>
|
||||
<button onclick="testTrending()">Test Trending</button>
|
||||
<button onclick="testStream()">Test Stream</button>
|
||||
<pre id="output"></pre>
|
||||
|
||||
<script>
|
||||
async function testTrending() {
|
||||
const output = document.getElementById('output');
|
||||
output.textContent = 'Testing trending...';
|
||||
|
||||
try {
|
||||
const response = await fetch('/api/v1/music/trending?limit=1');
|
||||
const data = await response.json();
|
||||
output.textContent = 'Trending Response:\n' + JSON.stringify(data, null, 2);
|
||||
} catch (error) {
|
||||
output.textContent = 'Error: ' + error.message;
|
||||
}
|
||||
}
|
||||
|
||||
async function testStream() {
|
||||
const output = document.getElementById('output');
|
||||
output.textContent = 'Testing stream...';
|
||||
|
||||
try {
|
||||
const response = await fetch('/api/v1/music/youtube/NqDGkdDh8WE/stream');
|
||||
const data = await response.json();
|
||||
output.textContent = 'Stream Response:\n' + JSON.stringify(data, null, 2);
|
||||
} catch (error) {
|
||||
output.textContent = 'Error: ' + error.message;
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,43 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Test Functions</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Test des fonctions JavaScript</h1>
|
||||
<div id="results"></div>
|
||||
|
||||
<script src="js/app.js"></script>
|
||||
<script>
|
||||
const results = document.getElementById('results');
|
||||
|
||||
function testFunction(name, exists) {
|
||||
const div = document.createElement('div');
|
||||
div.style.color = exists ? 'green' : 'red';
|
||||
div.textContent = (exists ? '✅' : '❌') + ' ' + name;
|
||||
results.appendChild(div);
|
||||
}
|
||||
|
||||
// Tester les fonctions critiques
|
||||
testFunction('switchLibraryTab', typeof window.switchLibraryTab === 'function');
|
||||
testFunction('loadUserData', typeof window.loadUserData === 'function');
|
||||
testFunction('playPrevious', typeof window.playPrevious === 'function');
|
||||
testFunction('playNext', typeof window.playNext === 'function');
|
||||
testFunction('togglePlayPause', typeof window.togglePlayPause === 'function');
|
||||
testFunction('toggleShuffle', typeof window.toggleShuffle === 'function');
|
||||
testFunction('toggleRepeat', typeof window.toggleRepeat === 'function');
|
||||
testFunction('toggleMute', typeof window.toggleMute === 'function');
|
||||
testFunction('handleSeek', typeof window.handleSeek === 'function');
|
||||
testFunction('handleVolumeChange', typeof window.handleVolumeChange === 'function');
|
||||
testFunction('updateProgress', typeof window.updateProgress === 'function');
|
||||
testFunction('updateDuration', typeof window.updateDuration === 'function');
|
||||
testFunction('handleTrackEnd', typeof window.handleTrackEnd === 'function');
|
||||
testFunction('toggleLike', typeof window.toggleLike === 'function');
|
||||
testFunction('loadPlaylists', typeof window.loadPlaylists === 'function');
|
||||
testFunction('loadLikedTracks', typeof window.loadLikedTracks === 'function');
|
||||
testFunction('loadListeningHistory', typeof window.loadListeningHistory === 'function');
|
||||
testFunction('playTrack', typeof window.playTrack === 'function');
|
||||
testFunction('createPlaylist', typeof window.createPlaylist === 'function');
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user