diff --git a/app/components/EnhancedOfflineManager.tsx b/app/components/EnhancedOfflineManager.tsx
deleted file mode 100644
index 0c930b7..0000000
--- a/app/components/EnhancedOfflineManager.tsx
+++ /dev/null
@@ -1,627 +0,0 @@
-'use client';
-
-import React, { useState, useEffect } from 'react';
-import { Card, CardContent, CardDescription, CardHeader, CardTitle, CardFooter } from '@/components/ui/card';
-import { Button } from '@/components/ui/button';
-import { Progress } from '@/components/ui/progress';
-import { Badge } from '@/components/ui/badge';
-import { Separator } from '@/components/ui/separator';
-import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs';
-import { useToast } from '@/hooks/use-toast';
-import { useOfflineLibrary } from '@/hooks/use-offline-library';
-import { useNavidrome } from '@/app/components/NavidromeContext';
-import {
- Download,
- Trash2,
- RefreshCw,
- Wifi,
- WifiOff,
- Database,
- Clock,
- AlertCircle,
- CheckCircle,
- Music,
- User,
- List,
- HardDrive,
- Disc,
- Search,
- Filter,
- SlidersHorizontal
-} from 'lucide-react';
-import { Input } from '@/components/ui/input';
-import { ScrollArea } from '@/components/ui/scroll-area';
-import Image from 'next/image';
-import { Album, Playlist } from '@/lib/navidrome';
-import { Switch } from '@/components/ui/switch';
-import { Label } from '@/components/ui/label';
-import { OfflineManagement } from './OfflineManagement';
-import { Skeleton } from '@/components/ui/skeleton';
-
-// Helper functions
-function formatBytes(bytes: number): string {
- if (bytes === 0) return '0 Bytes';
- const k = 1024;
- const sizes = ['Bytes', 'KB', 'MB', 'GB'];
- const i = Math.floor(Math.log(bytes) / Math.log(k));
- return parseFloat((bytes / Math.pow(k, i)).toFixed(2)) + ' ' + sizes[i];
-}
-
-function formatDate(date: Date | null): string {
- if (!date) return 'Never';
- return date.toLocaleDateString() + ' at ' + date.toLocaleTimeString();
-}
-
-// Album card for selection
-function AlbumSelectionCard({
- album,
- isSelected,
- onToggleSelection,
- isDownloading,
- downloadProgress,
- estimatedSize
-}: {
- album: Album;
- isSelected: boolean;
- onToggleSelection: () => void;
- isDownloading: boolean;
- downloadProgress?: number;
- estimatedSize: string;
-}) {
- const { api } = useNavidrome();
-
- return (
-
-
-
-
-
-
-
{album.name}
-
{album.artist}
-
- {album.songCount} songs • {estimatedSize}
-
-
-
-
-
- {isDownloading && downloadProgress !== undefined && (
-
- )}
-
- );
-}
-
-// Playlist selection card
-function PlaylistSelectionCard({
- playlist,
- isSelected,
- onToggleSelection,
- isDownloading,
- downloadProgress,
- estimatedSize
-}: {
- playlist: Playlist;
- isSelected: boolean;
- onToggleSelection: () => void;
- isDownloading: boolean;
- downloadProgress?: number;
- estimatedSize: string;
-}) {
- const { api } = useNavidrome();
-
- return (
-
-
-
-
-
{playlist.name}
-
by {playlist.owner}
-
- {playlist.songCount} songs • {estimatedSize}
-
-
-
-
-
- {isDownloading && downloadProgress !== undefined && (
-
- )}
-
- );
-}
-
-export default function EnhancedOfflineManager() {
- const { toast } = useToast();
- const [activeTab, setActiveTab] = useState('overview');
- const [albums, setAlbums] = useState
([]);
- const [playlists, setPlaylists] = useState([]);
- const [loading, setLoading] = useState({
- albums: false,
- playlists: false
- });
- const [searchQuery, setSearchQuery] = useState('');
- const [selectedAlbums, setSelectedAlbums] = useState>(new Set());
- const [selectedPlaylists, setSelectedPlaylists] = useState>(new Set());
- const [downloadingItems, setDownloadingItems] = useState