mirror of
https://github.com/yude-jp/yude.jp
synced 2024-12-22 20:20:09 +09:00
Fix: Discord playing data fetching
This commit is contained in:
parent
22385a42c8
commit
52c8cd8d1c
@ -2,44 +2,37 @@
|
|||||||
import React, { useState, useEffect } from 'react';
|
import React, { useState, useEffect } from 'react';
|
||||||
|
|
||||||
// Data fetching
|
// Data fetching
|
||||||
import axios from 'axios';
|
import useSwr from 'swr'
|
||||||
|
const fetcher = (url) => fetch(url).then((res) => res.json())
|
||||||
|
|
||||||
// i18n
|
// i18n
|
||||||
import { useTranslation, useLanguageQuery } from 'next-export-i18n';
|
import { useTranslation, useLanguageQuery } from 'next-export-i18n';
|
||||||
|
|
||||||
function App (){
|
export default function DiscordPlaying() {
|
||||||
const [data, setData] = useState({ hits: [] });
|
const { t } = useTranslation();
|
||||||
useEffect(() => {
|
const [query] = useLanguageQuery();
|
||||||
const fetchData = async () => {
|
|
||||||
const result = await axios(
|
const { data, error } = useSwr(
|
||||||
'https://discord.com/api/guilds/723409709306216498/widget.json',
|
`https://discord.com/api/guilds/723409709306216498/widget.json`,
|
||||||
);
|
fetcher
|
||||||
setData(result.data);
|
)
|
||||||
};
|
if (error){
|
||||||
fetchData();
|
|
||||||
}, []);
|
|
||||||
if (data === undefined){
|
|
||||||
console.log("[Discord API] データの取得に失敗しました。 / Failed to retrieve data.")
|
console.log("[Discord API] データの取得に失敗しました。 / Failed to retrieve data.")
|
||||||
return <p></p>
|
return <></>
|
||||||
}else{
|
} else {
|
||||||
const str = JSON.stringify(data)
|
if (!data) {
|
||||||
|
return <p>Loading...</p>
|
||||||
if (str.indexOf("game") !== -1){
|
} else {
|
||||||
const yes_playing = t('yes_playing', {playing: data.members[0].game.name})
|
if (data.members) {
|
||||||
return <p>{yes_playing}</p>
|
if (data.members[0].game) {
|
||||||
}else{
|
const yes_playing = t('yes_playing', {playing: data.members[0].game.name})
|
||||||
return <></>
|
return <p>{yes_playing}</p>
|
||||||
}
|
} else {
|
||||||
|
return <></>
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return <></>
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
};
|
|
||||||
|
|
||||||
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 } }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export default App;
|
|
Loading…
Reference in New Issue
Block a user