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