|
1 | 1 | import React, { useState } from 'react'; |
| 2 | +import { Link } from 'react-router-dom'; |
2 | 3 | import CloudPlaylist from './components/CloudPlaylist'; |
3 | 4 | import './CloudMusicPlayer.css'; |
4 | 5 | import { useCloudMusic } from '../../../context/CloudMusicContext'; |
|
7 | 8 | PlusIcon, LinkIcon, PlayIcon, PauseIcon, |
8 | 9 | SkipForwardIcon, SkipBackIcon, RepeatIcon, |
9 | 10 | ShuffleIcon, SpeakerHighIcon, SpeakerSlashIcon, SpeakerLowIcon, SpeakerNoneIcon, |
10 | | - WaveformIcon |
| 11 | + WaveformIcon, ArrowLeftIcon |
11 | 12 | } from '@phosphor-icons/react'; |
12 | 13 | import CustomSlider from '../../../components/CustomSlider'; |
13 | 14 | import GenerativeArt from '../../../components/GenerativeArt'; |
@@ -71,26 +72,35 @@ const CloudMusicPlayer = () => { |
71 | 72 | } |
72 | 73 |
|
73 | 74 | return ( |
74 | | - <div className="min-h-screen relative font-mono bg-black text-cyan-500 flex flex-col md:items-center md:justify-center overflow-y-auto md:overflow-hidden selection:bg-cyan-500 selection:text-black"> |
| 75 | + <div className="min-h-screen relative font-mono bg-black text-cyan-500 selection:bg-cyan-500 selection:text-black py-24 px-6 md:px-12"> |
75 | 76 |
|
76 | 77 | {/* Generative Art Background */} |
77 | | - <div className="fixed inset-0 z-0 opacity-50 filter hue-rotate-180 brightness-50 contrast-125"> |
| 78 | + <div className="absolute inset-0 z-0 opacity-50 filter hue-rotate-180 brightness-50 contrast-125 h-full w-full overflow-hidden"> |
78 | 79 | <GenerativeArt seed={currentTrack?.title || "AETHER_DECK"} className="w-full h-full" /> |
79 | 80 | </div> |
80 | 81 |
|
81 | 82 | {/* CRT Scanlines & Vignette */} |
82 | | - <div className="fixed inset-0 z-50 scanlines pointer-events-none"></div> |
| 83 | + <div className="absolute inset-0 z-50 scanlines pointer-events-none h-full w-full"></div> |
83 | 84 |
|
84 | 85 | {/* Background Grid */} |
85 | | - <div className="fixed inset-0 z-10 opacity-20 pointer-events-none" |
| 86 | + <div className="absolute inset-0 z-10 opacity-20 pointer-events-none h-full w-full" |
86 | 87 | style={{ |
87 | 88 | backgroundImage: `linear-gradient(rgba(0, 255, 255, 0.1) 1px, transparent 1px), linear-gradient(90deg, rgba(0, 255, 255, 0.1) 1px, transparent 1px)`, |
88 | 89 | backgroundSize: '40px 40px' |
89 | 90 | }}> |
90 | 91 | </div> |
91 | 92 |
|
92 | | - {/* Main Deck Container */} |
93 | | - <div className="relative z-30 w-full max-w-6xl h-auto md:h-[90vh] flex flex-col md:flex-row gap-6 p-4 md:p-8"> |
| 93 | + <div className="mx-auto max-w-7xl relative z-30"> |
| 94 | + <Link |
| 95 | + to="/apps" |
| 96 | + className="group inline-flex items-center gap-2 text-xs text-gray-500 hover:text-white transition-colors uppercase tracking-[0.3em] mb-12" |
| 97 | + > |
| 98 | + <ArrowLeftIcon weight="bold" className="transition-transform group-hover:-translate-x-1" /> |
| 99 | + <span>Exit_To_Center</span> |
| 100 | + </Link> |
| 101 | + |
| 102 | + {/* Main Deck Container */} |
| 103 | + <div className="w-full max-w-6xl h-auto md:h-[85vh] flex flex-col md:flex-row gap-6 mx-auto"> |
94 | 104 |
|
95 | 105 | {/* Left Column: Player Core */} |
96 | 106 | <div className="w-full md:w-5/12 flex flex-col gap-4"> |
@@ -362,6 +372,7 @@ const CloudMusicPlayer = () => { |
362 | 372 | </div> |
363 | 373 |
|
364 | 374 | </div> |
| 375 | + </div> |
365 | 376 | </div> |
366 | 377 | ); |
367 | 378 | }; |
|
0 commit comments