parent
5a70d78819
commit
be82458c0b
@ -0,0 +1,64 @@
|
||||
import { Spacer, Stack, Heading, Text, Box, Flex } from '@chakra-ui/react'
|
||||
|
||||
import ResponsiveImage from 'components/ResponsiveImage'
|
||||
import SEO from 'components/SEO'
|
||||
|
||||
import { getAllNotasWithImages, getNotaWithImage, INotaWithImage, login } from 'lib/api'
|
||||
import ReactMarkdown from 'react-markdown'
|
||||
|
||||
const NotePage: React.FC<{ data: INotaWithImage }> = ({ data }) => {
|
||||
console.log(data)
|
||||
return (
|
||||
<>
|
||||
<SEO title="notas" />
|
||||
<Box w={['100%', '100%', '880px']} pt="2rem" px="1rem" mx="auto" pb="6rem">
|
||||
<Heading fontSize="2xl"> {data.titulo}</Heading>
|
||||
<Text as="small" fontSize="sm" pb="2rem">
|
||||
{data.tiempo_lectura} min de lectura
|
||||
</Text>
|
||||
<Stack
|
||||
w="100%"
|
||||
wrap="wrap"
|
||||
direction="row"
|
||||
spacing="1rem"
|
||||
fontSize="md"
|
||||
pb="2rem"
|
||||
>
|
||||
{data.tags.map((tag) => (
|
||||
<Text key={tag}> {tag} </Text>
|
||||
))}
|
||||
</Stack>
|
||||
<Text as={ReactMarkdown} pb="3rem">
|
||||
{data.cuerpo}
|
||||
</Text>
|
||||
<ResponsiveImage
|
||||
borderRadius="primary"
|
||||
w="100%"
|
||||
h="auto"
|
||||
alt={`Imagen de nota ${data.titulo}`}
|
||||
url={`notas/${data.imagen_file}`}
|
||||
/>
|
||||
</Box>
|
||||
</>
|
||||
)
|
||||
}
|
||||
|
||||
export default NotePage
|
||||
|
||||
export async function getStaticPaths() {
|
||||
await login()
|
||||
const notas = await getAllNotasWithImages()
|
||||
|
||||
return {
|
||||
paths: notas.map((nota) => `/notas/${nota.slug}`),
|
||||
fallback: false,
|
||||
}
|
||||
}
|
||||
|
||||
export async function getStaticProps({ params }) {
|
||||
await login()
|
||||
|
||||
const notaWithImage = await getNotaWithImage(params.slug)
|
||||
|
||||
return { props: { data: notaWithImage } }
|
||||
}
|
Loading…
Reference in new issue