173 lines
6.4 KiB
JavaScript
173 lines
6.4 KiB
JavaScript
import React from 'react'
|
|
|
|
import SectionIntro from '../components/SectionIntro'
|
|
import Button from '../components/Button'
|
|
import Card from '../components/Card'
|
|
import Service from '../components/Service'
|
|
import PageIntro from '../components/PageIntro'
|
|
import InfoBox from '../components/InfoBox'
|
|
import Technologies from '../components/Technologies'
|
|
import Typed from 'react-typed'
|
|
|
|
import ImgIntro from '../images/web-development-company.svg'
|
|
import ImgDesign from '../images/user-experience-design-agency.svg'
|
|
import ImgFullstack from '../images/fullstack-web-development-agency.svg'
|
|
import ImgMobile from '../images/mobile-app-development-company.svg'
|
|
import ServicesBg from '../images/services-background.svg'
|
|
|
|
import LogoIBM from '../images/logo-ibm-color.svg'
|
|
import LogoRicoh from '../images/logo-ricoh-color.svg'
|
|
import LogoKinnarps from '../images/logo-kinnarps-color.svg'
|
|
import LogoCoor from '../images/logo-coor-color.svg'
|
|
|
|
const IndexPage = ({ ...props }) => (
|
|
<div>
|
|
<PageIntro
|
|
text="We're a team of experienced, creative and passionate engineers and designers. Our mission is to make you stand out and gain competitive advantages with the help of modern technologies."
|
|
image={ImgIntro}
|
|
imgClasses="-mb-20 p-2 md:p-8"
|
|
>
|
|
<h2 className="text-black pt-1 pb-2">
|
|
We{' '}
|
|
<Typed
|
|
strings={['imagine', 'design', 'develop', 'maintain']}
|
|
typeSpeed={100}
|
|
backSpeed={50}
|
|
backDelay={3000}
|
|
loop
|
|
/>
|
|
great experiences
|
|
</h2>
|
|
</PageIntro>
|
|
|
|
<main>
|
|
<section className="container mx-auto max-w-lg text-center mt-16 p-4">
|
|
<SectionIntro
|
|
headline="Because beautiful code makes our heart pound"
|
|
text="We have a deep passion for cutting edge technologies and incredible user experiences. Our experienced engineers deliver custom end-to-end software solutions daily and can even help you with initial analysis, architecture design, testing and deployments."
|
|
/>
|
|
</section>
|
|
|
|
<section className="bg-saburly relative bg-saburly-fadeout">
|
|
<Service
|
|
img={ImgDesign}
|
|
title="User Experience Design"
|
|
text="Our approach is simple: focus on how users might use the product in the best way possible. We offer UX and interface design for all screens and devices. The solutions are usually shaped through iterative processes of research, prototyping and testing."
|
|
/>
|
|
|
|
<Service
|
|
reversed
|
|
img={ImgFullstack}
|
|
title="Full-Stack Web Development"
|
|
text="We are experts in modern web development using both client-side and server-side technologies. Our talented developers work with popular languages and are always up to speed on the cutting edge trends in web application development. We deliver high-quality, maintainable code on time and know how to balance between cost, time and quality."
|
|
imgClasses=""
|
|
/>
|
|
|
|
<Service
|
|
img={ImgMobile}
|
|
imgClasses="max-h-sm"
|
|
title="Mobile App Development"
|
|
text="We have what it takes to develop competitive iOS and Android applications using both native languages and hybrid solutions. Solutions for iOS are built with Swift & Objective-C and Android solutions are built with Java & Kotlin. We love using technologies like React Native to build cross-platform native apps."
|
|
/>
|
|
|
|
<div className="py-8 text-center lg:flex justify-center">
|
|
<Button
|
|
standard
|
|
text="More About What We Do"
|
|
url="/services"
|
|
classes="font-medium mb-8 lg:mb-24 rounded-full hover:shadow-md text-grey-darker hover:shadow"
|
|
/>
|
|
</div>
|
|
</section>
|
|
|
|
<section className="container mx-auto max-w-lg text-center p-4 my-12">
|
|
<SectionIntro
|
|
headline="Ambitious projects bring great responsibility"
|
|
text="By thinking big, designing smart and developing fast, we have helped organizations of various sizes bring life to ideas and existing products. We're now eager to hear what challenges you have for us"
|
|
/>
|
|
<div className="p-4 md:flex items-center max-w-full justify-center">
|
|
<img
|
|
src={LogoRicoh}
|
|
className="opacity-50 hover:opacity-100 client-logo p-1"
|
|
alt="Ricoh Logo"
|
|
/>
|
|
<img
|
|
src={LogoCoor}
|
|
className="opacity-50 hover:opacity-100 client-logo p-1"
|
|
alt="Coor Logo"
|
|
/>
|
|
<img
|
|
src={LogoKinnarps}
|
|
className="opacity-50 hover:opacity-100 client-logo p-1"
|
|
alt="Kinnarps Logo"
|
|
/>
|
|
</div>
|
|
|
|
<Button
|
|
filled
|
|
text="Let's Get In Touch"
|
|
url="/contact"
|
|
classes="text-white font-medium shadow hover:shadow-md rounded-full mt-2 font-light bg-teal hover:bg-teal-dark"
|
|
/>
|
|
</section>
|
|
|
|
<section className="text-center p-8 relative bg-saburly-lighter">
|
|
<SectionIntro headline="Occasionally we have fun & publish" />
|
|
<div className="container mx-auto w-full md:flex md:flex-wrap items-stretch w-full">
|
|
{props.data.allWordpressPost.edges.map(({ node }) => (
|
|
<div key={node.id} className="md:w-1/2 p-2">
|
|
<Card
|
|
url={`blog/${node.slug}`}
|
|
title={node.title}
|
|
date={node.date}
|
|
excerpt={node.excerpt}
|
|
image={
|
|
node.featured_media
|
|
? node.featured_media.localFile.childImageSharp.resolutions
|
|
: undefined
|
|
}
|
|
/>
|
|
</div>
|
|
))}
|
|
</div>
|
|
<Button
|
|
standard
|
|
text="More Posts"
|
|
url="/blog"
|
|
classes="mt-2 mb-8 hover:shadow-md rounded-full text-grey-darker"
|
|
/>
|
|
</section>
|
|
</main>
|
|
</div>
|
|
)
|
|
|
|
export const query = graphql`
|
|
query indexPostsQuery {
|
|
allWordpressPost(limit: 2) {
|
|
edges {
|
|
node {
|
|
id
|
|
title
|
|
excerpt
|
|
status
|
|
slug
|
|
date(formatString: "MMMM DD, YYYY")
|
|
featured_media {
|
|
localFile {
|
|
childImageSharp {
|
|
resolutions(width: 600, height: 300) {
|
|
src
|
|
width
|
|
height
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
`
|
|
|
|
export default IndexPage
|