grub775.gitverse.ru
69 строк · 2.0 Кб
1import React, { useState } from 'react'
2import Head from 'next/head'
3import { useTranslation } from 'next-i18next'
4import { NextSeo } from 'next-seo'
5import { motion } from 'framer-motion'
6
7import Projects from '@Components/Projects'
8import Experience from '@Components/Experience'
9
10import { IProjectListItem } from '@Interfaces/projectList'
11import { IExperienceListItem } from '@Interfaces/experienceList'
12
13const ExperienceContainer = () => {
14const { t } = useTranslation(['experience'])
15
16const projectsList = t('experience:projects.list', {
17returnObjects: true,
18}) as Array<IProjectListItem>
19const experienceList = t('experience:experience.list', {
20returnObjects: true,
21}) as Array<IExperienceListItem>
22
23const [isStopAnimation, setIsStopAnimation] = useState(false)
24
25return (
26<>
27<Head>
28<title>{`${t('experience:projects.title')} & ${t(
29'experience:experience.title',
30)}`}</title>
31</Head>
32<NextSeo
33openGraph={{
34type: 'website',
35title: t('experience:og.title'),
36description: `${t('experience:projects.title')}: ${projectsList
37.map((item) => item.title)
38.join(', ')}
39${t('experience:experience.title')}: ${experienceList
40.map((item) => item.title)
41.join(', ')}`,
42}}
43/>
44<motion.section
45className="skills d-flex flex-column justify-content-center align-items-center"
46key="my_unique_key23"
47initial={{ opacity: 0 }}
48animate={{ opacity: 1 }}
49transition={{ duration: 0.3 }}
50>
51<div className="container">
52<div className="row justify-content-center">
53<Projects
54isStopAnimation={isStopAnimation}
55setIsStopAnimation={setIsStopAnimation}
56/>
57
58<Experience
59isStopAnimation={isStopAnimation}
60setIsStopAnimation={setIsStopAnimation}
61/>
62</div>
63</div>
64</motion.section>
65</>
66)
67}
68
69export default ExperienceContainer
70