mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-22 09:26:41 +02:00
feat(mukke): display album cover art in library, playlists, and song lists
Add batch cover-url endpoint (POST /library/cover-urls) to efficiently resolve multiple cover art presigned URLs in a single request. Integrate cover art display across all UI surfaces: album grid, album detail header, song list thumbnails, playlist grid, and playlist detail song list. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
789ce0a435
commit
e848fa5342
81 changed files with 376 additions and 58 deletions
|
|
@ -16,6 +16,7 @@ scores:
|
|||
security: 82
|
||||
ux: 88
|
||||
status: 'production'
|
||||
version: '1.0.0'
|
||||
stats:
|
||||
backendModules: 13
|
||||
webRoutes: 19
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ scores:
|
|||
security: 82
|
||||
ux: 80
|
||||
status: 'production'
|
||||
version: '0.3.0'
|
||||
stats:
|
||||
backendModules: 9
|
||||
webRoutes: 24
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ scores:
|
|||
security: 60
|
||||
ux: 55
|
||||
status: 'beta'
|
||||
version: '0.2.0'
|
||||
stats:
|
||||
backendModules: 7
|
||||
webRoutes: 17
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ scores:
|
|||
security: 85
|
||||
ux: 85
|
||||
status: 'production'
|
||||
version: '1.0.0'
|
||||
stats:
|
||||
backendModules: 14
|
||||
webRoutes: 20
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ scores:
|
|||
security: 68
|
||||
ux: 65
|
||||
status: 'beta'
|
||||
version: '0.1.0'
|
||||
stats:
|
||||
backendModules: 5
|
||||
webRoutes: 15
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ scores:
|
|||
security: 72
|
||||
ux: 75
|
||||
status: 'beta'
|
||||
version: '0.2.0'
|
||||
stats:
|
||||
backendModules: 0
|
||||
webRoutes: 33
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ scores:
|
|||
security: 55
|
||||
ux: 68
|
||||
status: 'alpha'
|
||||
version: '0.2.0'
|
||||
stats:
|
||||
backendModules: 2
|
||||
webRoutes: 19
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ scores:
|
|||
security: 88
|
||||
ux: 82
|
||||
status: 'production'
|
||||
version: '0.2.0'
|
||||
stats:
|
||||
backendModules: 0
|
||||
webRoutes: 7
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ scores:
|
|||
security: 78
|
||||
ux: 60
|
||||
status: 'beta'
|
||||
version: '0.2.0'
|
||||
stats:
|
||||
backendModules: 11
|
||||
webRoutes: 16
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ scores:
|
|||
security: 68
|
||||
ux: 55
|
||||
status: 'beta'
|
||||
version: '0.2.0'
|
||||
stats:
|
||||
backendModules: 8
|
||||
webRoutes: 10
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ scores:
|
|||
security: 65
|
||||
ux: 55
|
||||
status: 'beta'
|
||||
version: '0.2.0'
|
||||
stats:
|
||||
backendModules: 7
|
||||
webRoutes: 12
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ scores:
|
|||
security: 80
|
||||
ux: 78
|
||||
status: 'production'
|
||||
version: '0.3.0'
|
||||
stats:
|
||||
backendModules: 11
|
||||
webRoutes: 19
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ scores:
|
|||
security: 55
|
||||
ux: 50
|
||||
status: 'alpha'
|
||||
version: '0.1.0'
|
||||
stats:
|
||||
backendModules: 6
|
||||
webRoutes: 12
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ scores:
|
|||
security: 55
|
||||
ux: 68
|
||||
status: 'beta'
|
||||
version: '0.2.0'
|
||||
stats:
|
||||
backendModules: 7
|
||||
webRoutes: 16
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ scores:
|
|||
security: 55
|
||||
ux: 55
|
||||
status: 'alpha'
|
||||
version: '0.1.0'
|
||||
stats:
|
||||
backendModules: 8
|
||||
webRoutes: 12
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ scores:
|
|||
security: 65
|
||||
ux: 72
|
||||
status: 'beta'
|
||||
version: '0.2.0'
|
||||
stats:
|
||||
backendModules: 4
|
||||
webRoutes: 6
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ scores:
|
|||
security: 72
|
||||
ux: 55
|
||||
status: 'beta'
|
||||
version: '0.2.0'
|
||||
stats:
|
||||
backendModules: 10
|
||||
webRoutes: 17
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ scores:
|
|||
security: 82
|
||||
ux: 85
|
||||
status: 'production'
|
||||
version: '1.0.0'
|
||||
stats:
|
||||
backendModules: 7
|
||||
webRoutes: 13
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ scores:
|
|||
security: 55
|
||||
ux: 35
|
||||
status: 'alpha'
|
||||
version: '0.0.1'
|
||||
stats:
|
||||
backendModules: 7
|
||||
webRoutes: 0
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ scores:
|
|||
security: 70
|
||||
ux: 75
|
||||
status: 'beta'
|
||||
version: '0.2.0'
|
||||
stats:
|
||||
backendModules: 5
|
||||
webRoutes: 13
|
||||
|
|
|
|||
1
apps/manacore/apps/web/src/lib/version.ts
Normal file
1
apps/manacore/apps/web/src/lib/version.ts
Normal file
|
|
@ -0,0 +1 @@
|
|||
export const APP_VERSION = '0.2.0';
|
||||
|
|
@ -5,6 +5,7 @@
|
|||
import { creditsService } from '$lib/api/credits';
|
||||
import type { CreditBalance } from '$lib/api/credits';
|
||||
import { userSettings } from '$lib/stores/user-settings.svelte';
|
||||
import { APP_VERSION } from '$lib/version';
|
||||
|
||||
let loading = $state(true);
|
||||
let savingProfile = $state(false);
|
||||
|
|
@ -333,5 +334,7 @@
|
|||
</div>
|
||||
</Card>
|
||||
</div>
|
||||
|
||||
<p class="mt-8 pb-4 text-center text-xs text-gray-400 dark:text-gray-600">v{APP_VERSION}</p>
|
||||
{/if}
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@
|
|||
import AppSlider from '$lib/components/AppSlider.svelte';
|
||||
import LanguageSelector from '$lib/components/LanguageSelector.svelte';
|
||||
import { authStore } from '$lib/stores/auth.svelte';
|
||||
import { APP_VERSION } from '$lib/version';
|
||||
|
||||
// Get translations based on current locale
|
||||
const translations = $derived(getLoginTranslations($locale || 'de'));
|
||||
|
|
@ -42,6 +43,7 @@
|
|||
{translations}
|
||||
{verified}
|
||||
{initialEmail}
|
||||
version={APP_VERSION}
|
||||
>
|
||||
{#snippet headerControls()}
|
||||
<LanguageSelector />
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue