|
| 1 | +import Head from 'next/head' |
| 2 | + |
| 3 | +export default function Projects() { |
| 4 | + const data = [ |
| 5 | + { |
| 6 | + name: 'InVision', |
| 7 | + imgUrl: '/blogs_inVision.png', |
| 8 | + type: 'PREMIUM', |
| 9 | + title: 'Start Here', |
| 10 | + text: 'InVision is the digital product design platform used to make the worlds best customer experiences.', |
| 11 | + tags: ['Documentation'] |
| 12 | + }, |
| 13 | + { |
| 14 | + name: 'Adobe XD', |
| 15 | + imgUrl: '/blogs_xd.png', |
| 16 | + type: 'FREE', |
| 17 | + title: 'Blockchain Dev Path', |
| 18 | + text: 'Adobe XD is your UI/UX design solution platform for website and mobile appcreation.', |
| 19 | + tags: ['Documentation'] |
| 20 | + }, |
| 21 | + { |
| 22 | + name: 'Figma', |
| 23 | + imgUrl: '/blogs_figma.png', |
| 24 | + type: 'FREE', |
| 25 | + title: 'Website', |
| 26 | + text: 'Figma helps the teams to create, test, and ship better designs from start to finish.', |
| 27 | + tags: ['Tailwind Css', 'Eleventy', 'Alpine.js'] |
| 28 | + } |
| 29 | + ] |
| 30 | + |
| 31 | + return ( |
| 32 | + <> |
| 33 | + <Head> |
| 34 | + <title>Projects | WebXDAO</title> |
| 35 | + </Head> |
| 36 | + <section className='text-white text-center bg-[#00007f]'> |
| 37 | + <div className='px-20 py-20'> |
| 38 | + <h1 className='font-bold text-3xl md:text-5xl antialiased'> |
| 39 | + Resources/Projects |
| 40 | + </h1> |
| 41 | + <div className='mt-6 text-xl font-light text-true-gray-500 antialiased'> |
| 42 | + Here you can find a list of good projects and resources to learn about |
| 43 | + Blockchain and Web 3.0 |
| 44 | + </div> |
| 45 | + </div> |
| 46 | + </section> |
| 47 | + |
| 48 | + <div className='container max-w-screen-xl mx-auto my-8 grid pb-8 grid-cols-1 md:grid-cols-2 lg:grid-cols-3 mb-8 gap-6 px-8'> |
| 49 | + {data.map(({ name, imgUrl, type, title, text, tags }, index) => ( |
| 50 | + <div |
| 51 | + key={name + index} |
| 52 | + className='flex flex-col justify-between items-stretch col-span-3 md:col-span-1 cursor-pointer p-2 shadow rounded-md focus:outline-none focus:shadow-outline transform transition hover:shadow-lg hover:scale-105 duration-300 ease-in-out' |
| 53 | + > |
| 54 | + <div className='bg-white p-4 rounded-lg flex flex-col justify-between'> |
| 55 | + <img |
| 56 | + className='lg:h-60 xl:h-56 md:h-64 sm:h-72 xs:h-72 h-72 rounded-md w-full object-cover object-center mb-6' |
| 57 | + src={imgUrl} |
| 58 | + alt={name} |
| 59 | + /> |
| 60 | + <div className='flex justify-between'> |
| 61 | + <h2 className='text-xl text-gray-900 font-semibold mb-4'> |
| 62 | + {title} |
| 63 | + </h2> |
| 64 | + <h3 |
| 65 | + className={`tracking-widest ${ |
| 66 | + type === 'FREE' ? 'text-green-500' : 'text-yellow-500' |
| 67 | + } text-sm font-semibold title-font`} |
| 68 | + > |
| 69 | + {type} |
| 70 | + </h3> |
| 71 | + </div> |
| 72 | + |
| 73 | + <p className='leading-relaxed text-base text-gray-800 mb-5'>{text}</p> |
| 74 | + |
| 75 | + <div className='mt-auto justify-items-end text-sm flex flex-wrap gap-3'> |
| 76 | + {tags.map((item, index) => ( |
| 77 | + <button |
| 78 | + key={item + index} |
| 79 | + className='whitespace-nowrap font-semibold bg-blue-100 text-blue-600 rounded-md py-2 px-4 focus:outline-none' |
| 80 | + > |
| 81 | + {item} |
| 82 | + </button> |
| 83 | + ))} |
| 84 | + </div> |
| 85 | + </div> |
| 86 | + </div> |
| 87 | + ))} |
| 88 | + </div> |
| 89 | + </> |
| 90 | + ) |
| 91 | +} |
0 commit comments