VibeCoderzVibeCoderz
Telegram
All Prompts
Course Session Card with Hero and Actions preview
cardtailwindresponsiveinteractiveeducationdashboard

Course Session Card with Hero and Actions

Карточка курса для образовательных дашбордов: статус, изображение, детали, кнопки действий. Адаптивный UI-компонент.

Prompt

<section
  class="flex-1 overflow-hidden bg-neutral-900 max-w-md border-neutral-800 border rounded-[2.2rem] mr-auto ml-auto relative shadow-2xl m-8">
  <!-- Status bar -->
  <div
    class="px-5 pt-5 flex items-center justify-between text-[11px] text-neutral-300 border-b border-neutral-800/70 pb-3">
    <span class="font-sans">09:42</span>
    <div class="flex items-center gap-1.5 text-xs">
      <span class="iconify w-3.5 h-3.5" data-icon="solar:wifi-bold-duotone"></span>
      <span class="font-sans">Strong</span>
    </div>
  </div>

  <!-- Hero image -->
  <div class="relative mt-3 mx-3 rounded-[1.8rem] overflow-hidden">
    <img class="w-full h-80 object-cover" src="https://hoirqrkdgbmvpwutwuwj.supabase.co/storage/v1/object/public/assets/assets/89c17836-ca19-4c7c-9bb2-b8a36b6a0bde_800w.webp" alt="Student portrait">
    <div class="bg-gradient-to-t from-black/70 via-black/30 to-transparent absolute top-0 right-0 bottom-0 left-0">
    </div>

    <div class="absolute top-4 left-4 right-4 flex items-start justify-between">
      <div class="space-y-1">
        <p class="text-[11px] text-neutral-200 font-sans">
          48,210 learners synced · Live cohort
        </p>
        <p class="text-xs text-neutral-400 max-w-xs font-sans">
          After the live block, the recording and notes will appear here
          automatically.
        </p>
      </div>
      <!-- perfect circle more (...) -->
      <button class="flex outline-none focus-visible:outline focus-visible:outline-2 focus-visible:outline-emerald-500/80 flex-none text-neutral-100 bg-black/50 w-9 h-9 border-white/10 border rounded-full backdrop-blur items-center justify-center" type="button">
              <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" width="1em" height="1em" viewBox="0 0 24 24" data-icon="solar:menu-dots-bold-duotone" class="iconify w-4 h-4 iconify--solar"><path fill="currentColor" d="M7 12a2 2 0 1 1-4 0a2 2 0 0 1 4 0m14 0a2 2 0 1 1-4 0a2 2 0 0 1 4 0" class=""></path><path fill="currentColor" d="M14 12a2 2 0 1 1-4 0a2 2 0 0 1 4 0" opacity=".5" class=""></path></svg>
            </button>
    </div>
  </div>

  <!-- Content under hero -->
  <div class="mt-6 pr-6 pb-6 pl-6 space-y-6">
    <div class="space-y-1 border-b border-neutral-800/70 pb-4">
      <p class="text-xs font-medium text-emerald-400 uppercase tracking-[0.2em] font-sans">
        MATH204 · Live Series
      </p>
      <h2 class="text-xl font-semibold tracking-tight text-neutral-50 font-sans">
        Intuitive Linear Spaces &amp; Models
      </h2>
      <p class="text-xs text-neutral-400 font-sans">
        Can you read structure from this function’s shape? We’ll map
        visuals to algebra.
      </p>
    </div>

    <!-- Action buttons circle -->
    <div class="flex items-center justify-between">
      <div class="flex items-center gap-3">
        <button class="h-11 w-11 rounded-full bg-emerald-500 text-neutral-900 flex items-center justify-center shadow-lg hover:bg-emerald-400 transition outline-none focus-visible:outline focus-visible:outline-2 focus-visible:outline-emerald-500/80" type="button">
                <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" width="1em" height="1em" viewBox="0 0 24 24" data-icon="solar:play-bold-duotone" class="iconify w-5 h-5 translate-x-[1px] iconify--solar"><path fill="currentColor" fill-rule="evenodd" d="M23 12c0-1.035-.53-2.07-1.591-2.647L8.597 2.385C6.534 1.264 4 2.724 4 5.033V12z" clip-rule="evenodd" class=""></path><path fill="currentColor" d="m8.597 21.615l12.812-6.968A2.99 2.99 0 0 0 23 12H4v6.967c0 2.31 2.534 3.769 4.597 2.648" opacity=".5" class=""></path></svg>
              </button>
        <div class="text-xs">
          <p class="text-neutral-200 font-medium font-sans">
            Join session
          </p>
          <p class="text-neutral-500 font-sans">
            Starts in 18 minutes
          </p>
        </div>
      </div>
      <div class="flex items-center gap-3 text-neutral-300">
        <button class="flex hover:bg-neutral-700 transition outline-none focus-visible:outline focus-visible:outline-2 focus-visible:outline-emerald-500/80 bg-neutral-800 w-10 h-10 rounded-full items-center justify-center" type="button">
                <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" style="color: rgb(212, 212, 212); width: 16px; height: 16px" class="iconify iconify--solar w-[16px] h-[16px]" aria-hidden="true" role="img" data-icon="solar:phone-calling-rounded-bold-duotone" data-solar="eye-bold-duotone" data-icon-set="solar" data-icon-replaced="true" stroke-width="2"><path fill="#d4d4d4" d="M2 12c0 1.64.425 2.191 1.275 3.296C4.972 17.5 7.818 20 12 20s7.028-2.5 8.725-4.704C21.575 14.192 22 13.639 22 12c0-1.64-.425-2.191-1.275-3.296C19.028 6.5 16.182 4 12 4S4.972 6.5 3.275 8.704C2.425 9.81 2 10.361 2 12" opacity=".5" class=""></path><path fill="#d4d4d4" fill-rule="evenodd" d="M8.25 12a3.75 3.75 0 1 1 7.5 0a3.75 3.75 0 0 1-7.5 0m1.5 0a2.25 2.25 0 1 1 4.5 0a2.25 2.25 0 0 1-4.5 0" clip-rule="evenodd" class=""></path></svg>
              </button>
        <button class="flex hover:bg-neutral-700 transition outline-none focus-visible:outline focus-visible:outline-2 focus-visible:outline-emerald-500/80 bg-neutral-800 w-10 h-10 rounded-full items-center justify-center" type="button">
                <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" width="1em" height="1em" viewBox="0 0 24 24" data-icon="solar:phone-calling-rounded-bold-duotone" class="iconify iconify--solar w-[16px] h-[16px]" stroke-width="2" data-icon-replaced="true" style="color: rgb(212, 212, 212); width: 16px; height: 16px;"><path fill="currentColor" d="m10.038 5.316l.649 1.163c.585 1.05.35 2.426-.572 3.349c0 0-1.12 1.119.91 3.148c2.027 2.027 3.146.91 3.147.91c.923-.923 2.3-1.158 3.349-.573l1.163.65c1.585.884 1.772 3.106.379 4.5c-.837.836-1.863 1.488-2.996 1.53c-1.908.073-5.149-.41-8.4-3.66c-3.25-3.251-3.733-6.492-3.66-8.4c.043-1.133.694-2.159 1.53-2.996c1.394-1.393 3.616-1.206 4.5.38" opacity=".5" class=""></path><path fill="currentColor" d="M13.26 1.88a.75.75 0 0 1 .861-.62c.025.005.107.02.15.03q.129.027.352.09c.297.087.712.23 1.21.458c.996.457 2.321 1.256 3.697 2.631c1.376 1.376 2.175 2.702 2.632 3.698c.228.498.37.912.457 1.21a6 6 0 0 1 .113.454l.005.031a.765.765 0 0 1-.617.878a.75.75 0 0 1-.86-.617a3 3 0 0 0-.081-.327a7.4 7.4 0 0 0-.38-1.004c-.39-.85-1.092-2.024-2.33-3.262s-2.411-1.939-3.262-2.329a7.4 7.4 0 0 0-1.003-.38a6 6 0 0 0-.318-.08a.76.76 0 0 1-.626-.861" class=""></path><path fill="currentColor" fill-rule="evenodd" d="M13.486 5.33a.75.75 0 0 1 .927-.516l-.206.721l.206-.72h.003l.003.001l.008.002l.02.006l.056.02q.067.023.177.07c.146.062.345.158.59.303c.489.29 1.157.77 1.942 1.556c.785.785 1.266 1.453 1.556 1.942c.145.245.241.444.303.59a3 3 0 0 1 .09.233l.005.02l.003.008v.003l.001.001s0 .002-.72.208l.72-.206a.75.75 0 0 1-1.439.422l-.003-.01l-.035-.088a4 4 0 0 0-.216-.417c-.223-.376-.626-.946-1.326-1.646s-1.269-1.102-1.646-1.325a4 4 0 0 0-.504-.25l-.01-.004a.75.75 0 0 1-.505-.925" clip-rule="evenodd" class=""></path></svg>
              </button>
        <button class="h-10 w-10 rounded-full bg-neutral-800 flex items-center justify-center hover:bg-neutral-700 transition outline-none focus-visible:outline focus-visible:outline-2 focus-visible:outline-emerald-500/80" type="button">
                <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" width="1em" height="1em" viewBox="0 0 24 24" data-icon="solar:widget-3-bold-duotone" class="iconify iconify--solar w-[16px] h-[16px]" stroke-width="2" data-icon-replaced="true" style="color: rgb(212, 212, 212); width: 16px; height: 16px;"><g fill="currentColor" fill-rule="evenodd" clip-rule="evenodd" class=""><path d="M22.25 6.5a4.75 4.75 0 1 0-9.5 0a4.75 4.75 0 0 0 9.5 0m-11 11a4.75 4.75 0 1 0-9.5 0a4.75 4.75 0 0 0 9.5 0" class=""></path><path d="M1.75 6.5a4.75 4.75 0 1 1 9.5 0a4.75 4.75 0 0 1-9.5 0m11 11a4.75 4.75 0 1 1 9.5 0a4.75 4.75 0 0 1-9.5 0" opacity=".5" class=""></path></g></svg>
              </button>
      </div>
    </div>

    <!-- Meta -->
    <div class="grid grid-cols-3 gap-4 text-[11px] text-neutral-400 border-t border-neutral-800/70 pt-4">
      <div class="">
        <p class="uppercase tracking-[0.22em] font-medium font-sans">
          Level
        </p>
        <p class="mt-1 text-neutral-50 font-medium font-sans">
          Intermediate
        </p>
      </div>
      <div class="">
        <p class="uppercase tracking-[0.22em] font-medium font-sans">
          Length
        </p>
        <p class="mt-1 text-neutral-50 font-medium font-sans">
          3 months
        </p>
      </div>
      <div class="">
        <p class="uppercase tracking-[0.22em] font-medium font-sans">
          Credits
        </p>
        <p class="mt-1 text-neutral-50 font-medium font-sans">
          4.0
        </p>
      </div>
    </div>
  </div>
</section>
All Prompts