Skip to content

Commit d910495

Browse files
committed
feat: enhance AppLoginPopupProvider with GitHub login functionality and improved UI
1 parent 9c43fae commit d910495

File tree

1 file changed

+36
-4
lines changed

1 file changed

+36
-4
lines changed

src/components/app-login-popup.tsx

Lines changed: 36 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,11 @@ import {
88
AlertDialogHeader,
99
AlertDialogTitle,
1010
} from "./ui/alert-dialog";
11+
import { useTranslation } from "@/i18n/use-translation";
12+
import Link from "next/link";
13+
import TechdiaryLogo from "./logos/TechdiaryLogo";
14+
import { Button } from "./ui/button";
15+
import { useSearchParams } from "next/navigation";
1116

1217
interface ContextType {
1318
show: () => void;
@@ -21,6 +26,8 @@ export function AppLoginPopupProvider({
2126
}: {
2227
children: React.ReactNode;
2328
}) {
29+
const { _t } = useTranslation();
30+
const searchParams = useSearchParams();
2431
const [isOpen, setIsOpen] = useState(false);
2532

2633
const show = useCallback(() => {
@@ -36,10 +43,35 @@ export function AppLoginPopupProvider({
3643
{children}
3744
<AlertDialog open={isOpen} onOpenChange={setIsOpen}>
3845
<AlertDialogContent aria-describedby={undefined}>
39-
<AlertDialogHeader>
40-
<AlertDialogTitle>Titleee</AlertDialogTitle>
41-
</AlertDialogHeader>
42-
<AlertDialogDescription>COntent</AlertDialogDescription>
46+
<div className="flex flex-col items-center gap-4">
47+
<Link href="/" className="flex items-center gap-2">
48+
<TechdiaryLogo />
49+
<span className="text-xl font-semibold text-foreground">
50+
Techdiary
51+
</span>
52+
</Link>
53+
54+
<p>
55+
{_t(
56+
"Joining to techdiary is very easy! you Just need to login using your GitHub account."
57+
)}
58+
</p>
59+
60+
<Link
61+
className="flex w-full items-center justify-center space-x-2 rounded-sm border py-2 transition duration-150 hover:opacity-95"
62+
href={`/api/auth/github?next=${searchParams.get("next")}`}
63+
>
64+
<svg
65+
role="img"
66+
viewBox="0 0 24 24"
67+
xmlns="http://www.w3.org/2000/svg"
68+
className="h-4 w-4 fill-current"
69+
>
70+
<path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12" />
71+
</svg>
72+
<span className="text-sm">{_t("Login with Github")}</span>
73+
</Link>
74+
</div>
4375
</AlertDialogContent>
4476
</AlertDialog>
4577
</Context.Provider>

0 commit comments

Comments
 (0)