diff --git a/Dockerfile b/Dockerfile index 9b75116..ddb4d91 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,7 +5,8 @@ WORKDIR /app/frontend # Copy frontend package files COPY frontend/package*.json ./ -RUN npm ci +COPY frontend/.npmrc* ./ +RUN npm ci --legacy-peer-deps # Copy frontend source COPY frontend/ ./ diff --git a/frontend/src/components/artist/ArtistDetailPage.tsx b/frontend/src/components/artist/ArtistDetailPage.tsx index 04c84e0..67424f3 100644 --- a/frontend/src/components/artist/ArtistDetailPage.tsx +++ b/frontend/src/components/artist/ArtistDetailPage.tsx @@ -3,7 +3,7 @@ import { artistApi } from '@/api/client' import { Music, ArtistInfo } from '@/types' import { useParams, useNavigate } from 'react-router-dom' import { Button } from '@/components/ui/button' -import { ArrowLeft, Play, Loader2 } from 'lucide-react' +import { ArrowLeft, Play, Loader2, Music2 } from 'lucide-react' import { formatDuration } from '@/lib/utils' interface ArtistDetailProps { diff --git a/frontend/src/components/player/Player.tsx b/frontend/src/components/player/Player.tsx index 1ea245e..e1e7814 100644 --- a/frontend/src/components/player/Player.tsx +++ b/frontend/src/components/player/Player.tsx @@ -1,4 +1,4 @@ -import { useState, useEffect, useRef } from 'react' +import { useState, useEffect } from 'react' import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query' import { useNavigate } from 'react-router-dom' import { Music } from '@/types' @@ -125,7 +125,7 @@ export default function Player({ artist: currentMusic.artist || 'Unknown Artist', album: currentMusic.album || '', artwork: currentMusic.thumbnail ? [ - { src: getAbsoluteImageUrl(currentMusic.thumbnail), sizes: '512x512', type: 'image/jpeg' }, + { src: getAbsoluteImageUrl(currentMusic.thumbnail) || '', sizes: '512x512', type: 'image/jpeg' }, ] : undefined, }) diff --git a/frontend/src/components/search/SearchPage.tsx b/frontend/src/components/search/SearchPage.tsx index 4d4ef88..07e8fe2 100644 --- a/frontend/src/components/search/SearchPage.tsx +++ b/frontend/src/components/search/SearchPage.tsx @@ -27,7 +27,7 @@ export default function SearchPage({ onPlayMusic }: SearchPageProps) { }) const downloadMutation = useMutation({ - mutationFn: ({ url, title, thumbnail, artist }: { url: string; title: string; thumbnail?: string; artist?: string }) => + mutationFn: ({ url, title }: { url: string; title: string; thumbnail?: string; artist?: string }) => downloadApi.downloadMusic({ url, title }), onSuccess: () => { queryClient.invalidateQueries({ queryKey: ['download-status'] }) diff --git a/frontend/src/main.tsx b/frontend/src/main.tsx index 48eb150..647ff91 100644 --- a/frontend/src/main.tsx +++ b/frontend/src/main.tsx @@ -1,4 +1,4 @@ -import React, { StrictMode } from 'react' +import { StrictMode } from 'react' import ReactDOM from 'react-dom/client' import { QueryClient, QueryClientProvider } from '@tanstack/react-query' import { BrowserRouter } from 'react-router-dom' diff --git a/k8s/manifest.yaml b/k8s/manifest.yaml index 5597358..c9e6882 100644 --- a/k8s/manifest.yaml +++ b/k8s/manifest.yaml @@ -102,8 +102,8 @@ spec: cpu: 2000m memory: 2048Mi # If using private registry, add imagePullSecrets - # imagePullSecrets: - # - name: github-image-pull-secret + imagePullSecrets: + - name: github-image-pull-secret --- # Service