---
const { text, url_gh, url_mr, url_cf, url_wiki = "", mod = "default" } = Astro.props
import { Icon } from 'astro-icon/components'
---

<div class="container">
  <div class={"call-to-action mt-24 mb-32 flex flex-col items-center gap-12 rounded-xl p-12 md:p-24 " + mod}>
    <h2 class="text-center text-3xl md:text-5xl">{text}</h2>
    <div class="flex flex-col gap-3 min-[800px]:flex-row">
      {(url_mr != '') ? <a href={url_mr} class={"button has-icon text-lg " + mod+"-button-primary"}>
        <Icon name="simple-icons:modrinth" />Modrinth</a> : ''}
      {(url_cf != '') ? <a href={url_cf} class={"button has-icon text-lg " + mod+"-button-primary"}>
        <Icon name="simple-icons:curseforge" />CurseForge</a> : ''}
      {(url_gh != '') ? <a href={url_gh} class={"button has-icon text-lg " + mod+"-button-primary"}>
        <Icon name="simple-icons:github" />GitHub</a> : ''}
      {(url_wiki != '') ? <a href={url_wiki} class={"button has-icon color-secondary text-lg " + mod+"-button-secondary"}>
        <Icon name="ion:book" />Visit the new Wiki!</a> : ''}
    </div>
  </div>
</div>

<style lang="scss">
  .call-to-action {
    color: var(--neutral-900);
    background-image: linear-gradient(40deg, var(--primary-100), var(--secondary-200));
  }
  .midnightcontrols {
    color: var(--neutral-100);
    background-image: linear-gradient(40deg, #E302A4, #9400C6);
  }
  .midnightcontrols-button-primary {
    background-color: #ff6fff;
  }
  .midnightcontrols-button-secondary {
    background-color: #b356ff;
  }

  .call-to-action a:not(button),
  .call-to-action a:not(button):visited {
    vertical-align: top;
    padding: 1rem;
    margin: 0 1rem 0 1rem;
    color: var(--neutral-900);
    font-weight: bold;
    border: 3px solid var(--neutral-900);
    border-radius: 3px;
    text-decoration: none;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out;

    &:where(:hover, :focus) {
      color: var(--neutral-100);
      background-color: var(--neutral-900);
      text-decoration: underline;
    }
  }
</style>
