feature(public,docs): new public website and docs

This commit is contained in:
Carl-Gerhard Lindesvärd
2024-11-13 21:15:46 +01:00
parent fc2a019e1d
commit a022cb4831
234 changed files with 9341 additions and 6154 deletions

View File

@@ -19,30 +19,26 @@ const ConnectApp = ({ client }: Props) => {
Pick a framework below to get started.
</p>
<div className="mt-4 grid gap-4 md:grid-cols-2">
{frameworks.app.map((framework) => (
<button
type="button"
onClick={() =>
pushModal('Instructions', {
framework,
client,
})
}
className="flex items-center gap-4 rounded-md border p-2 py-2 text-left"
key={framework.name}
>
<div className="h-10 w-10 rounded-md bg-def-200 p-2">
<img
className="h-full w-full object-contain"
src={framework.logo}
alt={framework.name}
width={32}
height={32}
/>
</div>
<div className="flex-1 font-semibold">{framework.name}</div>
</button>
))}
{frameworks
.filter((framework) => framework.type.includes('app'))
.map((framework) => (
<button
type="button"
onClick={() =>
pushModal('Instructions', {
framework,
client,
})
}
className="flex items-center gap-4 rounded-md border p-2 py-2 text-left"
key={framework.name}
>
<div className="h-10 w-10 rounded-md bg-def-200 p-2">
<framework.IconComponent className="h-full w-full" />
</div>
<div className="flex-1 font-semibold">{framework.name}</div>
</button>
))}
</div>
<p className="mt-2 text-sm text-muted-foreground">
Missing a framework?{' '}

View File

@@ -19,30 +19,26 @@ const ConnectBackend = ({ client }: Props) => {
Pick a framework below to get started.
</p>
<div className="mt-4 grid gap-4 md:grid-cols-2">
{frameworks.backend.map((framework) => (
<button
type="button"
onClick={() =>
pushModal('Instructions', {
framework,
client,
})
}
className="flex items-center gap-4 rounded-md border p-2 py-2 text-left"
key={framework.name}
>
<div className="h-10 w-10 rounded-md bg-def-200 p-2">
<img
className="h-full w-full object-contain"
src={framework.logo}
alt={framework.name}
width={32}
height={32}
/>
</div>
<div className="flex-1 font-semibold">{framework.name}</div>
</button>
))}
{frameworks
.filter((framework) => framework.type.includes('backend'))
.map((framework) => (
<button
type="button"
onClick={() =>
pushModal('Instructions', {
framework,
client,
})
}
className="flex items-center gap-4 rounded-md border p-2 py-2 text-left"
key={framework.name}
>
<div className="h-10 w-10 rounded-md bg-def-200 p-2">
<framework.IconComponent className="h-full w-full" />
</div>
<div className="flex-1 font-semibold">{framework.name}</div>
</button>
))}
</div>
<p className="mt-2 text-sm text-muted-foreground">
Missing a framework?{' '}

View File

@@ -19,30 +19,26 @@ const ConnectWeb = ({ client }: Props) => {
Pick a framework below to get started.
</p>
<div className="mt-4 grid gap-4 md:grid-cols-2">
{frameworks.website.map((framework) => (
<button
type="button"
onClick={() =>
pushModal('Instructions', {
framework,
client,
})
}
className="flex items-center gap-4 rounded-md border p-2 py-2 text-left"
key={framework.name}
>
<div className="h-10 w-10 rounded-md bg-def-200 p-2">
<img
className="h-full w-full object-contain"
src={framework.logo}
alt={framework.name}
width={32}
height={32}
/>
</div>
<div className="flex-1 font-semibold">{framework.name}</div>
</button>
))}
{frameworks
.filter((framework) => framework.type.includes('website'))
.map((framework) => (
<button
type="button"
onClick={() =>
pushModal('Instructions', {
framework,
client,
})
}
className="flex items-center gap-4 rounded-md border p-2 py-2 text-left"
key={framework.name}
>
<div className="h-10 w-10 rounded-md bg-def-200 p-2">
<framework.IconComponent className="h-full w-full" />
</div>
<div className="flex-1 font-semibold">{framework.name}</div>
</button>
))}
</div>
<p className="mt-2 text-sm text-muted-foreground">
Missing a framework?{' '}

View File

@@ -18,8 +18,10 @@ import superjson from 'superjson';
import { NotificationProvider } from '@/components/notifications/notification-provider';
import { OpenPanelComponent } from '@openpanel/nextjs';
import { useSearchParams } from 'next/navigation';
function AllProviders({ children }: { children: React.ReactNode }) {
const searchParams = useSearchParams();
const { getToken } = useAuth();
const [queryClient] = useState(
() =>
@@ -59,11 +61,16 @@ function AllProviders({ children }: { children: React.ReactNode }) {
storeRef.current = makeStore();
}
const forcedTheme = searchParams.get('colorScheme');
return (
<ThemeProvider
attribute="class"
defaultTheme="light"
disableTransitionOnChange
defaultTheme="system"
forcedTheme={
forcedTheme ? (forcedTheme === 'dark' ? 'dark' : 'light') : 'system'
}
>
{process.env.NEXT_PUBLIC_OP_CLIENT_ID && (
<OpenPanelComponent