27 lines
		
	
	
	
		
			706 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
	
		
			706 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import type SectionType from './../types/section';
 | |
| import Link from './Link';
 | |
| 
 | |
| type Props = {
 | |
|   sections: SectionType[];
 | |
| };
 | |
| 
 | |
| const Grid = ({ sections }: Props) => (
 | |
|   <div className="grid xlg:grid-cols-5 lg:grid-cols-4 sm:grid-cols-2 grid-cols-1 gap-4">
 | |
|     {sections.map((section) => (
 | |
|       <section key={section.name} className="mt-2">
 | |
|         <h2 className="font-sans font-semibold text-2xl mb-4">
 | |
|           {section.name}
 | |
|         </h2>
 | |
|         <ul>
 | |
|           {section.items.map((item) => (
 | |
|             <li key={item.name} className="my-2">
 | |
|               <Link url={item.url} title={item.name} />
 | |
|             </li>
 | |
|           ))}
 | |
|         </ul>
 | |
|       </section>
 | |
|     ))}
 | |
|   </div>
 | |
| );
 | |
| 
 | |
| export default Grid;
 |