JSFiddle - React, Tailwind, and code Playground

by fxi

HTML

<body bgcolor=x onload=''><pre id=p>

CSS

body {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 50px;
  outline: 1px solid #fff;
  background-color: #333;
}

JavaScript

// better, but characters are not all monospaced, prduce unreguar lines
//setInterval(f=H/*appy New Year*/=>{for(i=0,w=19,t++,o=``,l=f+o;i<l.length;o+=(l[i++]+(i%w?``:`\n`)).fontcolor(!(H.charCodeAt(i/w+t&7)&1<<i%w-3)&&p.x));p.innerHTML=o},t=6e2,`睷䑔睗ᅑ睷`)

// Smarter, but encoded 2022 not included
//setInterval(f=H/*appy New Year*/=>{for(i=0,w=19,t++,o=``,l=f+o;i<l.length;o+=(l[i++]+(i%w?``:`\n`)).fontcolor(!(H.charCodeAt(i/w+t&7)&1<<i%w-3)&&p.x));p.innerHTML=o},t=6e2,`睷䑔睗ᅑ睷`)

// Compromise : char numbers
//setInterval(f=H/*appy New Year*/=>{for(i=0,w=19,b=30583,t++,o=``,l=f+o;i<l.length;o+=(l[i++]+(i%w?``:`\n`)).fontcolor(!([b,17492,30551,4433,b][i/w+t&7]&1<<i%w-3)&&H));p.innerHTML=o/**/},t=500)


//([30583,17492,30551,4433,30583][y-5]&1<<x-2)
//([b,17492,30551,4433,b][y]&1<<x-3)&&H||
//(y-t*3+9+3*cos(x*3-t)-5*sin(x*7))*1e4)
//(y-t*3+9+3*cos(x*3-t)-5*sin(x*7)))
//||(t*x*y*16e6).toString(16)

// wave 1 working
//setInterval(f=H/*appy New Year*/=>{for(x=y=i=0,w=19,b=30583,t++,o=``,l=f+o;i<l.length;x=i%w,y=i/w,o+=(l[i++]+(i%w?``:`\n`)).fontcolor(([b,17492,30551,4433,b][y+5&7]&1<<x+t)?'#fff':Math.sin(t-i)));p.innerHTML=o/**/},t=100)

setInterval(f=H/*appy New Year*/=>{for(x=y=i=0,w=19,b=30583,t++,o=``,l=f+o;i<l.length;x=i%w,y=i/w,o+=(l[i++]+(i%w?``:`\n`)).fontcolor(([b,17492,30551,4433,b][y+5&7]&1<<x+t)?'#fff':Math.sin(t-i)));p.innerHTML=o/**/},t=100)


// glitch
//setInterval(f=H/*appy New Year*/=>{for(x=y=i=0,w=19,b=30583,t++,o=``,l=f+o;i<l.length;a=l[i++],x=i%w,y=i/w,o+=(a+(x?``:`\n`)).fontcolor(([b,17492,30551,4433,b][y+5&7]&1<<x+t/3)?'#fff':Math.tan(t-y)));p.innerHTML=o},t=130)

// wave 2
//setInterval(f=H/*appy New Year*/=>{for(i=0,w=19,b=30583,t++,o=``,l=f+o;i<l.length;o+=(l[i++]+(i%w?``:`\n`)).fontcolor(([b,17492,30551,4433,b][i/w+5&7]&1<<i%w+t/2)?'#fff':Math.sin(t-i)));p.innerHTML=o/**/},t=100)