다시 작업. 디자인도 바꾸고 서버도 바꿈. Co-authored-by: monoid <jaeung@prelude.duckdns.org> Reviewed-on: https://git.prelude.duckdns.org/monoid/ionian/pulls/6
		
			
				
	
	
		
			34 lines
		
	
	
		
			No EOL
		
	
	
		
			1.3 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			No EOL
		
	
	
		
			1.3 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
 | 
						|
import { useLogin } from "@/state/user";
 | 
						|
import { Redirect } from "wouter";
 | 
						|
 | 
						|
export function ProfilePage() {
 | 
						|
    const userInfo = useLogin();
 | 
						|
    if (!userInfo) {
 | 
						|
        console.error("User session expired. Redirecting to login page.");
 | 
						|
        return <Redirect to="/login" />;
 | 
						|
    }
 | 
						|
    // TODO: Add a logout button
 | 
						|
    // TODO: Add a change password button
 | 
						|
    return (
 | 
						|
        <div className="p-4">
 | 
						|
            <Card>
 | 
						|
                <CardHeader>
 | 
						|
                    <CardTitle className="text-2xl">Profile</CardTitle>
 | 
						|
                </CardHeader>
 | 
						|
                <CardContent>
 | 
						|
                    <div className="grid">
 | 
						|
                        <span className="text-muted-foreground text-sm">Username</span>
 | 
						|
                        <span className="text-primary text-lg">{userInfo.username}</span>
 | 
						|
                    </div>
 | 
						|
                    <div className="grid">
 | 
						|
                        <span className="text-muted-foreground text-sm">Permission</span>
 | 
						|
                        <span className="text-primary text-lg">{userInfo.permission.length > 1 ? userInfo.permission.join(",") : "N/A"}</span>
 | 
						|
                    </div>
 | 
						|
                </CardContent>
 | 
						|
            </Card>
 | 
						|
        </div>
 | 
						|
    )
 | 
						|
}
 | 
						|
 | 
						|
export default ProfilePage; |