---
import Default from '@astrojs/starlight/components/MarkdownContent.astro';
import type { Props } from '@astrojs/starlight/props';
import { getEntry } from 'astro:content';
import Author from './Author.astro';
import ChallengeFooter from './ChallengeFooter.astro';
import CommentSection from './CommentSection.astro';
import ContributorsFooter from './ContributorsFooter.astro';

const { lang } = Astro.props;
const { data } = await getEntry('i18n', lang);
const { challengeNumber } = Astro.props.entry.data;
const author = Astro.props.entry.data.author ? await getEntry(Astro.props.entry.data.author) : null;
const renderCommentSection = !Astro.props.entry.data.noCommentSection;
---

{ challengeNumber && author &&
<Author {...author.data} {data} /> }

<Default {...Astro.props}>
  <slot />
</Default>

{challengeNumber &&
<ChallengeFooter {...Astro.props} />}

{ renderCommentSection &&
<CommentSection {...Astro.props} /> }

 <ContributorsFooter {...Astro.props} />

<style>
  .author {
    margin-top: -1rem;
    font-size: var(--sl-text-xs);
    color: var(--sl-color-gray-3);
  }
</style>
