rofl code

PHOTO EMBED

Mon Apr 22 2024 05:55:12 GMT+0000 (Coordinated Universal Time)

Saved by @shirogan3x

import React, { useState, useEffect } from 'react';

const App = () => {
  const [wave, setWave] = useState(0);

  // Эффект для изменения волнообразной анимации
  useEffect(() => {
    const interval = setInterval(() => {
      setWave((prevWave) => prevWave + 1);
    }, 100); // Интервал в 100 мс для более плавной анимации

    return () => clearInterval(interval);
  }, []);

  return (
    <div style={styles.container}>
      <h1 style={styles.wavyText}>
        {['H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd'].map((char, index) => (
          <span
            key={index}
            style={{
              display: 'inline-block',
              transform: `translateY(${Math.sin((index + wave) * 0.3) * 15}px)`,
              transition: 'transform 0.2s ease-in-out'
            }}
          >
            {char}
          </span>
        ))}
      </h1>
    </div>
  );
};

// Стили в виде JavaScript объектов
const styles = {
  container: {
    display: 'flex',
    justifyContent: 'center',
    alignItems: 'center',
    height: '100vh',
    backgroundColor: '#f0f0f0'
  },
  wavyText: {
    fontSize: '3rem',
    color: '#333',
    fontFamily: 'Arial, sans-serif'
  }
};

export default App;
content_copyCOPY