Skip to content

Commit aa1e135

Browse files
author
Dan Costello
committed
Home Page
1 parent 14aa1b3 commit aa1e135

File tree

5 files changed

+98
-20
lines changed

5 files changed

+98
-20
lines changed

app/(home)/layout.tsx

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,13 @@ import { HomeLayout } from 'fumadocs-ui/layouts/home';
33
import { baseOptions } from '@/app/layout.config';
44

55
export default function Layout({ children }: { children: ReactNode }) {
6-
return <HomeLayout {...baseOptions}>{children}</HomeLayout>;
6+
return <HomeLayout
7+
{...baseOptions}
8+
links= {[
9+
{
10+
text: 'Documentation',
11+
url: '/docs',
12+
}
13+
]}
14+
>{children}</HomeLayout>
715
}

app/(home)/page.tsx

Lines changed: 76 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,86 @@
11
import Link from 'next/link';
2+
import Image from 'next/image';
23

34
export default function HomePage() {
45
return (
5-
<main className="flex flex-1 flex-col justify-center text-center">
6-
<h1 className="mb-4 text-2xl font-bold">Hello World</h1>
7-
<p className="text-fd-muted-foreground">
8-
You can open{' '}
6+
<main className="flex flex-1 flex-col items-center justify-center py-20 text-center px-4">
7+
<div className="mb-10 flex flex-col items-center gap-y-6">
8+
<Image
9+
src="/logo.png"
10+
alt="UserClouds Logo"
11+
width={240}
12+
height={33}
13+
className="dark:saturate-200"
14+
priority
15+
/>
16+
17+
<p className="text-xl text-fd-muted-foreground max-w-3xl">
18+
An open-source identity management platform that simplifies authentication, authorization,
19+
and user data handling for modern applications.
20+
</p>
21+
</div>
22+
23+
<div className="flex flex-col sm:flex-row gap-4">
924
<Link
1025
href="/docs"
11-
className="text-fd-foreground font-semibold underline"
26+
className="inline-flex items-center justify-center rounded-lg bg-fd-primary px-6 py-3 text-sm font-medium text-white hover:bg-fd-primary/90 transition-colors"
1227
>
13-
/docs
14-
</Link>{' '}
15-
and see the documentation.
16-
</p>
28+
Read Documentation
29+
</Link>
30+
<Link
31+
href="https://github.com/userclouds/userclouds-oss"
32+
className="inline-flex items-center justify-center rounded-lg border border-fd-border bg-background px-6 py-3 text-sm font-medium hover:bg-fd-muted/50 transition-colors"
33+
target="_blank"
34+
rel="noopener noreferrer"
35+
>
36+
<svg
37+
xmlns="http://www.w3.org/2000/svg"
38+
width="18"
39+
height="18"
40+
viewBox="0 0 24 24"
41+
fill="none"
42+
stroke="currentColor"
43+
strokeWidth="2"
44+
strokeLinecap="round"
45+
strokeLinejoin="round"
46+
className="mr-2"
47+
>
48+
<path d="M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4" />
49+
<path d="M9 18c-4.51 2-5-2-7-2" />
50+
</svg>
51+
GitHub
52+
</Link>
53+
</div>
54+
55+
<div className="mt-16 grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-8 max-w-6xl">
56+
<div className="flex flex-col items-center p-6 bg-fd-card rounded-lg border border-fd-border">
57+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" className="mb-4 text-fd-primary">
58+
<rect width="18" height="11" x="3" y="11" rx="2" ry="2" />
59+
<path d="M7 11V7a5 5 0 0 1 10 0v4" />
60+
</svg>
61+
<h3 className="text-lg font-semibold mb-2">Authentication</h3>
62+
<p className="text-fd-muted-foreground text-center">Secure, flexible user authentication system with multiple identity providers</p>
63+
</div>
64+
65+
<div className="flex flex-col items-center p-6 bg-fd-card rounded-lg border border-fd-border">
66+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" className="mb-4 text-fd-primary">
67+
<path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10" />
68+
</svg>
69+
<h3 className="text-lg font-semibold mb-2">Authorization</h3>
70+
<p className="text-fd-muted-foreground text-center">Fine-grained access control with easy-to-implement permission models</p>
71+
</div>
72+
73+
<div className="flex flex-col items-center p-6 bg-fd-card rounded-lg border border-fd-border">
74+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" className="mb-4 text-fd-primary">
75+
<path d="M21 5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2" />
76+
<path d="M16 2v4" />
77+
<path d="M8 2v4" />
78+
<path d="M2 10h20" />
79+
</svg>
80+
<h3 className="text-lg font-semibold mb-2">User Data Management</h3>
81+
<p className="text-fd-muted-foreground text-center">Centralized user data storage with privacy-preserving tokenization</p>
82+
</div>
83+
</div>
1784
</main>
1885
);
1986
}

app/docs/layout.tsx

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,19 @@
11
import { source } from '@/lib/source';
2-
import { DocsLayout } from 'fumadocs-ui/layouts/notebook';
2+
import { DocsLayout, type DocsLayoutProps } from 'fumadocs-ui/layouts/notebook';
33
import type { ReactNode } from 'react';
44
import { baseOptions } from '@/app/layout.config';
55

66
export default function RootDocsLayout({ children }: { children: ReactNode }) {
7+
const docsOptions: DocsLayoutProps = {
8+
...baseOptions,
9+
nav: { ...baseOptions.nav, mode: 'top' },
10+
tree: source.pageTree,
11+
};
12+
713
return (
8-
<DocsLayout tree={source.pageTree} {...baseOptions}>
14+
<DocsLayout
15+
{...docsOptions}
16+
>
917
{children}
1018
</DocsLayout>
1119
);

app/layout.config.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,12 @@ import Image from 'next/image';
99
* Docs Layout: app/docs/layout.tsx
1010
*/
1111
export const baseOptions: BaseLayoutProps = {
12+
githubUrl: 'https://github.com/userclouds/userclouds-oss',
1213
nav: {
1314
title: (
1415
<>
1516
<Image src="/logo.png" width={160} height={22} alt="UserClouds logo" className="dark:saturate-200"/>
1617
</>
1718
),
18-
},
19+
}
1920
};

content/docs/guides/index.mdx

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,10 @@ createdAt: "Thu Sep 29 2022 21:31:11 GMT+0000 (Coordinated Universal Time)"
77
updatedAt: "Tue Sep 10 2024 20:04:47 GMT+0000 (Coordinated Universal Time)"
88
---
99

10-
UserClouds is a data protection layer that makes monitoring and controlling data access simple. The layer mediates access to sensitive data, enforcing best practices in data protection. It can be deployed in several distinct areas of your stack, depending on your use case.
10+
UserClouds is an open-source data protection layer that makes monitoring and controlling data access simple. The layer mediates access to sensitive data, enforcing best practices in data protection. It can be deployed in several distinct areas of your stack, depending on your use case.
1111

1212
Our Product Guides provide high-level narrative and information about our product suite. For detailed technical documentation, check out our [API Reference](/docs/reference).
1313

14-
<br />
15-
1614
### Key Functionality
1715

1816
The safety layer:
@@ -21,8 +19,6 @@ The safety layer:
2119
- **Minimizes, masks or tokenizes data**, reducing your data perimeter and lessening the severity of potential breaches
2220
- **Logs data access**, reducing time-to-detection and simplifying audits
2321

24-
<br />
25-
2622
### Use Cases
2723

2824
You may use UserClouds to apply best practices like:
@@ -37,8 +33,6 @@ You may use UserClouds to apply best practices like:
3733
- **Data tokenization**: replace data with a secure, but resolvable, reference token
3834
- **Logging** of the who, why, when and how of data access
3935

40-
<br />
41-
4236
### Benefits
4337

4438
UserClouds helps you reliably & programmatically enforce data protection practices on every data flow. It reduces the need for custom, governance-related code across systems and languages, improving:

0 commit comments

Comments
 (0)