-
Notifications
You must be signed in to change notification settings - Fork 0
/
component---src-pages-templates-index-tsx-c79944ee44040195a3eb.js.map
1 lines (1 loc) · 48.1 KB
/
component---src-pages-templates-index-tsx-c79944ee44040195a3eb.js.map
1
{"version":3,"file":"component---src-pages-templates-index-tsx-c79944ee44040195a3eb.js","mappings":"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","sources":["webpack://code-cave/./node_modules/@react-icons/all-files/bs/BsArrowUpRight.js","webpack://code-cave/./node_modules/@react-icons/all-files/fa/FaQuoteRight.js","webpack://code-cave/./src/components/common/templateSection.tsx","webpack://code-cave/./src/components/posts/postPreview.tsx","webpack://code-cave/./src/components/projects/projectPreview.tsx","webpack://code-cave/./src/components/stack/stackCarousel.tsx","webpack://code-cave/./src/components/stack/stakUnit.tsx","webpack://code-cave/./src/components/stack/stackSection.tsx","webpack://code-cave/./src/components/posts/postSection.tsx","webpack://code-cave/./src/components/projects/projectsSection.tsx","webpack://code-cave/./src/components/reviews/review.tsx","webpack://code-cave/./src/components/reviews/staticReviewsSection.tsx","webpack://code-cave/./src/pagesTemplates/index.tsx","webpack://code-cave/./src/types/common.type.ts","webpack://code-cave/./src/assets/common/arrow-up-right.svg","webpack://code-cave/./node_modules/embla-carousel-autoplay/esm/embla-carousel-autoplay.esm.js"],"sourcesContent":["// THIS FILE IS AUTO GENERATED\nvar GenIcon = require('../lib').GenIcon\nmodule.exports.BsArrowUpRight = function BsArrowUpRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 16 16\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6.5 4a.5.5 0 01.5-.5h5a.5.5 0 01.5.5v5a.5.5 0 01-1 0V4.5H7a.5.5 0 01-.5-.5z\",\"clipRule\":\"evenodd\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M12.354 3.646a.5.5 0 010 .708l-9 9a.5.5 0 01-.708-.708l9-9a.5.5 0 01.708 0z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\n","// THIS FILE IS AUTO GENERATED\nvar GenIcon = require('../lib').GenIcon\nmodule.exports.FaQuoteRight = function FaQuoteRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 32H336c-26.5 0-48 21.5-48 48v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48zm-288 0H48C21.5 32 0 53.5 0 80v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48z\"}}]})(props);\n};\n","import React, { PropsWithChildren } from \"react\";\nimport { Link } from \"gatsby\";\n\nimport { Theme } from \"../../types/common.type\";\n\nimport Border from \"../../assets/common/border.svg\";\n\nimport ContentContainer from \"./contentContainer\";\n\ninterface ITemplateSectionProps extends React.HTMLAttributes<HTMLElement> {\n title: string;\n theme: Theme;\n isArrowLink?: boolean;\n linkTitle?: string;\n subTitle?: string;\n section?: string;\n className?: string;\n borderT?: boolean;\n borderB?: boolean;\n}\n\nconst TemplateSection = ({\n section,\n theme,\n title,\n linkTitle,\n subTitle,\n className,\n children,\n borderT,\n borderB,\n isArrowLink = true,\n ...attr\n}: PropsWithChildren<ITemplateSectionProps>) => {\n const mainColorClass =\n theme === Theme.dark ? \"text-secondary-100\" : \"text-main-100\";\n const linkColorClass =\n theme === Theme.dark\n ? \"text-secondary-100 hover:text-secondary-70\"\n : \"text-main-100 hover:text-main-10\";\n const bgColorClass =\n theme === Theme.dark ? \"bg-main-100\" : \"bg-secondary-100\";\n\n return (\n <>\n {borderT ? <Border className=\"w-full\" /> : null}\n <section\n className={`w-full py-16 ${bgColorClass} ${className}`}\n {...attr}\n >\n <ContentContainer\n maxWidthClass=\"max-w-[1280px]\"\n className={`flex-col items-center ${mainColorClass}`}\n >\n <div className=\"flex justify-between w-full sm:items-center pb-8 sm:pb-14 flex-col sm:flex-row gap-5\">\n <h2 className={`text-4xl font-bold flex-1 ${mainColorClass}`}>\n {title.toUpperCase()}\n </h2>\n {section ? (\n <Link\n to={`/${section}`}\n className={`w-full sm:w-auto text-start sm:text-end text-xl font-normal cursor-pointer whitespace-nowrap ${linkColorClass}`}\n >\n {linkTitle ? linkTitle.toUpperCase() : \"DISCOVER MORE\"}{\" \"}\n {isArrowLink ? <>→</> : null}\n </Link>\n ) : null}\n {subTitle ? (\n <p\n className={`w-full sm:w-auto flex-1 text-start sm:text-end text-xl font-normal ${mainColorClass}`}\n >\n {subTitle.toUpperCase()}\n </p>\n ) : null}\n </div>\n {children}\n </ContentContainer>\n </section>\n {borderB ? <Border className=\"w-full\" /> : null}\n </>\n );\n};\n\nexport default TemplateSection;\n","import React from \"react\";\nimport { Link } from \"gatsby\";\n\nimport { BsArrowUpRight } from \"@react-icons/all-files/bs/BsArrowUpRight\";\n\nimport { IPostPreviewQueryResult } from \"../../types/post.type\";\nimport { LocalBusinessMetadata } from \"../common/metadata\";\nimport { IBlogMarkupData } from \"../../types/commonMarkup.type\";\nimport { TLang, Theme } from \"../../types/common.type\";\nimport { GatsbyImage, getImage } from \"gatsby-plugin-image\";\n\nconst PostPreview = ({\n post,\n theme,\n className,\n markupData,\n lang,\n}: {\n post: IPostPreviewQueryResult;\n className?: string;\n theme: Theme;\n markupData?: IBlogMarkupData;\n lang: TLang;\n}) => {\n const { date, title, text } = post.frontmatter;\n\n const minutes = Math.floor(post.wordCount.words / 200);\n const readingTime = minutes ? minutes : 1;\n\n const fontColorClass100 =\n theme === Theme.light ? \"text-main-100\" : \"text-secondary-100\";\n const fontColorClass70 =\n theme === Theme.light ? \"text-main-70\" : \"text-secondary-70\";\n const fontColorHover =\n theme === Theme.light ? \"hover:text-main-10\" : \"hover:text-secondary-10\";\n\n const cover = getImage(post.frontmatter.cover); \n return (\n <Link\n to={`/blog/${post.id}`}\n className={`flex flex-col sm:flex-row w-full justify-center gap-5 md:gap-14 ${fontColorClass100} ${fontColorHover} ${className}`}\n itemScope\n itemType=\"https://schema.org/Article\"\n >\n { cover &&\n <div className=\"mr-3.5\">\n <GatsbyImage\n image={cover}\n alt=\"\"\n className=\"object-cover rounded-full w-full aspect-square\"\n />\n </div>\n }\n <div className=\"flex flex-col w-full max-w-[400px] gap-2.5\">\n <p itemProp=\"dateCreated\" className={`text-lg ${fontColorClass70}`}>\n {date}\n </p>\n <h2\n itemProp=\"headline\"\n className={`text-3xl font-semibold ${fontColorClass100}`}\n >\n {title}\n </h2>\n </div>\n <div className=\"flex flex-col w-full max-w-[500px] gap-5\">\n <p\n className={`font-normal text-base ${fontColorClass100}`}\n itemProp=\"abstract\"\n >\n {text.split(\" \").slice(0, 70).join(\" \")}...\n </p>\n <div className=\"flex w-full items-center justify-between\">\n <div className=\"flex items-center gap-3 text-sm font-bold\">\n <span>{markupData?.readPostLink}</span>\n <BsArrowUpRight size={14} />\n </div>\n <p className={`text-sm ${fontColorClass70}`}>\n {`${readingTime} ${markupData?.readingTimeUnits} ${markupData?.readingTimeTitle}`}\n </p>\n </div>\n </div>\n <LocalBusinessMetadata itemProp=\"copyrightHolder\" lang={lang} />\n </Link>\n );\n};\n\nexport default PostPreview;\n","import React from \"react\";\nimport { Link } from \"gatsby\";\nimport { GatsbyImage, getImage } from \"gatsby-plugin-image\";\n\nimport { IProjectPreviewQueryResult } from \"../../types/project.type\";\nimport { TLang, Theme } from \"../../types/common.type\";\n\nimport { BsArrowUpRight } from \"@react-icons/all-files/bs/BsArrowUpRight\";\n\nimport { LocalBusinessMetadata } from \"../common/metadata\";\n\nconst ProjectPreview = ({\n project,\n className,\n theme,\n lang,\n}: {\n project: IProjectPreviewQueryResult;\n className?: string;\n theme: Theme;\n lang: TLang;\n}) => {\n const cover = getImage(project.frontmatter.cover);\n const { title, teamSize, duration } = project.frontmatter;\n\n const fontColorClass10 =\n theme === Theme.light ? \"text-main-100\" : \"text-secondary-100\";\n const bgColors =\n theme === Theme.light\n ? \"bg-secondary-100 hover:bg-secondary-100\"\n : \"bg-main-100 hover:bg-main-100\";\n\n return (\n <Link\n to={`/projects/${project.id}`}\n className={`${bgColors} ${fontColorClass10} flex flex-col justify-between rounded-2xl p-2.5 gap-2.5 ${className}`}\n itemScope\n itemType=\"https://schema.org/CreativeWork\"\n >\n <div className=\"group flex-1 relative\">\n {cover ? (\n <div className=\"w-full rounded-[10px] overflow-hidden\">\n <GatsbyImage\n image={cover}\n alt=\"cover\"\n itemProp=\"image\"\n className=\"object-contain w-full rounded-[10px] grayscale transition-all group-hover:scale-[1.05]\"\n />\n </div>\n ) : null}\n <div className=\"absolute left-2 bottom-2 flex items-center gap-2.5 z-10\">\n <p className=\"backdrop-blur-sm backdrop-brightness-75 text-secondary-100 px-5 h-10 flex items-center rounded-lg\">\n {duration}\n </p>\n <p className=\"backdrop-blur-sm backdrop-brightness-75 text-secondary-100 px-5 h-10 flex items-center rounded-lg\">\n {teamSize}\n </p>\n </div>\n </div>\n <div className=\"flex px-2.5 py-1 items-center grow\">\n <h2\n className=\"text-base grow font-medium h-full\"\n itemProp=\"description\"\n >\n {title}\n </h2>\n <BsArrowUpRight size={20} />\n </div>\n <LocalBusinessMetadata itemProp=\"author\" lang={lang} />\n </Link>\n );\n};\n\nexport default ProjectPreview;\n","import React, { forwardRef } from \"react\";\n\nimport useEmblaCarousel from \"embla-carousel-react\";\nimport Autoplay from \"embla-carousel-autoplay\";\n\nconst StackCarousel = forwardRef<\n HTMLDivElement,\n React.PropsWithChildren<{ className?: string }>\n>(({ className, children }, ref) => {\n const [emblaRef, emblaApi] = useEmblaCarousel(\n { loop: true, dragFree: true, duration: 40000, align: \"start\" },\n [\n Autoplay({\n delay: 0,\n stopOnInteraction: false,\n stopOnMouseEnter: true,\n }),\n ]\n );\n\n return (\n <div className={`overflow-hidden ${className}`} ref={emblaRef}>\n <div\n ref={ref}\n className=\"h-full flex items-center\"\n onMouseEnter={() => {\n emblaApi?.internalEngine().animation.stop();\n }}\n onMouseLeave={() => {\n emblaApi?.internalEngine().animation.start();\n }}\n >\n {children}\n </div>\n </div>\n );\n});\n\nexport default StackCarousel;\n","import React, { PropsWithChildren } from \"react\";\n\nimport Border from \"../../assets/common/border.svg\";\n\n\nconst StackUnit = ({ children }: PropsWithChildren) => {\n return (\n <div className=\"h-full shrink-0 min-w-0 cursor-pointer flex flex-col justify-between items-center content-center w-[192px] md:w-[256px] xl:w-[256px] 3xl:w-[400px]\">\n <Border className={`min-w-0 shrink-0 w-full`} />\n <p className=\"text-lg font-semibold whitespace-nowrap\">{children}</p>\n <Border className={`min-w-0 shrink-0 w-full`} />\n </div>\n );\n};\n\nexport default StackUnit;\n","import React from \"react\";\nimport { useStaticQuery, graphql } from \"gatsby\";\n\nimport StackCarousel from \"./stackCarousel\";\nimport StackUnit from \"./stakUnit\";\n\nconst StackSection = () => {\n const techData = useStaticQuery(query);\n const techArr = techData?.markdownRemark?.frontmatter?.stack as\n | string[]\n | null;\n\n return (\n <>\n {techArr ? (\n <section className={`h-16 flex flex-col relative`}>\n <StackCarousel className=\"grow\">\n {techArr.map((tech) => (\n <StackUnit key={tech}>{tech}</StackUnit>\n ))}\n </StackCarousel>\n </section>\n ) : null}\n </>\n );\n};\n\nexport default StackSection;\n\nexport const query = graphql`\n query {\n markdownRemark(fields: { sourceName: { eq: \"stack\" } }) {\n frontmatter {\n stack\n }\n }\n }\n`;\n","import React from \"react\";\n\nimport { graphql, useStaticQuery } from \"gatsby\";\n\nimport {\n IBlogSectionQueryResult,\n IPostPreviewQueryResult,\n} from \"../../types/post.type\";\n\nimport PostPreview from \"./postPreview\";\nimport TemplateSection from \"../common/templateSection\";\nimport { ILang, Theme } from \"../../types/common.type\";\n\nconst PostSection = ({ lang }: ILang) => {\n const postData = useStaticQuery(query) as IBlogSectionQueryResult;\n\n const sectionMarkup = postData?.markupData?.nodes?.find(\n (node) => node.fields.language === lang\n )?.frontmatter?.blog;\n\n let posts: IPostPreviewQueryResult[] | null | undefined;\n\n if (lang in postData)\n posts = postData?.[lang]?.nodes as IPostPreviewQueryResult[] | null;\n else posts = postData?.en?.nodes;\n\n return (\n <>\n {posts ? (\n <TemplateSection\n theme={Theme.dark}\n title={sectionMarkup?.blogSectionTitle ?? \"new in our blog\"}\n linkTitle={sectionMarkup?.blogSectionLinkTitle ?? \"all posts\"}\n section=\"blog\"\n borderB\n className=\"min-h-[400px]\"\n >\n {posts.map(post => <PostPreview\n lang={lang}\n post={post}\n theme={Theme.dark}\n className=\"py-5\"\n markupData={sectionMarkup}\n />\n )}\n </TemplateSection>\n ) : null}\n </>\n );\n};\n\nexport default PostSection;\n\nexport const query = graphql`\n query {\n en: allMarkdownRemark(\n filter: {\n fields: { sourceName: { eq: \"posts\" }, language: { eq: \"en\" } }\n }\n sort: { frontmatter: { date: DESC } }\n limit: 2\n ) {\n nodes {\n id\n frontmatter {\n date(formatString: \"DD MMM YYYY\", locale: \"en\")\n title\n text\n cover {\n childImageSharp {\n gatsbyImageData(\n width: 400\n formats: [AUTO, WEBP, AVIF]\n placeholder: BLURRED\n )\n }\n }\n }\n wordCount {\n words\n }\n }\n }\n ru: allMarkdownRemark(\n filter: {\n fields: { sourceName: { eq: \"posts\" }, language: { eq: \"ru\" } }\n }\n sort: { frontmatter: { date: DESC } }\n limit: 2\n ) {\n nodes {\n id\n frontmatter {\n date(formatString: \"DD MMM YYYY\", locale: \"ru\")\n title\n text\n cover {\n childImageSharp {\n gatsbyImageData(\n width: 400\n formats: [AUTO, WEBP, AVIF]\n placeholder: BLURRED\n )\n }\n }\n }\n wordCount {\n words\n }\n }\n }\n markupData: allMarkdownRemark(\n filter: { fields: { sourceName: { eq: \"common\" } } }\n sort: { frontmatter: { order: ASC } }\n ) {\n nodes {\n fields {\n language\n }\n frontmatter {\n blog {\n bannerTitle\n head\n readPostLink\n readingTimeTitle\n readingTimeUnits\n postFooterTitle\n postFooterText\n blogSectionTitle\n blogSectionLinkTitle\n }\n }\n }\n }\n }\n`;\n","import React from \"react\";\n\nimport { graphql, useStaticQuery } from \"gatsby\";\n\nimport {\n IProjectPreviewQueryResult,\n IProjectSectionQueryResult,\n} from \"../../types/project.type\";\n\nimport ProjectPreview from \"./projectPreview\";\nimport TemplateSection from \"../common/templateSection\";\nimport { ILang, Theme } from \"../../types/common.type\";\n\ninterface IProjectsSectionProps extends ILang {\n excludeId?: string;\n}\n\nconst ProjectsSection = ({ excludeId, lang }: IProjectsSectionProps) => {\n const projectsPreviewData = useStaticQuery(\n query\n ) as IProjectSectionQueryResult;\n\n const sectionMarkup = projectsPreviewData?.markupData?.nodes?.find(\n (node) => node.fields.language === lang\n )?.frontmatter?.projects;\n\n let projects: IProjectPreviewQueryResult[] | null | undefined;\n if (lang in projectsPreviewData)\n projects = projectsPreviewData?.[lang]?.nodes as\n | IProjectPreviewQueryResult[]\n | null\n | undefined;\n else projects = projectsPreviewData.en?.nodes;\n\n if (!projects) return <></>;\n\n if (excludeId) {\n projects = projects.filter((project) => project.id !== excludeId);\n }\n\n return (\n <TemplateSection\n theme={Theme.dark}\n section=\"projects\"\n title={sectionMarkup?.moreProjectsSectionTitle ?? \"OUR PROJECTS\"}\n linkTitle={sectionMarkup?.moreProjectsSectionLinkTitle ?? \"Discover MORE\"}\n borderB\n >\n <div className=\"flex justify-between items-center gap-5 lg:gap-10 flex-col sm:flex-row items-stretch\">\n {projects.map((project, i) => {\n if (i === 3) return;\n return (\n <ProjectPreview\n key={project.id}\n project={project}\n lang={lang}\n theme={Theme.light}\n className=\"flex-1 sm:last:hidden lg:last:flex\"\n />\n );\n })}\n </div>\n </TemplateSection>\n );\n};\n\nexport default ProjectsSection;\n\nexport const query = graphql`\n {\n en: allMarkdownRemark(\n filter: {\n fields: { sourceName: { eq: \"projects\" }, language: { eq: \"en\" } }\n }\n sort: { frontmatter: { date: DESC } }\n limit: 4\n ) {\n nodes {\n id\n frontmatter {\n title\n teamSize\n duration\n cover {\n childImageSharp {\n gatsbyImageData(\n width: 400\n formats: [AUTO, WEBP, AVIF]\n placeholder: BLURRED\n )\n }\n }\n }\n }\n }\n ru: allMarkdownRemark(\n filter: {\n fields: { sourceName: { eq: \"projects\" }, language: { eq: \"ru\" } }\n }\n sort: { frontmatter: { date: DESC } }\n limit: 4\n ) {\n nodes {\n id\n frontmatter {\n title\n teamSize\n duration\n cover {\n childImageSharp {\n gatsbyImageData(\n width: 400\n formats: [AUTO, WEBP, AVIF]\n placeholder: BLURRED\n )\n }\n }\n }\n }\n }\n markupData: allMarkdownRemark(\n filter: { fields: { sourceName: { eq: \"common\" } } }\n sort: { frontmatter: { order: ASC } }\n ) {\n nodes {\n fields {\n language\n }\n frontmatter {\n projects {\n moreProjectsSectionTitle\n moreProjectsSectionLinkTitle\n }\n }\n }\n }\n }\n`;\n","import React from \"react\";\nimport { GatsbyImage, getImage } from \"gatsby-plugin-image\";\n\nimport { IReviewQueryResult } from \"../../types/review.type\";\n\nimport { FaQuoteRight } from \"@react-icons/all-files/fa/FaQuoteRight\";\n\nconst Review = ({\n review: {\n frontmatter: { company, person, position, location, image, link },\n html,\n },\n className,\n}: {\n review: IReviewQueryResult;\n className?: string;\n}) => {\n const avatar = getImage(image);\n\n return (\n <div\n className={`flex flex-col p-6 gap-3.5 bg-secondary-100 hover:shadow-[0px_2px_14px_rgba(68,68,68,0.25)] shadow-[0px_2px_8px_rgba(68,68,68,0.1)] rounded-2.5xl text-main-100 ${className}`}\n >\n <div className=\"flex w-full items-start\">\n {avatar ? (\n <GatsbyImage\n image={avatar}\n alt={company}\n className=\"h-[72px] w-[72px] object-cover rounded-full mr-3.5 grayscale\"\n />\n ) : null}\n <div className=\"flex-1 font-normal text-base text-main-70 leading-5\">\n <a href={link}><h3 className=\"font-bold text-xl text-main-100\">{person}</h3></a>\n <h4>\n <span>{position}</span>, <span>{company}</span>\n </h4>\n <h4>{location}</h4>\n </div>\n <FaQuoteRight size={25} color=\"#E4E4E4\" />\n </div>\n <div\n className=\"review-body text-sm\"\n dangerouslySetInnerHTML={{ __html: html }}\n />\n </div>\n\n // <div className=\"h-full flex flex-col grow p-8 text-main-100\">\n // <div className=\"mb-6 flex flex-nowrap justify-start items-center border-b-[4px] border-dashed border-secondary-100 gradient-border pb-10\">\n // <div\n // className={`inline-block rounded-full h-32 w-32 flex items-center mr-10`}\n // >\n // {avatar ? (\n // <GatsbyImage\n // image={avatar}\n // alt={company}\n // className=\"h-full object-cover rounded-full h-32 w-32\"\n // />\n // ) : null}\n // </div>\n // <div>\n // <h3 className=\"text-xl font-extrabold whitespace-nowrap\">{person}</h3>\n // <span className=\"hidden\">{person}</span>\n // <h4 className=\"text-xl font-extrabold whitespace-nowrap\">\n // <span>{position}</span>, <span>{company}</span>\n // </h4>\n // <h4 className=\"text-xl font-extrabold whitespace-nowrap\">\n // {location}\n // </h4>\n // </div>\n // </div>\n // <div\n // className=\"review-body shrink-0 text-2xl\"\n // dangerouslySetInnerHTML={{ __html: html }}\n // />\n // </div>\n );\n};\n\nexport default Review;\n","import React from \"react\";\nimport { graphql, useStaticQuery } from \"gatsby\";\n\nimport { ILang, Theme } from \"../../types/common.type\";\nimport {\n IReviewQueryResult,\n IReviewSectionQueryResult,\n} from \"../../types/review.type\";\n\nimport TemplateSection from \"../common/templateSection\";\nimport Review from \"./review\";\n\nconst StaticReviewsSection = ({ lang }: ILang) => {\n const reviewsData = useStaticQuery(query) as IReviewSectionQueryResult;\n\n const sectionMarkup = reviewsData?.markupData?.nodes?.find(\n (node) => node.fields.language === lang\n )?.frontmatter?.reviews;\n\n let reviews: IReviewQueryResult[] | null | undefined;\n\n if (lang in reviewsData)\n reviews = reviewsData?.[lang]?.nodes?.sort((a, b) =>\n a.frontmatter.person > b.frontmatter.person ? 1 : -1\n ) as IReviewQueryResult[] | null | undefined;\n else\n reviews = reviewsData?.en?.nodes?.sort((a, b) =>\n a.frontmatter.person > b.frontmatter.person ? 1 : -1\n );\n\n return (\n <>\n {reviews ? (\n <TemplateSection\n id=\"reviews\"\n theme={Theme.light}\n title={sectionMarkup?.title ?? \"our clients' testimonials\"}\n subTitle={sectionMarkup?.linkTitle}\n borderB\n >\n <div className=\"flex justify-between items-start gap-5 lg:gap-10 flex-col md:flex-row\">\n {reviews.map((review) => (\n <Review review={review} key={review.id} className=\"flex-1\" />\n ))}\n </div>\n </TemplateSection>\n ) : null}\n </>\n );\n};\n\nexport default StaticReviewsSection;\n\nexport const query = graphql`\n query {\n en: allMarkdownRemark(\n filter: {\n fields: { sourceName: { eq: \"reviews\" }, language: { eq: \"en\" } }\n }\n ) {\n nodes {\n id\n html\n frontmatter {\n company\n location\n person\n position\n link\n image {\n childImageSharp {\n gatsbyImageData(\n height: 112\n placeholder: BLURRED\n formats: [AUTO, AVIF, WEBP]\n )\n }\n }\n }\n }\n }\n ru: allMarkdownRemark(\n filter: {\n fields: { sourceName: { eq: \"reviews\" }, language: { eq: \"ru\" } }\n }\n ) {\n nodes {\n id\n html\n frontmatter {\n company\n location\n person\n position\n link\n image {\n childImageSharp {\n gatsbyImageData(\n height: 112\n placeholder: BLURRED\n formats: [AUTO, AVIF, WEBP]\n )\n }\n }\n }\n }\n }\n markupData: allMarkdownRemark(\n filter: { fields: { sourceName: { eq: \"common\" } } }\n sort: { frontmatter: { order: ASC } }\n ) {\n nodes {\n fields {\n language\n }\n frontmatter {\n reviews {\n title\n linkTitle\n }\n }\n }\n }\n }\n`;\n","import * as React from \"react\";\nimport type { HeadFC, HeadProps, PageProps } from \"gatsby\";\n\nimport { IconContext } from \"@react-icons/all-files\";\nimport Arrow from \"../assets/common/arrow-up-right.svg\";\nimport \"../styles/styles.css\";\n\nimport { IIndexPageContext } from \"../types/index.type\";\n\nimport Banner from \"../components/common/banner\";\nimport StackSection from \"../components/stack/stackSection\";\nimport PostSection from \"../components/posts/postSection\";\nimport ProjectsSection from \"../components/projects/projectsSection\";\nimport { HeadSeo } from \"../components/common/metadata\";\nimport StaticReviewsSection from \"../components/reviews/staticReviewsSection\";\nimport ContactFormSection from \"../components/forms/contactFormSection\";\nimport TeamSection from \"../components/ourTeam/teamSection\";\n\nconst IndexPage = ({\n pageContext: { markupData, lang },\n}: PageProps<null, IIndexPageContext>) => {\n return (\n <IconContext.Provider value={{ style: { verticalAlign: \"middle\" } }}>\n <Banner\n title={markupData.bannerTitle}\n titleBlockClassName=\"w-full\"\n childrenBlockClassName=\"lg:justify-end -order-1 lg:order-none\"\n >\n <Arrow className=\"aspect-square w-[118px] lg:w-full lg:max-w-[222px] h-max\" />\n </Banner>\n <StackSection />\n <ProjectsSection lang={lang} />\n <StaticReviewsSection lang={lang} />\n <PostSection lang={lang} />\n {/* <TeamSection lang={lang} /> */}\n <ContactFormSection lang={lang} />\n </IconContext.Provider>\n );\n};\n\nexport default IndexPage;\n\nexport const Head: HeadFC<null, IIndexPageContext> = ({\n pageContext: { markupData, site, lang },\n location,\n}: HeadProps<null, IIndexPageContext>) => {\n return (\n <HeadSeo\n title={markupData.head}\n description={markupData.metaDescription}\n siteUrl={site.siteUrl}\n path={location.pathname}\n lang={lang}\n />\n );\n};\n","export interface ILang {\n lang: TLang;\n}\n\nexport type TLang = \"en\" | \"ru\";\n\nexport type TLinks = \"services\" | \"workflow\" | \"projects\" | \"blog\";\n\nexport interface IMarkdownFeedQuery {\n site: {\n siteMetadata: ISiteMetadata\n },\n allMarkdownRemark: {\n edges: Array<{\n node: {\n id: string;\n frontmatter: {\n title: string;\n date: string;\n authorAlias: string;\n keywords: string;\n };\n fields: {\n sourceName: string;\n };\n excerpt: string;\n };\n }>;\n };\n};\n\nexport interface IBasePageContext extends ILang {\n site: ISiteMetadata;\n}\n\nexport interface IMdQueryResult<T extends object> {\n allMarkdownRemark: {\n nodes: T[];\n };\n}\n\nexport interface ISiteMetadata {\n title: string;\n description: string;\n siteUrl: string;\n image: string;\n analytics: { gtagId: string; clarityId: string };\n commentsSetup: ICommentsSetup;\n}\n\nexport interface ICommentsSetup {\n repo: `${string}/${string}`;\n repoId: string;\n categoryId: string;\n}\n\nexport enum Theme {\n dark = \"dark\",\n light = \"light\",\n}\n","var React = require('react');\n\nfunction ArrowUpRight (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"rect\",{\"width\":\"222\",\"height\":\"222\",\"fill\":\"white\",\"fillOpacity\":\"0.01\",\"style\":{\"mixBlendMode\":\"multiply\"},\"key\":0}),React.createElement(\"path\",{\"d\":\"M69.375 41.625V55.5H156.718L41.625 170.593L51.4069 180.375L166.5 65.2819V152.625H180.375V41.625H69.375Z\",\"fill\":\"url(#paint0_linear_1725_3502)\",\"key\":1}),React.createElement(\"defs\",{\"key\":2},React.createElement(\"linearGradient\",{\"id\":\"paint0_linear_1725_3502\",\"x1\":\"111\",\"y1\":\"41.625\",\"x2\":\"111\",\"y2\":\"180.375\",\"gradientUnits\":\"userSpaceOnUse\"},[React.createElement(\"stop\",{\"stopColor\":\"#E4E4E4\",\"key\":0}),React.createElement(\"stop\",{\"offset\":\"1\",\"stopColor\":\"#111111\",\"key\":1})]))]);\n}\n\nArrowUpRight.defaultProps = {\"width\":\"222\",\"height\":\"222\",\"viewBox\":\"0 0 222 222\",\"fill\":\"none\"};\n\nmodule.exports = ArrowUpRight;\n\nArrowUpRight.default = ArrowUpRight;\n","const defaultOptions = {\n active: true,\n breakpoints: {},\n delay: 4000,\n jump: false,\n playOnInit: true,\n stopOnFocusIn: true,\n stopOnInteraction: true,\n stopOnMouseEnter: false,\n stopOnLastSnap: false,\n rootNode: null\n};\n\nfunction Autoplay(userOptions = {}) {\n let options;\n let emblaApi;\n let destroyed;\n let playing = false;\n let resume = true;\n let jump = false;\n let timer = 0;\n function init(emblaApiInstance, optionsHandler) {\n emblaApi = emblaApiInstance;\n const {\n mergeOptions,\n optionsAtMedia\n } = optionsHandler;\n const optionsBase = mergeOptions(defaultOptions, Autoplay.globalOptions);\n const allOptions = mergeOptions(optionsBase, userOptions);\n options = optionsAtMedia(allOptions);\n if (emblaApi.scrollSnapList().length <= 1) return;\n jump = options.jump;\n destroyed = false;\n const {\n eventStore,\n ownerDocument\n } = emblaApi.internalEngine();\n const emblaRoot = emblaApi.rootNode();\n const root = options.rootNode && options.rootNode(emblaRoot) || emblaRoot;\n const container = emblaApi.containerNode();\n emblaApi.on('pointerDown', stopTimer);\n if (!options.stopOnInteraction) {\n emblaApi.on('pointerUp', startTimer);\n }\n if (options.stopOnMouseEnter) {\n eventStore.add(root, 'mouseenter', () => {\n resume = false;\n stopTimer();\n });\n if (!options.stopOnInteraction) {\n eventStore.add(root, 'mouseleave', () => {\n resume = true;\n startTimer();\n });\n }\n }\n if (options.stopOnFocusIn) {\n eventStore.add(container, 'focusin', stopTimer);\n if (!options.stopOnInteraction) {\n eventStore.add(container, 'focusout', startTimer);\n }\n }\n eventStore.add(ownerDocument, 'visibilitychange', visibilityChange);\n if (options.playOnInit && !documentIsHidden()) startTimer();\n }\n function destroy() {\n emblaApi.off('pointerDown', stopTimer).off('pointerUp', startTimer);\n stopTimer();\n destroyed = true;\n playing = false;\n }\n function startTimer() {\n if (destroyed) return;\n if (!resume) return;\n if (!playing) emblaApi.emit('autoplay:play');\n const {\n ownerWindow\n } = emblaApi.internalEngine();\n ownerWindow.clearInterval(timer);\n timer = ownerWindow.setInterval(next, options.delay);\n playing = true;\n }\n function stopTimer() {\n if (destroyed) return;\n if (playing) emblaApi.emit('autoplay:stop');\n const {\n ownerWindow\n } = emblaApi.internalEngine();\n ownerWindow.clearInterval(timer);\n timer = 0;\n playing = false;\n }\n function visibilityChange() {\n if (documentIsHidden()) {\n resume = playing;\n return stopTimer();\n }\n if (resume) startTimer();\n }\n function documentIsHidden() {\n const {\n ownerDocument\n } = emblaApi.internalEngine();\n return ownerDocument.visibilityState === 'hidden';\n }\n function play(jumpOverride) {\n if (typeof jumpOverride !== 'undefined') jump = jumpOverride;\n resume = true;\n startTimer();\n }\n function stop() {\n if (playing) stopTimer();\n }\n function reset() {\n if (playing) play();\n }\n function isPlaying() {\n return playing;\n }\n function next() {\n const {\n index\n } = emblaApi.internalEngine();\n const nextIndex = index.clone().add(1).get();\n const lastIndex = emblaApi.scrollSnapList().length - 1;\n const kill = options.stopOnLastSnap && nextIndex === lastIndex;\n if (kill) stopTimer();\n if (emblaApi.canScrollNext()) {\n emblaApi.scrollNext(jump);\n } else {\n emblaApi.scrollTo(0, jump);\n }\n }\n const self = {\n name: 'autoplay',\n options: userOptions,\n init,\n destroy,\n play,\n stop,\n reset,\n isPlaying\n };\n return self;\n}\nAutoplay.globalOptions = undefined;\n\nexport { Autoplay as default };\n//# sourceMappingURL=embla-carousel-autoplay.esm.js.map\n"],"names":["GenIcon","module","exports","props","_ref","section","theme","title","linkTitle","subTitle","className","children","borderT","borderB","isArrowLink","attr","mainColorClass","Theme","dark","linkColorClass","bgColorClass","___EmotionJSX","React","Border","_extends","ContentContainer","maxWidthClass","toUpperCase","Link","to","post","markupData","lang","date","text","frontmatter","minutes","Math","floor","wordCount","words","readingTime","fontColorClass100","light","fontColorClass70","fontColorHover","cover","getImage","id","itemScope","itemType","GatsbyImage","image","alt","itemProp","split","slice","join","readPostLink","BsArrowUpRight","size","readingTimeUnits","readingTimeTitle","LocalBusinessMetadata","project","teamSize","duration","fontColorClass10","bgColors","forwardRef","ref","emblaRef","emblaApi","useEmblaCarousel","loop","dragFree","align","Autoplay","delay","stopOnInteraction","stopOnMouseEnter","onMouseEnter","internalEngine","animation","stop","onMouseLeave","start","StackSection","_techData$markdownRem","_techData$markdownRem2","techData","useStaticQuery","query","techArr","markdownRemark","stack","StackCarousel","map","tech","StackUnit","key","_postData$markupData","_postData$markupData$","_postData$markupData$2","_postData$markupData$3","_postData$lang","_postData$en","_sectionMarkup$blogSe","_sectionMarkup$blogSe2","postData","sectionMarkup","nodes","find","node","fields","language","blog","posts","en","TemplateSection","blogSectionTitle","blogSectionLinkTitle","PostPreview","_projectsPreviewData$","_projectsPreviewData$2","_projectsPreviewData$3","_projectsPreviewData$4","_projectsPreviewData$5","_projectsPreviewData$6","_sectionMarkup$morePr","_sectionMarkup$morePr2","excludeId","projectsPreviewData","projects","filter","moreProjectsSectionTitle","moreProjectsSectionLinkTitle","i","ProjectPreview","review","company","person","position","location","link","html","avatar","href","FaQuoteRight","color","dangerouslySetInnerHTML","__html","_reviewsData$markupDa","_reviewsData$markupDa2","_reviewsData$markupDa3","_reviewsData$markupDa4","_reviewsData$lang","_reviewsData$lang$nod","_reviewsData$en","_reviewsData$en$nodes","_sectionMarkup$title","reviewsData","reviews","sort","a","b","Review","pageContext","IconContext","Provider","value","style","verticalAlign","Banner","bannerTitle","titleBlockClassName","childrenBlockClassName","Arrow","ProjectsSection","StaticReviewsSection","PostSection","ContactFormSection","Head","_ref2","site","HeadSeo","head","description","metaDescription","siteUrl","path","pathname","ArrowUpRight","createElement","defaultProps","default","defaultOptions","active","breakpoints","jump","playOnInit","stopOnFocusIn","stopOnLastSnap","rootNode","userOptions","options","destroyed","playing","resume","timer","startTimer","emit","ownerWindow","clearInterval","setInterval","next","stopTimer","visibilityChange","documentIsHidden","ownerDocument","visibilityState","play","jumpOverride","index","nextIndex","clone","add","get","lastIndex","scrollSnapList","length","canScrollNext","scrollNext","scrollTo","name","init","emblaApiInstance","optionsHandler","mergeOptions","optionsAtMedia","optionsBase","globalOptions","allOptions","eventStore","emblaRoot","root","container","containerNode","on","destroy","off","reset","isPlaying","undefined"],"sourceRoot":""}