---
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';

const { labels } = Astro.props;
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} {labels}/> }

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

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

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

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