VibeCoderzVibeCoderz
Telegram
All Prompts
Framework Equalizer with Hover Tooltips preview
cardchartequalizeranimatedvisualizationmetricsdashboard

Framework Equalizer with Hover Tooltips

Анимированный эквалайзер из 10 полос с всплывающими подсказками при наведении. Идеально для отображения метрик и оценки фреймворков.

Prompt

<div class="w-full bg-neutral-900/30 rounded-xl p-6">
  <style>@import url('https://api.fontshare.com/v2/css?f[]=satoshi@300,400,500,700,900&display=swap');
    
    @keyframes barGrow {
      from { 
        height: 8%; 
        opacity: 0.3;
      }
      to { 
        height: var(--bar-height); 
        opacity: 1;
      }
    }
    
    .equalizer-bar {
      height: 8%;
      opacity: 0.3;
    }
    
    .equalizer-bar.animate {
      animation: barGrow 0.6s cubic-bezier(0.4, 0, 0.2, 1) forwards;
      animation-delay: var(--bar-delay);
    }
    
    .bar-glow-gold {
      box-shadow: 0 0 8px rgba(217, 119, 6, 0.5);
    }
    
    .bar-glow-teal {
      box-shadow: 0 0 6px rgba(20, 184, 166, 0.4);
    }
    
    .bar-tooltip {
      position: absolute;
      bottom: calc(100% + 8px);
      left: 50%;
      transform: translateX(-50%) translateY(4px);
      opacity: 0;
      pointer-events: none;
      transition: all 0.2s ease;
      white-space: nowrap;
      z-index: 50;
      font-size: 10px;
      font-family: 'Satoshi', 'Helvetica Neue', sans-serif;
    }
    
    .bar-container:hover .bar-tooltip {
      opacity: 1;
      transform: translateX(-50%) translateY(0);
    }</style>
  <div class="flex items-center justify-between mb-3">
    <span class="text-[11px] text-neutral-400 uppercase tracking-wider" style="font-family: 'Satoshi', 'Helvetica Neue', sans-serif;">Framework Breakdown</span>
  </div>
  <div id="equalizer-demo" class="flex items-end justify-between h-24 gap-1.5 w-full
    bg-neutral-900/50 rounded-lg p-3 pt-8 border border-white/5
    relative overflow-visible">
    <div class="bar-container relative flex-1 h-full flex flex-col justify-end">
      <div class="bar-tooltip text-amber-400 bg-neutral-900/95 px-2 py-1 rounded border border-amber-500/30">Hook 92</div>
      <div class="equalizer-bar bar-glow-gold w-full bg-gradient-to-t from-amber-600 to-amber-400 rounded-t-sm" style="--bar-height: 92%; --bar-delay: 0ms;" data-score="92"></div>
    </div>
    <div class="bar-container relative flex-1 h-full flex flex-col justify-end">
      <div class="bar-tooltip text-green-400 bg-neutral-900/95 px-2 py-1 rounded border border-green-500/30">Intro 78</div>
      <div class="equalizer-bar w-full bg-gradient-to-t from-green-600 to-green-400 rounded-t-sm" style="--bar-height: 78%; --bar-delay: 50ms;" data-score="78"></div>
    </div>
    <div class="bar-container relative flex-1 h-full flex flex-col justify-end">
      <div class="bar-tooltip text-teal-400 bg-neutral-900/95 px-2 py-1 rounded border border-teal-500/30">Value 85</div>
      <div class="equalizer-bar bar-glow-teal w-full bg-gradient-to-t from-teal-600 to-teal-400 rounded-t-sm" style="--bar-height: 85%; --bar-delay: 100ms;" data-score="85"></div>
    </div>
    <div class="bar-container relative flex-1 h-full flex flex-col justify-end">
      <div class="bar-tooltip text-teal-400 bg-neutral-900/95 px-2 py-1 rounded border border-teal-500/30">Order 81</div>
      <div class="equalizer-bar bar-glow-teal w-full bg-gradient-to-t from-teal-600 to-teal-400 rounded-t-sm" style="--bar-height: 81%; --bar-delay: 150ms;" data-score="81"></div>
    </div>
    <div class="bar-container relative flex-1 h-full flex flex-col justify-end">
      <div class="bar-tooltip text-teal-400 bg-neutral-900/95 px-2 py-1 rounded border border-teal-500/30">Pacing 89</div>
      <div class="equalizer-bar bar-glow-teal w-full bg-gradient-to-t from-teal-600 to-teal-400 rounded-t-sm" style="--bar-height: 89%; --bar-delay: 200ms;" data-score="89"></div>
    </div>
    <div class="bar-container relative flex-1 h-full flex flex-col justify-end">
      <div class="bar-tooltip text-green-400 bg-neutral-900/95 px-2 py-1 rounded border border-green-500/30">Emotion 76</div>
      <div class="equalizer-bar w-full bg-gradient-to-t from-green-600 to-green-400 rounded-t-sm" style="--bar-height: 76%; --bar-delay: 250ms;" data-score="76"></div>
    </div>
    <div class="bar-container relative flex-1 h-full flex flex-col justify-end">
      <div class="bar-tooltip text-teal-400 bg-neutral-900/95 px-2 py-1 rounded border border-teal-500/30">Outro 88</div>
      <div class="equalizer-bar bar-glow-teal w-full bg-gradient-to-t from-teal-600 to-teal-400 rounded-t-sm" style="--bar-height: 88%; --bar-delay: 300ms;" data-score="88"></div>
    </div>
    <div class="bar-container relative flex-1 h-full flex flex-col justify-end">
      <div class="bar-tooltip text-amber-400 bg-neutral-900/95 px-2 py-1 rounded border border-amber-500/30">Meta 94</div>
      <div class="equalizer-bar bar-glow-gold w-full bg-gradient-to-t from-amber-600 to-amber-400 rounded-t-sm" style="--bar-height: 94%; --bar-delay: 350ms;" data-score="94"></div>
    </div>
    <div class="bar-container relative flex-1 h-full flex flex-col justify-end">
      <div class="bar-tooltip text-teal-400 bg-neutral-900/95 px-2 py-1 rounded border border-teal-500/30">Psych 83</div>
      <div class="equalizer-bar bar-glow-teal w-full bg-gradient-to-t from-teal-600 to-teal-400 rounded-t-sm" style="--bar-height: 83%; --bar-delay: 400ms;" data-score="83"></div>
    </div>
    <div class="bar-container relative flex-1 h-full flex flex-col justify-end">
      <div class="bar-tooltip text-amber-400 bg-neutral-900/95 px-2 py-1 rounded border border-amber-500/30">Algo 91</div>
      <div class="equalizer-bar bar-glow-gold w-full bg-gradient-to-t from-amber-600 to-amber-400 rounded-t-sm" style="--bar-height: 91%; --bar-delay: 450ms;" data-score="91"></div>
    </div>
  </div>
  <script>(function() {
      function animateEqualizer() {
        const bars = document.querySelectorAll('#equalizer-demo .equalizer-bar');
        bars.forEach(bar => {
          bar.classList.add('animate');
        });
      }
      
      setTimeout(animateEqualizer, 500);
    })();</script>
</div>
All Prompts