diff --git a/pages/components/Minecraft/PlayerNameHolder.js b/pages/components/Minecraft/PlayerNameHolder.js
index d4b5d39..3aa3d44 100644
--- a/pages/components/Minecraft/PlayerNameHolder.js
+++ b/pages/components/Minecraft/PlayerNameHolder.js
@@ -1,40 +1,39 @@
-import React, { useState, useEffect } from 'react';
-import axios from 'axios';
+// Component
import Group from './Group';
+// Data fetching
+import useSwr from 'swr'
+
+const fetcher = (url) => fetch(url).then((res) => res.json())
+
function App (props) {
const uuid = props;
- const [data, setData] = useState({ hits: [] });
-
- useEffect(() => {
- const fetchData = async () => {
- let result = null;
- try {
- result = await axios('https://api.ashcon.app/mojang/v2/user/' + uuid.uuid);
- setData(result.data);
- } catch (err) {
- result = 404;
- setData(result);
- }
- };
- fetchData();
- }, []);
- if (data === undefined){
- console.log("[Minecraft: UUID to player's name] データの取得に失敗しました。 / Failed to retrieve data.")
- return <>取得中...>
- }else {
- if (data === 404) {
- return
そのようなプレイヤーは存在しません。
- } else {
+ const { data, error } = useSwr(
+ uuid.uuid ? `/api/PlayerName/${uuid.uuid}` : null,
+ fetcher
+ )
+
+ if (error) {
+ return (
+ <>エラーが発生しました。>
+ )
+ } else {
+ if (!data) {
+ return (
+ <>読み込み中...>
+ )
+ } else {
return (
-
-
UUID: {uuid.uuid}
-
{data.username}
-
-
+ <>
+
+
UUID: {uuid.uuid}
+
{data.username}
+
+
+ >
)
- }
- };
+ }
+ }
}
export default App;
\ No newline at end of file
diff --git a/pages/components/Minecraft/Players.js b/pages/components/Minecraft/Players.js
index 00081ae..6af4a37 100644
--- a/pages/components/Minecraft/Players.js
+++ b/pages/components/Minecraft/Players.js
@@ -1,3 +1,4 @@
+// Components
import Online from './Online'
import Head from './Head'
import PlayerNameHolder from './PlayerNameHolder'
diff --git a/pages/components/Minecraft/WrongUUID.js b/pages/components/Minecraft/WrongUUID.js
index 17fe182..81b6f75 100644
--- a/pages/components/Minecraft/WrongUUID.js
+++ b/pages/components/Minecraft/WrongUUID.js
@@ -1,7 +1,7 @@
function App (props) {
return (
-
-
入力された UUID は正しくありません。
+
+
入力された UUID に該当するプレイヤーが見つかりませんでした。
)
}
diff --git a/pages/minecraft/players/[uuid].js b/pages/minecraft/players/[uuid].js
index c0ad62a..00eb135 100644
--- a/pages/minecraft/players/[uuid].js
+++ b/pages/minecraft/players/[uuid].js
@@ -6,11 +6,12 @@ import { useRouter } from 'next/router'
// Data fetching
import Players from '../../components/Minecraft/Players'
-import PlayerName from '../../components/Minecraft/PlayerName'
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 { uuid } = router.query
@@ -36,13 +37,23 @@ export default function UUID() {
>
)
} else {
+ if (!data.username) {
return (
<>
-
-
+
+
>
)
+ } else {
+ return (
+ <>
+
+
+
+ >
+ )
+ }
}
}
}