home page
This commit is contained in:
		
							parent
							
								
									5363ec8a68
								
							
						
					
					
						commit
						728bab5fee
					
				| @ -1 +1,2 @@ | ||||
| export * as auth from './auth' | ||||
| export * as user from './user' | ||||
|  | ||||
							
								
								
									
										16
									
								
								src/api/user.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								src/api/user.ts
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,16 @@ | ||||
| import axios from '@/utils/axios' | ||||
| 
 | ||||
| export interface UserEntity { | ||||
|   id: string | ||||
|   email: string | ||||
|   username: string | null | ||||
|   password: string | ||||
|   /** @format date-time */ | ||||
|   createdAt: string | ||||
|   /** @format date-time */ | ||||
|   updatedAt: string | ||||
| } | ||||
| 
 | ||||
| export async function getUserInfo() { | ||||
|   return axios.get<UserEntity>('/api/user/profile') | ||||
| } | ||||
| @ -1,3 +1,39 @@ | ||||
| import { useEffect, useState } from 'react' | ||||
| import * as api from '@/api' | ||||
| import type { UserEntity } from '@/api/user' | ||||
| import CircularProgress from '@mui/material/CircularProgress' | ||||
| import { AxiosError } from 'axios' | ||||
| import { useRouter } from 'next/router' | ||||
| 
 | ||||
| export default function Home() { | ||||
|   return <>hello world</> | ||||
|   const router = useRouter() | ||||
| 
 | ||||
|   const [user, setUser] = useState<UserEntity>() | ||||
|   useEffect(() => { | ||||
|     console.log('useEffect') | ||||
|     api.user | ||||
|       .getUserInfo() | ||||
|       .then((res) => { | ||||
|         setUser(res.data) | ||||
|       }) | ||||
|       .catch((err: AxiosError) => { | ||||
|         console.error(err.response) | ||||
|         router.push('/login') | ||||
|       }) | ||||
|   }, [router]) | ||||
| 
 | ||||
|   if (!user) { | ||||
|     return ( | ||||
|       <CircularProgress | ||||
|         sx={{ | ||||
|           position: 'fixed', | ||||
|           top: '30%', | ||||
|           left: '50%', | ||||
|           transform: 'translate(-50%, -50%)', | ||||
|         }} | ||||
|       /> | ||||
|     ) | ||||
|   } | ||||
| 
 | ||||
|   return <>hello {user.email}</> | ||||
| } | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user