Skip to content

Commit

Permalink
📝 Dynamic oss-friends landing page
Browse files Browse the repository at this point in the history
  • Loading branch information
baptisteArno committed Aug 7, 2023
1 parent 2c4762b commit 1ae3029
Showing 1 changed file with 52 additions and 120 deletions.
172 changes: 52 additions & 120 deletions apps/landing-page/pages/oss-friends.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -12,101 +12,20 @@ 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'
import Link from 'next/link'

const OSSFriends = [
{
name: 'Cal.com',
description:
'Cal.com is a scheduling tool that helps you schedule meetings without the back-and-forth emails.',
href: 'https://cal.com',
},
{
name: 'Crowd.dev',
description:
'Centralize community, product, and customer data to understand which companies are engaging with your open source project.',
href: 'https://www.crowd.dev',
},
{
name: 'Documenso',
description:
'The Open-Source DocuSign Alternative. We aim to earn your trust by enabling you to self-host the platform and examine its inner workings.',
href: 'https://documenso.com',
},
{
name: 'Erxes',
description:
'The Open-Source HubSpot Alternative. A single XOS enables to create unique and life-changing experiences ​​that work for all types of business.',
href: 'https://erxes.io',
},
{
name: 'Formbricks',
description:
'Survey granular user segments at any point in the user journey. Gather up to 6x more insights with targeted micro-surveys. All open-source.',
href: 'https://formbricks.com',
},
{
name: 'Forward Email',
description:
'Free email forwarding for custom domains. For 6 years and counting, we are the go-to email service for thousands of creators, developers, and businesses.',
href: 'https://forwardemail.net',
},
{
name: 'GitWonk',
description:
'GitWonk is an open-source technical documentation tool, designed and built focusing on the developer experience.',
href: 'https://gitwonk.com',
},
{
name: 'HTMX',
description:
'HTMX is a dependency-free JavaScript library that allows you to access AJAX, CSS Transitions, WebSockets, and Server Sent Events directly in HTML.',
href: 'https://htmx.org',
},
{
name: 'Infisical',
description:
'Open source, end-to-end encrypted platform that lets you securely manage secrets and configs across your team, devices, and infrastructure.',
href: 'https://infisical.com',
},
{
name: 'Novu',
description:
'The open-source notification infrastructure for developers. Simple components and APIs for managing all communication channels in one place.',
href: 'https://novu.co',
},
{
name: 'OpenBB',
description:
"The most innovative investment research platform. Open to anyone's input. Open to everyone's work.",
href: 'https://openbb.co',
},
{
name: 'Sniffnet',
description:
'Sniffnet is a network monitoring tool to help you easily keep track of your Internet traffic.',
href: 'https://www.sniffnet.net',
},
{
name: 'Webiny',
description:
'Open-source enterprise-grade serverless CMS. Own your data. Scale effortlessly. Customize everything.',
href: 'https://www.webiny.com',
},
{
name: 'BoxyHQ',
description:
'BoxyHQ’s suite of APIs for security and privacy helps engineering teams build and ship compliant cloud applications faster.',
href: 'https://boxyhq.com',
},
{
name: 'Webstudio',
description: 'Webstudio is an open source alternative to Webflow',
href: 'https://webstudio.is',
},
]
type OSSFriend = {
href: string
name: string
description: string
}

type Props = {
ossFriends: OSSFriend[]
}

export default function OSSFriendsPage() {
export default function OSSFriendsPage({ ossFriends }: Props) {
return (
<Stack overflowX="hidden" bgColor="gray.900">
<Flex
Expand Down Expand Up @@ -142,39 +61,52 @@ export default function OSSFriendsPage() {
</Stack>

<SimpleGrid columns={[1, 2, 3]} spacing="6" maxW="1200px">
{OSSFriends.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>
{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>

<Flex>
<Button
as={Link}
target="_blank"
href={friend.href}
variant="outline"
>
Learn more
</Button>
</Flex>
</Stack>
))}
<Flex>
<Button
as={Link}
target="_blank"
href={friend.href}
variant="outline"
>
Learn more
</Button>
</Flex>
</Stack>
))}
</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,
},
}
}

2 comments on commit 1ae3029

@vercel
Copy link

@vercel vercel bot commented on 1ae3029 Aug 7, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@vercel
Copy link

@vercel vercel bot commented on 1ae3029 Aug 7, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Successfully deployed to the following URLs:

docs – ./apps/docs

docs-typebot-io.vercel.app
docs.typebot.io
docs-git-main-typebot-io.vercel.app

Please sign in to comment.