Skip to content

Commit 1d2f30b

Browse files
feat: in with the new
1 parent 7b5ef11 commit 1d2f30b

File tree

185 files changed

+19340
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

185 files changed

+19340
-0
lines changed

Diff for: .gitignore

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# deps
2+
/node_modules
3+
4+
# generated content
5+
.contentlayer
6+
.content-collections
7+
.source
8+
9+
# test & build
10+
/coverage
11+
/.next/
12+
/out/
13+
/build
14+
*.tsbuildinfo
15+
16+
# misc
17+
.DS_Store
18+
*.pem
19+
/.pnp
20+
.pnp.js
21+
npm-debug.log*
22+
yarn-debug.log*
23+
yarn-error.log*
24+
25+
# others
26+
.env*.local
27+
.vercel
28+
next-env.d.ts

Diff for: README.md

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# reclaim-fumadocs
2+
3+
This is a Next.js application generated with
4+
[Create Fumadocs](https://github.com/fuma-nama/fumadocs).
5+
6+
Run development server:
7+
8+
```bash
9+
npm run dev
10+
# or
11+
pnpm dev
12+
# or
13+
yarn dev
14+
```
15+
16+
Open http://localhost:3000 with your browser to see the result.
17+
18+
## Learn More
19+
20+
To learn more about Next.js and Fumadocs, take a look at the following
21+
resources:
22+
23+
- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js
24+
features and API.
25+
- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
26+
- [Fumadocs](https://fumadocs.vercel.app) - learn about Fumadocs

Diff for: app/(home)/[[...slug]]/page.tsx

+46
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
import { source } from '@/lib/source';
2+
import {
3+
DocsPage,
4+
DocsBody,
5+
DocsDescription,
6+
DocsTitle,
7+
} from 'fumadocs-ui/page';
8+
import { notFound } from 'next/navigation';
9+
import defaultMdxComponents from 'fumadocs-ui/mdx';
10+
11+
export default async function Page(props: {
12+
params: Promise<{ slug?: string[] }>;
13+
}) {
14+
const params = await props.params;
15+
const page = source.getPage(params.slug);
16+
if (!page) notFound();
17+
18+
const MDX = page.data.body;
19+
20+
return (
21+
<DocsPage toc={page.data.toc} full={page.data.full}>
22+
<DocsTitle>{page.data.title}</DocsTitle>
23+
<DocsDescription>{page.data.description}</DocsDescription>
24+
<DocsBody>
25+
<MDX components={{ ...defaultMdxComponents }} />
26+
</DocsBody>
27+
</DocsPage>
28+
);
29+
}
30+
31+
export async function generateStaticParams() {
32+
return source.generateParams();
33+
}
34+
35+
export async function generateMetadata(props: {
36+
params: Promise<{ slug?: string[] }>;
37+
}) {
38+
const params = await props.params;
39+
const page = source.getPage(params.slug);
40+
if (!page) notFound();
41+
42+
return {
43+
title: page.data.title,
44+
description: page.data.description,
45+
};
46+
}

Diff for: app/(home)/layout.tsx

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import { DocsLayout } from 'fumadocs-ui/layouts/docs';
2+
import type { ReactNode } from 'react';
3+
import { baseOptions } from '@/app/layout.config';
4+
import { source } from '@/lib/source';
5+
6+
export default function Layout({ children }: { children: ReactNode }) {
7+
return (
8+
<DocsLayout tree={source.pageTree} {...baseOptions}>
9+
{children}
10+
</DocsLayout>
11+
);
12+
}

Diff for: app/api/search/route.ts

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
import { source } from '@/lib/source';
2+
import { createFromSource } from 'fumadocs-core/search/server';
3+
4+
export const { GET } = createFromSource(source);

Diff for: app/components/integration-card.tsx

+45
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
import React from 'react';
2+
import { Zap, ArrowRight, Check } from 'lucide-react';
3+
4+
export function IntegrationCard() {
5+
return (
6+
<div className="relative group">
7+
<div className="absolute -inset-0.5 bg-gradient-to-r from-pink-600 to-[#3385FF] rounded-xl blur opacity-75 group-hover:opacity-100 transition duration-1000 group-hover:duration-200 animate-pulse"></div>
8+
<div className="relative px-7 py-6 bg-white dark:bg-gray-900 rounded-lg leading-none flex items-center">
9+
<div className="flex flex-col w-full">
10+
<div className="flex items-center space-x-3">
11+
<span className="flex h-10 w-10 items-center justify-center rounded-full bg-[#3385FF]/10 dark:bg-[#3385FF]/20">
12+
<Zap className="h-6 w-6 text-[#3385FF] dark:text-[#3385FF]" />
13+
</span>
14+
<span className="text-slate-800 dark:text-white text-lg font-medium">Integration Ready</span>
15+
</div>
16+
17+
<div>
18+
<h3 className="text-xl font-bold text-slate-800 dark:text-white mt-4">
19+
Quick Integration
20+
</h3>
21+
<p className="text-slate-600 dark:text-slate-300">
22+
Get up and running in minutes with simple, intuitive implementation.
23+
</p>
24+
</div>
25+
26+
<div className="flex items-center justify-between">
27+
<div className="flex items-center space-x-2">
28+
<Check className="h-5 w-5 text-green-500" />
29+
<span className="text-sm text-slate-600 dark:text-slate-300">Production Ready</span>
30+
</div>
31+
<a
32+
href="https://dev.reclaimprotocol.org"
33+
target="_blank"
34+
rel="noopener noreferrer"
35+
className="group flex items-center space-x-2 px-4 py-2 bg-[#3385FF] text-white rounded-lg hover:bg-[#3385FF]/80 transition-colors no-underline"
36+
>
37+
<span>Integrate Now</span>
38+
<ArrowRight className="h-4 w-4 group-hover:translate-x-1 transition-transform" />
39+
</a>
40+
</div>
41+
</div>
42+
</div>
43+
</div>
44+
);
45+
}

Diff for: app/global.css

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
@tailwind base;
2+
@tailwind components;
3+
@tailwind utilities;

Diff for: app/layout.config.tsx

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import type { BaseLayoutProps } from 'fumadocs-ui/layouts/shared';
2+
3+
/**
4+
* Shared layout configurations
5+
*
6+
* you can configure layouts individually from:
7+
* Home Layout: app/(home)/layout.tsx
8+
* Docs Layout: app/docs/layout.tsx
9+
*/
10+
export const baseOptions: BaseLayoutProps = {
11+
nav: {
12+
title: <div style={{ display: 'flex', alignItems: 'center', gap: '0.5rem' }}><img src="/assets/logo.png" alt="logo" width={25} height={25} />Reclaim Protocol Docs</div>,
13+
},
14+
};

Diff for: app/layout.tsx

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
import { Banner } from 'fumadocs-ui/components/banner';
2+
import './global.css';
3+
import { RootProvider } from 'fumadocs-ui/provider';
4+
import { Inter } from 'next/font/google';
5+
import type { ReactNode } from 'react';
6+
7+
const inter = Inter({
8+
subsets: ['latin'],
9+
});
10+
11+
export default function Layout({ children }: { children: ReactNode }) {
12+
return (
13+
<html lang="en" className={inter.className} suppressHydrationWarning>
14+
<body className="flex flex-col min-h-screen">
15+
<Banner variant="rainbow">
16+
✨Works out of the box guarantee. If you face any issue at all, hit us up&nbsp;<a href="https://t.me/protocolreclaim" target='_blank' className="underline ">on Telegram</a>&nbsp;and we will write the integration for you.
17+
</Banner>
18+
<RootProvider>{children}</RootProvider>
19+
</body>
20+
</html>
21+
);
22+
}

0 commit comments

Comments
 (0)