mirror of
https://github.com/yude-jp/yude.jp
synced 2024-12-22 12:10:11 +09:00
Add UUID lookup function
Now player's profile page works on IGN query too
This commit is contained in:
parent
979bbe2a7f
commit
9e2f51eb5f
@ -7,8 +7,8 @@ const rewrites = async () => {
|
||||
destination: '/minecraft/players/:uuid'
|
||||
},
|
||||
{
|
||||
source: '/minecraft/players/:uuid',
|
||||
destination: '/404'
|
||||
source: '/minecraft/players/:ign',
|
||||
destination: '/minecraft/lookup/:ign'
|
||||
}
|
||||
]
|
||||
}
|
||||
|
57
pages/minecraft/lookup/[ign].js
Normal file
57
pages/minecraft/lookup/[ign].js
Normal 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>
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user