import { useState, useEffect } from 'react'
import { useTranslation } from 'next-i18next'
import { configs } from 'shared/designs/index.js'
import { DesignIcon } from 'shared/components/icons.mjs'
import Worm from 'shared/components/worm.js'
import { strapiHost } from 'shared/config/freesewing.mjs'
import Link from 'next/link'
const colors = {
1: 'bg-pink-300',
2: 'bg-green-400',
3: 'bg-yellow-400',
4: 'bg-orange-400',
5: 'bg-red-400',
}
const Difficulty = ({ score = 1 }) => {
const icons = []
for (let i = 0; i < score; i++) {
icons.push()
}
return icons
}
const loadDesign = async (design, setExamples) => {
// Strapi filtering syntax
const url =
`${strapiHost}/showcaseposts?_locale=en&_sort=date:DESC` +
`&_where[_or][0][design1_eq]=${design}` +
`&_where[_or][1][design2_eq]=${design}` +
`&_where[_or][2][design3_eq]=${design}` +
`&_limit=5`
await fetch(url)
.then((response) => response.json())
.then((data) =>
setExamples(
data.map((post) => ({
slug: `/showcase/${post.slug}`,
img: `${strapiHost}${post.image.formats.thumbnail.url}`,
title: post.title,
}))
)
)
.catch((err) => console.log(err))
}
const Design = ({ design }) => {
const { t } = useTranslation(['patterns'])
const { difficulty = 3 } = configs[design]
const [examples, setExamples] = useState([])
useEffect(() => {
loadDesign(design, setExamples)
}, [design, setExamples])
return (
{/* Link over the entire card */}
{' '}
{/* Slanted corner ribbon with the difficulty */}
{design}
{t(`${design}.t`)}
{t(`${design}.d`)}
)
}
export default Design