2
0
Files
bot/ee/apps/landing-page/pages/oss-friends.tsx

113 lines
3.0 KiB
TypeScript
Raw Permalink Normal View History

2023-05-26 08:26:52 +02:00
import {
Button,
DarkMode,
Flex,
Heading,
Stack,
VStack,
Text,
SimpleGrid,
} from '@chakra-ui/react'
import { BackgroundPolygons } from 'components/Homepage/Hero/BackgroundPolygons'
import { Footer } from 'components/common/Footer'
import { Header } from 'components/common/Header/Header'
import { SocialMetaTags } from 'components/common/SocialMetaTags'
import { GetStaticPropsResult } from 'next'
2023-05-26 08:26:52 +02:00
import Link from 'next/link'
type OSSFriend = {
href: string
name: string
description: string
}
type Props = {
ossFriends: OSSFriend[]
}
2023-05-26 08:26:52 +02:00
export default function OSSFriendsPage({ ossFriends }: Props) {
2023-05-26 08:26:52 +02:00
return (
<Stack overflowX="hidden" bgColor="gray.900">
<Flex
pos="relative"
flexDir="column"
minHeight="100vh"
alignItems="center"
bgGradient="linear(to-b, gray.900, gray.800)"
pb={40}
>
<SocialMetaTags currentUrl={`https://www.typebot.io/oss-friends`} />
<BackgroundPolygons />
<DarkMode>
<Header />
</DarkMode>
<VStack spacing={12}>
<Stack pt="20" px="2" spacing="4">
<Heading fontSize={{ base: '4xl', xl: '6xl' }} textAlign="center">
Our{' '}
<Text as="span" color="blue.200" fontWeight="bold">
Open-source
</Text>{' '}
Friends
</Heading>
<Text
maxW="900px"
textAlign="center"
fontSize={{ base: 'lg', xl: 'xl' }}
>
We love open-source and we are proud to support these amazing
projects. 💙
</Text>
</Stack>
<SimpleGrid columns={[1, 2, 3]} spacing="6" maxW="1200px">
{ossFriends
.filter((friend) => friend.name !== 'Typebot')
.map((friend, index) => (
<Stack
key={index}
p="6"
rounded="lg"
bgColor="gray.800"
color="white"
shadow="lg"
spacing="4"
data-aos="fade"
justifyContent="space-between"
>
<Stack spacing={4}>
<Heading fontSize="2xl">{friend.name}</Heading>
<Text>{friend.description}</Text>
</Stack>
2023-05-26 08:26:52 +02:00
<Flex>
<Button
as={Link}
target="_blank"
href={friend.href}
variant="outline"
>
Learn more
</Button>
</Flex>
</Stack>
))}
2023-05-26 08:26:52 +02:00
</SimpleGrid>
</VStack>
</Flex>
<Footer />
</Stack>
)
}
export async function getStaticProps(): Promise<GetStaticPropsResult<Props>> {
const res = await fetch('https://formbricks.com/api/oss-friends')
const data = await res.json()
return {
props: {
ossFriends: data.data,
},
}
}