const $ = _ => document.querySelector(_); const DiscordApi = { getUser: async () => { if (typeof localStorage.getItem('token') !== "string") return null; const req = await fetch('https://discord.com/api/v10/users/@me', { headers: { 'Authorization': `Bearer ${localStorage.getItem('token')}` } }); const res = await req.json(); DiscordApi.refreshToken(); return res; }, refreshToken: () => { if (typeof localStorage.getItem('refresh') !== "string") return null; fetch('https://crss-api.theclashfruit.workers.dev/refresh', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ authCode: localStorage.getItem('refresh') }) }) .then(res => res.json()) .then(res => { localStorage.setItem('token', res.access_token) localStorage.setItem('refresh', res.refresh_token) }) } } const displayUser = async () => { const user = await DiscordApi.getUser() $('.userButton').innerText = user.global_name } displayUser();