Skip to content

Commit 47d2b41

Browse files
Merge pull request #59 from solid/integrating-login-package
updated to use login package
2 parents cd1cc93 + 91c3688 commit 47d2b41

5 files changed

Lines changed: 1723 additions & 2631 deletions

File tree

app/login/page.tsx

Lines changed: 29 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,38 @@
11
"use client";
22

33
import { Suspense } from "react";
4-
import AuthWrapper from "../components/AuthWrapper";
5-
import LoginPage from "../components/LoginPage";
4+
import { useRouter } from "next/navigation";
5+
import {
6+
SolidLoginNavigationProviderNext,
7+
AuthGuard,
8+
SolidLoginPage,
9+
} from "solid-react-component/login/next";
10+
11+
const loadingFallback = (
12+
<div className="flex min-h-screen items-center justify-center bg-white">
13+
<span>Loading...</span>
14+
</div>
15+
);
616

717
export default function Login() {
18+
const router = useRouter();
819
return (
9-
<Suspense fallback={<div>Loading...</div>}>
10-
<AuthWrapper>
11-
<LoginPage />
12-
</AuthWrapper>
20+
<Suspense fallback={loadingFallback}>
21+
<SolidLoginNavigationProviderNext
22+
config={{ loginPath: "/login", homePath: "/" }}
23+
>
24+
<AuthGuard fallback={loadingFallback}>
25+
<SolidLoginPage
26+
onAlreadyLoggedIn={() => router.replace("/")}
27+
logo="/file-manager-logo.svg"
28+
logoAlt="Solid File Manager Logo"
29+
title="Sign in"
30+
subtitle="to continue to Solid File Manager"
31+
footerGitHubUrl="https://github.com/solid/solid-file-manager"
32+
footerIssuesUrl="https://github.com/solid/solid-file-manager/issues/new"
33+
/>
34+
</AuthGuard>
35+
</SolidLoginNavigationProviderNext>
1336
</Suspense>
1437
);
1538
}

app/page.tsx

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,33 @@
11
"use client";
22

33
import { Suspense } from "react";
4-
import AuthWrapper from "./components/AuthWrapper";
4+
import {
5+
SolidLoginNavigationProviderNext,
6+
AuthGuard,
7+
} from "solid-react-component/login/next";
58
import LoadingSpinner from "./components/shared/LoadingSpinner";
69
import FileManager from "./components/FileManager";
710

8-
// FileManagerContent uses useSearchParams, so it needs to be wrapped in Suspense
11+
const loadingFallback = (
12+
<div className="flex min-h-screen items-center justify-center bg-white">
13+
<LoadingSpinner size="md" text="Loading..." />
14+
</div>
15+
);
16+
917
function FileManagerContent() {
1018
return <FileManager />;
1119
}
1220

1321
export default function Home() {
1422
return (
15-
<AuthWrapper>
16-
<Suspense
17-
fallback={
18-
<div className="flex min-h-screen items-center justify-center bg-white">
19-
<LoadingSpinner size="md" text="Loading..." />
20-
</div>
21-
}
23+
<Suspense fallback={loadingFallback}>
24+
<SolidLoginNavigationProviderNext
25+
config={{ loginPath: "/login", homePath: "/" }}
2226
>
23-
<FileManagerContent />
24-
</Suspense>
25-
</AuthWrapper>
27+
<AuthGuard fallback={loadingFallback}>
28+
<FileManagerContent />
29+
</AuthGuard>
30+
</SolidLoginNavigationProviderNext>
31+
</Suspense>
2632
);
2733
}

next.config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import type { NextConfig } from "next";
22

33
const nextConfig: NextConfig = {
4-
/* config options here */
4+
transpilePackages: ["solid-react-component"],
55
};
66

77
export default nextConfig;

0 commit comments

Comments
 (0)