spring-batch-rs 0.3.4

A toolkit for building enterprise-grade batch applications
Documentation
---
import ImageMod from "../ImageMod.astro";

const { title, imageIcon, number, image } = Astro.props;
---

<div class={`list-card ${image ? 'list-card-wide' : ''}`}>
  <div class="list-card-header">
    <div class="flex items-center gap-3">
      <ImageMod
        src={imageIcon}
        alt={title}
        width={40}
        height={40}
        class:list={["w-8", "h-8"]}
      />
      <h3 class="text-h5! sm:text-h4! mt-0!">{title}</h3>
    </div>
    <span>{number} Articles</span>
  </div>

  {
    image ? (
      <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mt-0! items-center">
        <div class="list-body">
          <slot />
        </div>
        <div class="bg-body mt-4 rounded-xl">
          <ImageMod
          src={image}
          alt={title}
          width={400}
          height={200}
          class:list={["w-full", "h-auto", "rounded-lg"]}
        />
        </div>
      </div>
    ) : (
      <div class="list-body">
        <slot />
      </div>
    )
  }
</div>

<style>
  @layer starlight.core {
    .list-card {
      background: var(--sl-color-black);
      border: 1px solid var(--sl-color-gray-6);
      border-radius: 1.3rem;
      padding: 0.5rem;
      display: flex;
      flex-direction: column;
      height: 100%;
    }
    .list-card-header {
      background-color: color-mix(
        in oklab,
        var(--sl-color-gray-6) 30%,
        transparent
      );
      display: flex;
      border-radius: 1rem;
      justify-content: space-between;
      align-items: center;
      padding: 1.2rem;
      margin-bottom: 1rem;
    }
    .list-card-header h4 {
      font-size: 1.4rem !important;
      margin: 0 !important;
      font-weight: 500 !important;
    }
    .list-card-wide {
      grid-column: span 2;
    }
    @media (max-width: 768px) {
      .list-card-wide {
        grid-column: span 1;
      }
    }
  }
</style>