|
1 |
| -import styles from './skills.module.css'; |
2 | 1 | import Image from 'next/image';
|
3 | 2 | /* eslint-disable-next-line */
|
4 | 3 | export interface SkillsProps {}
|
5 | 4 |
|
| 5 | +const ImageContainer = ({ children }): JSX.Element => { |
| 6 | + return <div className="relative aspect-square h-40">{children}</div>; |
| 7 | +}; |
| 8 | + |
6 | 9 | export function Skills(props: SkillsProps) {
|
7 | 10 | return (
|
8 | 11 | <section className="bg-primary-light dark:bg-primary-dark py-20 md:py-30">
|
9 | 12 | <h1 className="text-3xl text-center text-primary dark:text-primary-light mb-10">
|
10 | 13 | I have experience building with
|
11 | 14 | </h1>
|
12 | 15 | <div className="grid grid-cols-2 md:grid-cols-3 gap-8 dark:invert place-items-center">
|
13 |
| - <div className="relative aspect-square h-40"> |
| 16 | + <ImageContainer> |
14 | 17 | <Image src="/logos/react.png" alt="React" layout="fill" />
|
15 |
| - </div> |
16 |
| - <div className="relative aspect-square h-40"> |
| 18 | + </ImageContainer> |
| 19 | + <ImageContainer> |
17 | 20 | <Image src="/logos/angular.png" alt="Angular" layout="fill" />
|
18 |
| - </div> |
19 |
| - <div className="relative aspect-square h-40"> |
| 21 | + </ImageContainer> |
| 22 | + <ImageContainer> |
20 | 23 | <Image
|
21 | 24 | src="/logos/webcomponents.svg"
|
22 | 25 | alt="web components"
|
23 | 26 | layout="fill"
|
24 | 27 | />
|
25 |
| - </div> |
26 |
| - <div className="relative aspect-square h-40"> |
| 28 | + </ImageContainer> |
| 29 | + <ImageContainer> |
27 | 30 | <Image src="/logos/typescript.png" alt="typescript" layout="fill" />
|
28 |
| - </div> |
29 |
| - <div className="relative aspect-square h-40"> |
| 31 | + </ImageContainer> |
| 32 | + <ImageContainer> |
30 | 33 | <Image src="/logos/nodejs.png" alt="nodejs" layout="fill" />
|
31 |
| - </div> |
32 |
| - <div className="relative aspect-square h-40"> |
| 34 | + </ImageContainer> |
| 35 | + <ImageContainer> |
33 | 36 | <Image src="/logos/html5.png" alt="html5" layout="fill" />
|
34 |
| - </div> |
35 |
| - <div className="relative aspect-square h-40"> |
| 37 | + </ImageContainer> |
| 38 | + <ImageContainer> |
36 | 39 | <Image src="/logos/rxjs.png" alt="rxjs" layout="fill" />
|
37 |
| - </div> |
38 |
| - <div className="relative aspect-square h-40"> |
| 40 | + </ImageContainer> |
| 41 | + <ImageContainer> |
39 | 42 | <Image src="/logos/google.png" alt="google cloud" layout="fill" />
|
40 |
| - </div> |
41 |
| - <div className="relative aspect-square h-40"> |
| 43 | + </ImageContainer> |
| 44 | + <ImageContainer> |
42 | 45 | <Image src="/logos/aws.png" alt="aws" layout="fill" />
|
43 |
| - </div> |
44 |
| - <div className="relative aspect-square h-40"> |
| 46 | + </ImageContainer> |
| 47 | + <ImageContainer> |
45 | 48 | <Image src="/logos/terraform.png" alt="terraform" layout="fill" />
|
46 |
| - </div> |
47 |
| - <div className="relative aspect-square h-40"> |
| 49 | + </ImageContainer> |
| 50 | + <ImageContainer> |
48 | 51 | <Image src="/logos/kubernetes.png" alt="kubernetes" layout="fill" />
|
49 |
| - </div> |
50 |
| - <div className="relative aspect-square h-40"> |
| 52 | + </ImageContainer> |
| 53 | + <ImageContainer> |
51 | 54 | <Image src="/logos/sass.png" alt="sass" layout="fill" />
|
52 |
| - </div> |
| 55 | + </ImageContainer> |
53 | 56 | </div>
|
54 | 57 | </section>
|
55 | 58 | );
|
|
0 commit comments