diff --git a/apps/client/src/components/track-player/youtube-player.tsx b/apps/client/src/components/track-player/youtube-player.tsx index 6705ed3..1901a9a 100644 --- a/apps/client/src/components/track-player/youtube-player.tsx +++ b/apps/client/src/components/track-player/youtube-player.tsx @@ -1,4 +1,3 @@ -import React from 'react'; import ReactPlayer from 'react-player'; const YoutubePlayer = ({ videoId }: Readonly<{ videoId: string }>) => { diff --git a/apps/client/src/components/track-upload-wrapper/youtube-search.tsx b/apps/client/src/components/track-upload-wrapper/youtube-search.tsx index 837ac35..1350503 100644 --- a/apps/client/src/components/track-upload-wrapper/youtube-search.tsx +++ b/apps/client/src/components/track-upload-wrapper/youtube-search.tsx @@ -1,14 +1,13 @@ -import { useState, useEffect, useCallback } from 'react'; -import { Search, PlayCircle, Loader2, ExternalLink, Plus } from 'lucide-react'; +import { createProjectFromYouTube, extractLyricsFromVideo, searchYouTube, type YouTubeSearchResult } from '@/data/api'; +import { cn, extractVideoId, isValidYoutubeUrl, parseYouTubeDuration } from '@/lib/utils'; +import { ExternalLink, Loader2, PlayCircle, Plus, Search } from 'lucide-react'; +import { AnimatePresence, motion } from 'motion/react'; +import { useCallback, useEffect, useState } from 'react'; +import { toast } from 'sonner'; +import { Badge } from '../ui/badge'; import { Button } from '../ui/button'; -import { Input } from '../ui/input'; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '../ui/card'; -import { Badge } from '../ui/badge'; -import { Tabs, TabsList, TabsTrigger } from '../ui/tabs'; -import { isValidYoutubeUrl, extractVideoId, cn, parseYouTubeDuration } from '@/lib/utils'; -import { motion, AnimatePresence } from 'motion/react'; -import { searchYouTube, createProjectFromYouTube, extractLyricsFromVideo, type YouTubeSearchResult } from '@/data/api'; -import { toast } from 'sonner'; +import { Input } from '../ui/input'; type YouTubeSearchProps = { onVideoSelect?: (video: YouTubeSearchResult) => void; @@ -22,10 +21,9 @@ export function YouTubeSearch({ onVideoSelect, className }: Readonly(null); const [error, setError] = useState(null); const [hasSearched, setHasSearched] = useState(false); - const [searchType, setSearchType] = useState<'url' | 'title'>('url'); // Debounced search function - const performSearch = useCallback(async (query: string, type: 'url' | 'title') => { + const performSearch = useCallback(async (query: string) => { if (!query.trim()) { setSearchResults([]); setHasSearched(false); @@ -78,11 +76,11 @@ export function YouTubeSearch({ onVideoSelect, className }: Readonly { - performSearch(searchQuery, searchType); + performSearch(searchQuery); }, 500); // 500ms delay return () => clearTimeout(debounceTimer); - }, [searchQuery, searchType, performSearch]); + }, [searchQuery, performSearch]); @@ -96,7 +94,7 @@ export function YouTubeSearch({ onVideoSelect, className }: Readonly setSearchQuery(e.target.value)}