2021-05-28 11:43:00 +09:00
|
|
|
import React, { useState, useEffect } from 'react';
|
|
|
|
import axios from 'axios';
|
2021-05-25 16:45:46 +09:00
|
|
|
import useTranslation from 'next-translate/useTranslation'
|
|
|
|
import { useRouter } from 'next/router'
|
|
|
|
|
2021-05-28 11:43:00 +09:00
|
|
|
function App (){
|
2021-05-25 16:45:46 +09:00
|
|
|
const router = useRouter()
|
|
|
|
const { locale, locales, defaultLocale, pathname } = router
|
|
|
|
const { t, lang } = useTranslation("common")
|
2021-05-28 11:55:00 +09:00
|
|
|
const [dataPlaying, setDataPlaying] = useState({ hits: [] });
|
2021-05-28 11:43:00 +09:00
|
|
|
useEffect(async () => {
|
|
|
|
const result = await axios(
|
|
|
|
'https://discord.com/api/guilds/723409709306216498/widget.json',
|
|
|
|
);
|
|
|
|
|
2021-05-28 11:55:00 +09:00
|
|
|
setDataPlaying(result.dataPlaying);
|
2021-05-28 11:43:00 +09:00
|
|
|
}, []);
|
2021-05-28 11:55:00 +09:00
|
|
|
if (dataPlaying === undefined){
|
2021-05-28 11:36:45 +09:00
|
|
|
console.log("[Discord API] データの取得に失敗しました。 / Failed to retrieve data.")
|
2021-05-28 10:42:03 +09:00
|
|
|
return <p></p>
|
|
|
|
}else{
|
2021-05-28 11:55:00 +09:00
|
|
|
const str = JSON.stringify(dataPlaying)
|
2021-05-28 11:26:28 +09:00
|
|
|
|
2021-05-28 10:42:03 +09:00
|
|
|
if (str.indexOf("game") !== -1){
|
2021-05-28 11:55:00 +09:00
|
|
|
const yes_playing = t('yes_playing', {playing: dataPlaying.members[0].game.name})
|
2021-05-25 16:45:46 +09:00
|
|
|
return <p>{yes_playing}</p>
|
|
|
|
}else{
|
2021-05-28 10:42:03 +09:00
|
|
|
return <p></p>
|
2021-05-25 16:45:46 +09:00
|
|
|
}
|
2021-05-28 10:42:03 +09:00
|
|
|
}
|
2021-05-25 16:45:46 +09:00
|
|
|
};
|
|
|
|
|
2021-05-28 11:26:28 +09:00
|
|
|
export async function getServerSideProps() {
|
|
|
|
// Fetch data from external API
|
|
|
|
const res = await fetch(url)
|
|
|
|
const data = await res.json()
|
|
|
|
|
|
|
|
// Pass data to the page via props
|
|
|
|
return { props: { data } }
|
|
|
|
}
|
|
|
|
|
2021-05-25 16:45:46 +09:00
|
|
|
export default App;
|