// Beat detail page — UC-A1 conversion screen // Big art + waveform player on left, license/buy block on right (sticky) // Below: producer card, similar beats, license terms, FAQ, reviews const BD_Icons = window.SonaraIcons; const { useState: useStateBD, useEffect: useEffectBD, useMemo: useMemoBD, useRef: useRefBD } = React; // Mock beat — uses ALL_BEATS[0] if available, otherwise inline const PICK_BEAT = () => (window.ALL_BEATS && window.ALL_BEATS[2]) || { id: 3, title: "Sognando blue moon", producer: { name: "Yoshi Beats", init: "Y", verified: true, art: "art-a", followers: 1240, rating: 4.8, reviews: 87, responseTime: "2h", location: "Milano" }, genre: "Trap", art: "art-a", bpm: 140, key: "A min", duration: "2:14", plays: 24300, likes: 412, price: 49, }; function BeatDetailPage() { const beat = useMemoBD(() => { const src = PICK_BEAT(); // Normalize the producer field — ALL_BEATS has producer as object already if (typeof src.producer === "string") { return { ...src, producer: { name: src.producer, init: src.producer.charAt(0), verified: true, art: src.art, followers: 1240, rating: 4.8, reviews: 87, responseTime: "2h", location: "Milano" } }; } return { ...src, producer: src.producer.name ? src.producer : { ...src.producer, name: src.producer, init: "Y", verified: true, art: src.art, followers: 1240, rating: 4.8, reviews: 87, responseTime: "2h", location: "Milano" } }; }, []); // Normalize once more, defensively const prod = beat.producer && beat.producer.name ? beat.producer : { name: String(beat.producer || "Yoshi Beats"), init: "Y", verified: true, art: beat.art || "art-a", followers: 1240, rating: 4.8, reviews: 87, responseTime: "2h", location: "Milano" }; const [selectedLicense, setSelectedLicense] = useStateBD("non-exclusive"); const [liked, setLiked] = useStateBD(false); const [playing, setPlaying] = useStateBD(false); const licenses = [ { id: "non-exclusive", label: "Non-esclusiva", price: 49, tagline: "Per release indie, demo, social", includes: ["MP3 + WAV", "Streaming illimitato", "Distribuzione Spotify/Apple", "Producer mantiene la track", "Credito obbligatorio"], limits: ["Max 100k stream/anno", "No sync TV/film", "No re-licensing"], popular: true, }, { id: "exclusive", label: "Esclusiva", price: 380, tagline: "Solo per te, ritirata dal catalogo", includes: ["Stems multitraccia (8 tracce)", "Streaming illimitato", "Sync TV/film/spot", "Track ritirata dal catalogo", "Credito opzionale", "Trasferimento copyright"], limits: ["Producer mantiene 30% mechanical royalty", "Pagamento singola soluzione"], popular: false, }, ]; const sel = licenses.find(l => l.id === selectedLicense); return (
Beat trap dark con atmosfera notturna e 808 grossi, perfetto per cori melodici e voci taglienti. Costruito attorno a un campione di pianoforte filtrato e un basso analogico con saturazione armonica.
Mixato con ProTools 2024, mastered su SSL G-Series. Lascia spazio in alto per voce in coda e ad-lib. Loop pulito di 8 battute con drop a 1:14.
{r.text}