const FEATURED_VIDEO = {
  id: 'XbGDHGhamT0',
  title: "Just J - Just J 'N' B+",
  description: 'Featured lyric video from Blinded Younggun Entertainment.',
  lyrics: `Don't wanna B U O K I M Just J
Till the day I D I E (x4)

L O V E M E even though I M the enemy
S O E Z to See I'm blessed to be from a different pedigree

Rare breed Scarred beast I'm an artist
Maltese bearing sharp teeth while I Spark chief
Mobb Deep yeah your barks mean but the chomps weak
y'all just zombies and it's shocking my name is crossing a missing jaw piece

you ungodly anomaly
passion burning like its musphelheim topography
erupting as the plates meet tectonically
y'all could never demolish or abolish me

I'm high up in the knowledge tree
N sly as Mephistopheles so know there ain't no stopping these poetic cardiology's

flow artistry through arteries so music's obviously apart of me

like the heart I wear up on my sleeve
Cuz I B G just J till I RIP

Don't wanna B U O K I M Just J
Till the day I D I E (x4)

It's like I'm beefing with a vegetable
got soft in broth you friend or pho
just a letter homie let it go
super shreddah cheddar cheesy flow
Cannon confetta Betta believe he blow

Undefeatable
unbelievable
underachiever though
he's achieving
the unachievable
inconceivable
Couldn't tell by his demeanor though

Deep down low
underneath he's so
geothermical n it's terminal

vison blurring
blurting
intellectual
electrical
professional
conceptual
manifestables
Hypotheticals
while you're high up on your pedestals

mixing words like herbs for lesser folks
stir the pot till it's digestible

delectable
ingestibles
all beneath the cloche to feed these souls
but gluttony holds meaning close
they eating till their ego bloats
keep feeding into overload till they finally blow it's inevitable n incredible

The lengths we'll go
when the go
is no longer
available

just play the roll. no
you couldn't pay me hoe
it's just J till the day I croak
put respect up on the name when spoke
or respectfully I'll turn your tame dame into my freaky hoe

Don't wanna B U O K I M Just J
Till the day I D I E (x4)`,
};

const VIDEO_GRID_ITEMS = [
  {
    id: 'e4uBMHSk0hU',
    title: "Manifester - Just J 'N' B",
    desc: 'Official upload with lyrics from the video description.',
    lyrics: `Manifesting dreams
Constructing reality
(Make it so)
Positivity
Be the change you wanted to see
(And it's so)

It's that kinda day just had to say
Let's Manifest our thoughts to page
Unlocks and picks apart the hate
It sparks the heart and stops debate
It Marks the start of healing pain
I swear you'll never feel the same
When ink take forms unveiling fate
You'll search your soul unseal the great
It separates the real from fake
Ideals that deal in willing space
Create the path instill the change
The Master crafts with skill and pace
Push past the past and steal the race
Don't chase the cash you'll kill the grace
You'll lose it fast with copy paste
I'ma share my thoughts today
And spill my soul upon the stage
Adorned in thorns but plot escape
Only Got one shot I'ma have to take
On tops the spot with luck and faith
No regrets won't stop never touch the breaks
Got a vest to protect my trusts unscathed
Gotta take deep breaths n adjust the brain
Be your best destress invest be brave

Deep breath

Address the mess and manifest
We're truly blessed not powerless x2

Manifesting dreams
Constructing reality
(Make it so)
Positivity
Be the change you wanted to see
(And it's so)

Manifester thought collector
Got no time for any lesser
Diamond formed up under pressure
Kings n queens we hold da scepter
The finest cloak from out the dresser
Silky flow I'm spinning Webster
Words absurd observe da jester
heard I swerve perturbed investors
I know my worth so check ya check sir
It's 4D chess put down the checkers
Rhyme stupendous mind is endless
Designed to find and climb my Everest
Devine I shine refining templates
Aligning time with my intentions
Give sight to blind by my inventions
Polite and kind supply the message
Inside there hides a prime directive
Survive and shine your luminescence
Deny the lie it's true acceptance
It's fine we dine I'm serving breakfast
So stay in line no swerving reckless
Made myself while life made lemons
Instilled my worth behind the lessons
Ensure my words success in sessions
From curb to burb I'm scratching 7s
In search I perch pure adolescence
What hurts the worst my past is present
Rebirth unearthed my path is prevalent
Usurp a serpent in half a second
Reverse the curse and manifest it x2

Manifesting dreams
Constructing reality
(Make it so)
Positivity
Be the change you wanted to see
(And it's so)

let the good times roll
go ahead and make it so
And it's so`,
  },
  {
    id: 'Z76samba3Q8',
    title: "Third I See - Just J 'N' B+",
    desc: 'Matched to the 3rd Eye See lyric-video upload.',
    lyrics: `Yeah I've been hurt bad
Kicked on the ground
covered in mud
I've learned how to pick myself back up
And move on
Yeah I've been running n fighting not trusting
My guidance blind sighted for show oh oh
they'll never take my god damn soul
I have no fear
3rd I see

Oh My path is divine
My craft it'll shine
My Passion burns Bright
it Burns oh so bright
Oh my Goals are in sight
I'll Have it in time
Can't give up this fight
Oh Can't Give up this fight

Locked up inside my room
Singing this lonely tune
Heart strings plucked like a lute
Pattern wove tight
Locked up inside my room
Singing this lonely tune
Heart strings plucked like a lute
The Lone Wolf cry's up at the moon
The moon
The lone wolf cries up at the moon
Says says oh so so so soon...so soon
soon it'll all come true
But till then I'm so blue

Oh My path is divine
My craft it'll shine
My Passion burns Bright
it Burns oh so bright
Oh my Goals are in sight
I'll Have it in time
Can't give up this fight
Oh Can't Give up this fight

Rode down this one way road
Only path left to go
Balancing the tightrope
Closing two eyes
Music made out of soul
Midas touch now it's gold
Can't put a price on goals
Keep them in sight
And hold them tight
Cant see if your 3rd eye blind
Oh so wake up it's time
To fight
Fight we must do what's right
Sharpened spear tips let's ride

Oh My path is divine
My craft it'll shine
My Passion burns Bright
it Burns oh so bright
Oh my Goals are in sight
I'll Have it in time
Can't give up this fight
Oh Can't Give up this fight

Yeah I've been hurt bad
Kicked on the ground
covered in mud
I've learned how to pick myself back up
And move on`,
  },
  {
    id: 'Btr4kZUtcSc',
    title: "G.S.O.S - Just J 'N' B+",
    desc: 'Description lyrics from the official upload.',
    lyrics: `Strong brother
Strong sister
Stand together
God grace our soul
Soul
Our Soul
Stand together
God save our soul

God gave us soul but we control it tho
I know I know it's web n flow
From highs to lows just how it goes
Don't ever fold your incredible
Don't settle for A pedestal
or meddle in the medicals
It kills the mind arm head leg leg soul
Feel your kind heart break ache take hold
Formed clay may break replace space with gold
Encased grace explodes it's breaking molds
And Creating goals suppose it's all achievable
Unity exposed the light on open doors
But Open doors door bring open sores
From sharpened swords on distant shores
A lion roars in pride he hides his lonely chorus
Surprised to find that he's a florist of the forest
in light we flourish enter night with knightly courage
unite n fight the darker forces
don't lie behind lies of all seeing eyes
Burn their iris with the brightness supernova califragilisticexpialidocious implosions
and when it blows it's ferocious n sends the planets in motion it's such atrocious commotion
then the futures rewoven
And your soul is awoken
Walk this path of the chosen
With the heart of a Shogun
Play my part of the show good
Until my marks getting notice
Then I'll expose um as bogus
Imposed the codes as i wrote it
N till I'm biting a bullet
N the flames are engulfing
The longboat that's still rowing
It's to my cause I'm devoted
Etched in stone they'll know it
I'ma poet Edda ode to Odin
this Helheim hearts forever frozen

Deaths knocking
Well never let her in
I'm walking
A path of betterment
Never stopping
Reborn a revenant
We're plotting
Cuz This revolutions motherfucking relevant x2

I find irony in the fact that the road to enlightenment is shrouded in darkness
And how the warmest love is found deep inside the icy core of the heartless
All It takes a single spark to restart the heart
All the scars and marks are an art in which they're carved
another martyr dying for a just cause just cuz
full cups dumped on the grave of loved ones on the edge about to plunge
then all will be undone in the name of the Father the Spirit and the Holy Son

Strong brother
Strong sister
Stand together
God grace our soul
Soul
Our Soul
Stand together
God save our soul`,
  },
  {
    id: 'FUy1aqRSnyc',
    title: "Live On - Just J 'N' B+",
    desc: 'Lyrics pulled from the official short-form upload description.',
    lyrics: `We will live on faiths been built strong
We're finding a way
to keep the fighting at bay
Don't get caught in the fray
you'll end up drown in the wave

So much weight on my back
my bones crack as I attack
This ain't a diss track
As much as they wish that
it'd be a mismatch
an outcast who's outclassed with his rap style with clear lines outliers outlast any wack trials they say he's a beast not a man
yeah he's mad wild
he's mastering his craft
with every clip of the sound file
The magic that he casts
from pen tips makes the crowd shout
"Just J" yeah I'm him
Bass like thunder when I crashed down

We will live on right all these wrongs
We're finding a way
to keep the darkness at bay
Don't get bought by the fake
you'll end up found in the wake

We will live on strength of chosen
The path that gets paved
Will make the night turn to day
We're bringing light to the shade
Tipping scales of love and hate

We will live on break free of bonds
We're finding a way
to keep the monster at bay
All these scars made me brave
Devine rays making demons afraid

In the wake of destruction
It feels like hate is abundant
I stake my claim up above it
Built the foundation on loving
Stand my ground never running
I'll die on this hill gunning
Giving all or nothing
Without a single bill on the budget
He's hitting harder than percussions
Got everyone jumping
They feel my spark like I'm plugged in
crushing the function heart thumping
crafting my art to feel something
If I make a deal on a mil
I'm still real never fronting
that's the end of discussion

We will live on blast through ceilings
We're finding a way
to keep the villains at bay
An antihero enraged
Leave no trace of my enemies

We will live on places we belong
We're finding a way
to keep the heartache at bay
Made my mark it's engraved
Am I heading to an early grave

We will live on faiths been built strong
We're finding a way
to keep the fighting at bay
Don't get caught in the fray
you'll end up drown in the wave

We will live on blast through ceilings
We're finding a way
to keep the villains at bay
An antihero enraged
Leave no trace of my enemies

We will live on places we belong
We're finding a way
to keep the heartache at bay
Made my mark it's engraved
Am I heading to an early grave`,
  },
  {
    id: 'yxWND-BLgB0',
    title: "Light Up Just Us Edition - Just J 'N' B+ Ft. OvaDose",
    desc: 'Lyrics added from your supplied text because this song was missing them in the description.',
    lyrics: `I remember who we were
We're not going back where we started from
Don't look back
Don't look back
I remember who we were
We're not going back where we started from
Don't look back
Don't look back

Light up when you understand it
Light up you'll feel where we're coming from
From

Light up when you understand it
Light up you'll feel where we're coming from
From

Light up since the younger days
when fighting off them hunger pains
kept me humble while hunting fame
before the pen hit the page
or I ever rocked a stage
I was lost n locked in my mental cage
every days a daze with purple haze
these pills I'd take while I sip my drank
n I'd strive to escape
yet I dig my grave with every line i sniffed
all the time just spent
trying to hide my decent
behind this smile of sin
n commit to this bit
that life's not shit*
I light up to forget
And Ill fight until I get
burnt out then I'll rise from the ashes again
with my mask in the wind
and a chance to begin
a path worthy of him
my brother who fell too early, a kid
but wise as a Jin
in the end the gin took him
now the weight of his casket i carry within
Pieces of me buried with him
I died but he survived as my guide
through the obstacles of life
and the way that I carry my pen
his message received
save every life that you can

I remember who I was
We're not going back where we started from
Don't look back
We're gone

I remember who I was
We're not going back where we started from
Don't look back
We're gone

Light up when you understand it
Light up to feel where I'm coming from
From

Light up when you understand it
Light up to feel where I'm coming from
From

Reminiscing on the spice* days, those never doing right days, those days of probation were makin me crazy, I just want wanted to get high mane, but one thousand eight hundred twenty five days, shit* had me on a tirade, I couldn't go to sleep, I couldn't treat my aches, now Im smoking the northern lights strain, coasting away from my past, I dont ever wanna look back, I just wanna smoke on this good sack, and leave the past as that, look towards the future with my fam, and the beautiful woman I have, because if I stayed as who I was, and not changed to who I am, I'd be doing acid and coke* en masse, have no traction with rappin, alone in my pad, there'd no laughin or dancin, I wouldn't have no fans, trapped in a casket cause I had no plans, now Im enchanting the planet going ham with raps, subtract all the sadness of my shattered past, I be doin this now for the homies cant, DAAAAAAAAMN

I remember who I was
We're not going back where we started from
Don't look back
We're gone

I remember who I was
We're not going back where we started from
Don't look back
We're gone

Light up when you understand it
Light up to feel where I'm coming from
From

Light up when you understand it
Light up to feel where I'm coming from
From

...Guitar Solo...

I remember who I was
We're not going back where we started from
Don't look back
We're gone

I remember who I was
We're not going back where we started from
Don't look back
We're gone

Light up when you understand it
Light up to feel where I'm coming from
From

Light up when you understand it
Light up to feel where I'm coming from
From`,
  },
  {
    id: 'UlTHWugOXW0',
    title: "Dark Clouds - Just J 'N' B+",
    desc: 'Official upload with closing-track lyrics from the description.',
    lyrics: `We'll make it out
Rains pouring down

Surrounded by these clouds
summit to summit I will bound
independent with incredible sound
the way I said you know I meant it profound
I levitated got my feet off the ground
not medicated my release is in a beat that surrounds
Now take a seat as I defeat an unimaginable feat
I'm not your majesty but my imagery is on top of the league
so put respect on the letter that's my name when you speak
never guessed that I'd profess in every flavor of speech
I played my part in these streets
made my mark got the scars
n I'll take off any week
Starving artist n I can't sleep a wink
My heart's evolved and I'm beyond any beef
The plot involves all of you
Yeah not only me
Support shown keeps me growing indefinitely
N that's an infinite feed I tune into when I know that I'm at my brink
The captain of this ship
With faith light will guide through these treacherous seas

We're moving up
We'll make it out
Rains pouring down
Rid me of these dark clouds dark clouds

This industry some vultures
they convince you that it's hopeless
to go alone but yo that's bogus
to be a master of your music you gotta own it
N To capture all the viewers
real emotions you got to show them
Show your foes you got devotion
Be an unstoppable force of motion
Wrote in code are the components
This path you've chose
is quite a rocky road
But at the end
you can be the one
that delivers slivers of hope
rid of fear
feel rhythm take hold
mind state flows
n it feels you could go
up n up
so high your out the storm
Blast forth
so that you can Transform
to be your highest form
the brightest source
of shining light
Aurora Borealis ripples all throughout the sky replacing these dark clouds I'm bothered by
So I can sing the moon another lullaby
Imbued with her power now she's personified
saved me many lonely nightmare nights
Rid this torture inside my frightening mind
Lord I implore let me absorb
all that's Divine in your design
Father time to unwind

We're moving up
We'll make it out
Rains pouring down
Rid me of these dark clouds dark clouds

Yeah keep moving up
Yeah we're gonna make it out
when the rain pours down
We dissipate these dark clouds dark clouds
x2`,
  },
];

const Videos = () => (
  <section className="jjnb-section" id="videos">
    <div className="jjnb-section__head">
      <div className="eyebrow">Watch &amp; Listen</div>
      <h2 className="jjnb-section__title">Featured Songs &amp; Lyrics</h2>
    </div>

    <div className="glass glass--accent featured-embed">
      <div className="yt-embed">
        <iframe
          src={`https://www.youtube-nocookie.com/embed/${FEATURED_VIDEO.id}?rel=0&modestbranding=1`}
          title={FEATURED_VIDEO.title}
          frameBorder="0"
          allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
          allowFullScreen
        ></iframe>
      </div>
      <div className="featured-embed__meta">
        <div className="eyebrow">Now Playing</div>
        <div className="featured-embed__title">{FEATURED_VIDEO.title}</div>
        <p className="featured-embed__desc">{FEATURED_VIDEO.description}</p>
        <LyricsBlock lyrics={FEATURED_VIDEO.lyrics} featured />
        <a className="btn" href={`https://www.youtube.com/watch?v=${FEATURED_VIDEO.id}`} target="_blank" rel="noopener noreferrer">
          <svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor"><path d="M8 5v14l11-7z"/></svg>
          Watch on YouTube
        </a>
      </div>
    </div>

    <div className="video-grid">
      {VIDEO_GRID_ITEMS.map((video) => (
        <VideoCard
          key={video.id}
          id={video.id}
          title={video.title}
          description={video.desc}
          lyrics={video.lyrics}
        />
      ))}
    </div>
  </section>
);

const LyricsBlock = ({ lyrics, featured = false }) => (
  <div className={`lyrics-block${featured ? ' lyrics-block--featured' : ''}`}>
    <div className="lyrics-block__label">Lyrics</div>
    <div className="lyrics-block__text">{lyrics}</div>
  </div>
);

const VideoCard = ({ id, title, description, lyrics }) => {
  const [active, setActive] = React.useState(false);
  const thumbUrl = `https://img.youtube.com/vi/${id}/hqdefault.jpg`;
  const handlePlay = () => setActive(true);
  const handleKey = (e) => {
    if (e.key === 'Enter' || e.key === ' ') {
      e.preventDefault();
      setActive(true);
    }
  };

  return (
    <article className="glass video-card">
      <div className="yt-embed yt-embed--sm">
        {active ? (
          <iframe
            src={`https://www.youtube-nocookie.com/embed/${id}?autoplay=1&rel=0&modestbranding=1`}
            title={title}
            frameBorder="0"
            allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
            allowFullScreen
          ></iframe>
        ) : (
          <div
            className="yt-facade"
            onClick={handlePlay}
            onKeyDown={handleKey}
            role="button"
            tabIndex="0"
            aria-label={`Play ${title}`}
          >
            <img src={thumbUrl} alt={title} className="yt-thumb" />
            <div className="yt-play-btn" aria-hidden="true">
              <svg viewBox="0 0 68 48" width="52" height="38">
                <path d="M66.52,7.74c-0.78-2.93-2.49-5.41-5.42-6.19C55.79,.13,34,0,34,0S12.21,.13,6.9,1.55C3.97,2.33,2.27,4.81,1.48,7.74C0.06,13.05,0,24,0,24s0.06,10.95,1.48,16.26c0.78,2.93,2.49,5.41,5.42,6.19C12.21,47.87,34,48,34,48s21.79-0.13,27.1-1.55c2.93-0.78,4.64-3.26,5.42-6.19C67.94,34.95,68,24,68,24S67.94,13.05,66.52,7.74z" fill="rgba(0,0,0,0.75)" />
                <path d="M 45,24 27,14 27,34" fill="white" />
              </svg>
            </div>
          </div>
        )}
      </div>
      <div className="video-card__body">
        <div className="video-card__title">{title}</div>
        <p className="video-card__desc">{description}</p>
        <LyricsBlock lyrics={lyrics} />
        <a className="video-card__link" href={`https://www.youtube.com/watch?v=${id}`} target="_blank" rel="noopener noreferrer">
          Open source video
        </a>
      </div>
    </article>
  );
};

window.Videos = Videos;
window.VideoCard = VideoCard;
