Controlling WS2811 LEDS

Hello. i have a problem and hopefully someone here ca help me out.

I have a Arduino Nano with WS2811 led strip.

I need to make a rainbow animation in a loop, and when I press a button, it fades to white in 2 seconds, and then fade down back to the rainbow animation.

the animation should run forever in a loop.

FastLED.io has that example in its library.