구성 요소 히트 맵 Heat Maps 구성 요소

Heat Maps 구성 요소

Glassmorphism 스타일, 유사한 색 구성표 및 포트폴리오에 대한 적당한 복잡성을 갖춘 반응형 Heat Maps 구성 요소이며 어두운 테마를 지원합니다.

미리 보기

HTML 코드

<div class="min-h-screen bg-gray-100 dark:bg-gray-900 p-8 flex items-center justify-center">
  <div class="w-full max-w-4xl bg-white dark:bg-gray-800 rounded-lg shadow-xl overflow-hidden backdrop-filter backdrop-blur-lg bg-opacity-20 dark:bg-opacity-20 transform transition-all duration-300">
    <div class="p-6">
      <h2 class="text-2xl font-bold text-gray-800 dark:text-white mb-4">Activity Heatmap</h2>
      <div class="grid grid-cols-7 gap-1 text-center text-sm text-gray-600 dark:text-gray-300 mb-2">
        <span>Mon</span>
        <span>Tue</span>
        <span>Wed</span>
        <span>Thu</span>
        <span>Fri</span>
        <span>Sat</span>
        <span>Sun</span>
      </div>
      <div class="grid grid-cols-7 gap-1">
        <!-- Loop for weeks -->
        {[...Array(4)].map((_, weekIndex) => (
          // Loop for days
          [...Array(7)].map((_, dayIndex) => {
            const intensity = Math.floor(Math.random() * 5); // 0-4 for intensity
            const colors = [
              "bg-purple-200 dark:bg-purple-800",
              "bg-purple-300 dark:bg-purple-700",
              "bg-purple-400 dark:bg-purple-600",
              "bg-purple-500 dark:bg-purple-500",
              "bg-purple-600 dark:bg-purple-400"
            ];
            return (
              <div
                key={`${weekIndex}-${dayIndex}`}
                class={`h-8 w-full rounded-sm ${colors[intensity]} transform hover:scale-105 transition-transform duration-200 cursor-pointer`}
                title={`Day ${dayIndex + 1}, Week ${weekIndex + 1}: Intensity ${intensity}`}
              ></div>
            );
          })
        ))}
      </div>
      <div class="flex justify-between items-center mt-6 text-gray-600 dark:text-gray-300 text-sm">
        <span>Less</span>
        <div class="flex space-x-1">
          <div class="h-4 w-4 bg-purple-200 dark:bg-purple-800 rounded-sm"></div>
          <div class="h-4 w-4 bg-purple-300 dark:bg-purple-700 rounded-sm"></div>
          <div class="h-4 w-4 bg-purple-400 dark:bg-purple-600 rounded-sm"></div>
          <div class="h-4 w-4 bg-purple-500 dark:bg-purple-500 rounded-sm"></div>
          <div class="h-4 w-4 bg-purple-600 dark:bg-purple-400 rounded-sm"></div>
        </div>
        <span>More</span>
      </div>
    </div>
  </div>
</div>

관련 구성 요소

Heat Maps 구성 요소

포트폴리오에 적합한 유사한 색 구성표를 가진 3D 히트 맵 구성 요소입니다. 반응이 빠르며 다크 모드를 지원합니다.

열다

Heat Maps 구성 요소

Tailwind CSS로 스타일링된 반응형 히트 맵 구성 요소로, 자리 표시자 이미지와 아바타를 사용하여 마이크로 인터랙션 및 어두운 테마 지원을 제공합니다.

열다

Heat Maps 구성 요소

블로그/콘텐츠 소비를 위한 히트 맵 컴포넌트로, 다크 모드를 지원하는 반응형 디자인을 특징으로 합니다. 그레이스케일 색 구성표와 대화형 기능을 통해 중간 복잡성을 활용합니다. 자바스크립트 없음, Tailwind CSS가 있는 순수 HTML.

열다