import { SyntheticEvent, useState } from 'react'
import cx from 'classnames'
import { ChevronDownIcon } from '@primer/octicons-react'
import { GHAEReleaseNotePatch } from './GHAEReleaseNotePatch'
import { GHAEReleaseNotesContextT } from './types'
import { MarkdownContent } from 'components/ui/MarkdownContent'
type GitHubAEProps = {
context: GHAEReleaseNotesContextT
}
export function GHAEReleaseNotes({ context }: GitHubAEProps) {
const { releaseNotes, releases, currentVersion } = context
const [focusedPatch, setFocusedPatch] = useState('')
return (
{currentVersion.planTitle} release notes
{releaseNotes.map((patch) => {
return (
setFocusedPatch(patch.version)}
/>
)
})}
)
}
const CollapsibleReleaseSection = ({
release,
focusedPatch,
}: {
release: GHAEReleaseNotesContextT['releases'][0]
focusedPatch: string
}) => {
const defaultIsOpen = true
const [isOpen, setIsOpen] = useState(defaultIsOpen)
const onToggle = (e: SyntheticEvent) => {
const newIsOpen = (e.target as HTMLDetailsElement).open
setIsOpen(newIsOpen)
}
return (
{release.version}
{release.patches.length} releases
{release.patches.map((patch) => {
const isActive = patch.version === focusedPatch
return (
-
{patch.friendlyDate}
)
})}
)
}