0
0
mirror of https://github.com/yude-jp/yude.jp synced 2024-12-22 20:20:09 +09:00

Add UUID lookup function

Now player's profile page works on IGN query too
This commit is contained in:
yude 2021-10-03 13:12:11 +09:00
parent 979bbe2a7f
commit 9e2f51eb5f
Signed by: yude
GPG Key ID: EB0FE5D925C4A968
2 changed files with 59 additions and 2 deletions

View File

@ -7,8 +7,8 @@ const rewrites = async () => {
destination: '/minecraft/players/:uuid' destination: '/minecraft/players/:uuid'
}, },
{ {
source: '/minecraft/players/:uuid', source: '/minecraft/players/:ign',
destination: '/404' destination: '/minecraft/lookup/:ign'
} }
] ]
} }

View File

@ -0,0 +1,57 @@
// Base layout
import Layout from "../../components/Layout"
// React
import { useRouter } from 'next/router'
// Data fetching
import Players from '../../components/Minecraft/Players'
import useSwr from 'swr'
const fetcher = (url) => fetch(url).then((res) => res.json())
// Components
import WrongUUID from '../../components/Minecraft/WrongUUID'
export default function UUID() {
const router = useRouter()
const { ign } = router.query
const { data, error } = useSwr(
ign ? `https://api.ashcon.app/mojang/v2/user/${ign}` : null,
fetcher
)
if (error) {
return (
<>
<Layout title="エラー - プレイヤー情報">
<p className="text-2xl">エラーが発生しました</p>
</Layout>
</>
)
} else {
if (!data) {
return (
<>
<Layout title="読み込み中... - プレイヤー情報">
<p className="text-2xl">読み込み中</p>
</Layout>
</>
)
} else {
if (data.code) {
return (
<>
<Layout title="404 - プレイヤー情報">
<WrongUUID />
</Layout>
</>
)
} else {
router.push('/minecraft/players/' + data.uuid)
return (
<p>リダイレクトしています...</p>
)
}
}
}
}