From 66668d85d603c5841d755a6023aa1925559fc6d4 Mon Sep 17 00:00:00 2001 From: 苏向夜 Date: Wed, 25 Feb 2026 01:32:51 +0800 Subject: chore(workspace): replace legacy codes --- packages/ui-new/src/components/login-modal.tsx | 188 ------------------------- 1 file changed, 188 deletions(-) delete mode 100644 packages/ui-new/src/components/login-modal.tsx (limited to 'packages/ui-new/src/components/login-modal.tsx') diff --git a/packages/ui-new/src/components/login-modal.tsx b/packages/ui-new/src/components/login-modal.tsx deleted file mode 100644 index 49596da..0000000 --- a/packages/ui-new/src/components/login-modal.tsx +++ /dev/null @@ -1,188 +0,0 @@ -import { Mail, User } from "lucide-react"; -import { useCallback, useState } from "react"; -import { toast } from "sonner"; -import { useAuthStore } from "@/models/auth"; -import { Button } from "./ui/button"; -import { - Dialog, - DialogContent, - DialogDescription, - DialogFooter, - DialogHeader, - DialogTitle, -} from "./ui/dialog"; -import { - Field, - FieldDescription, - FieldError, - FieldGroup, - FieldLabel, -} from "./ui/field"; -import { Input } from "./ui/input"; - -export interface LoginModalProps - extends Omit, "onOpenChange"> { - open: boolean; - onOpenChange: (open: boolean) => void; -} - -export function LoginModal({ onOpenChange, ...props }: LoginModalProps) { - const authStore = useAuthStore(); - - const [offlineUsername, setOfflineUsername] = useState(""); - const [errorMessage, setErrorMessage] = useState(""); - const [isLoggingIn, setIsLoggingIn] = useState(false); - - const handleMicrosoftLogin = useCallback(async () => { - setIsLoggingIn(true); - authStore.setLoginMode("microsoft"); - try { - await authStore.loginOnline(() => onOpenChange?.(false)); - } catch (error) { - const err = error as Error; - console.error("Failed to login with Microsoft:", err); - setErrorMessage(err.message); - } finally { - setIsLoggingIn(false); - } - }, [authStore.loginOnline, authStore.setLoginMode, onOpenChange]); - - const handleOfflineLogin = useCallback(async () => { - setIsLoggingIn(true); - try { - await authStore.loginOffline(offlineUsername); - toast.success("Logged in offline successfully"); - onOpenChange?.(false); - } catch (error) { - const err = error as Error; - console.error("Failed to login offline:", err); - setErrorMessage(err.message); - } finally { - setIsLoggingIn(false); - } - }, [authStore, offlineUsername, onOpenChange]); - - return ( - - - - Login - - Login to your Minecraft account or play offline - - -
- {!authStore.loginMode && ( -
- - -
- )} - {authStore.loginMode === "microsoft" && ( -
- - - To sign in, use a web browser to open the page{" "} - - {authStore.deviceCode?.verificationUri} - {" "} - and enter the code{" "} - { - if (authStore.deviceCode?.userCode) { - navigator.clipboard?.writeText( - authStore.deviceCode?.userCode, - ); - } - }} - onKeyDown={() => { - if (authStore.deviceCode?.userCode) { - navigator.clipboard?.writeText( - authStore.deviceCode?.userCode, - ); - } - }} - > - {authStore.deviceCode?.userCode} - {" "} - to authenticate, this code will be expired in{" "} - {authStore.deviceCode?.expiresIn} seconds. - - {errorMessage} -
- )} - {authStore.loginMode === "offline" && ( - - - Username - - Enter a username to play offline - - { - setOfflineUsername(e.target.value); - setErrorMessage(""); - }} - aria-invalid={!!errorMessage} - /> - {errorMessage} - - - )} -
- -
- - {authStore.statusMessage} - -
- - {authStore.loginMode === "offline" && ( - - )} -
-
-
- ); -} -- cgit v1.2.3-70-g09d2