import React, { useEffect, useState } from 'react';
import { useRouteMatch } from 'react-router-dom';
import { useParams } from 'react-router-dom';
import * as BS from 'react-bootstrap';
import Popup from 'reactjs-popup';
import Twemoji from 'react-twemoji';
import { FaAddressCard } from "react-icons/fa";
import defaultAvatar from '../default_discord_avatar.png'
import Loading from "./Loading.js";
import API_URL from "../Constants/constants.js";
import ProfileList from "./ProfileList.js";
export default function Profile () {
const match = useRouteMatch("/pk-webs/profile/:sysID/:memberID");
const { sysID } = useParams();
const [ system, setSystem ] = useState('');
const [ name, setName ] = useState('');
const [ tag, setTag ] = useState("");
const [ timezone, setTimezone ] = useState("");
const [ desc, setDesc ] = useState("");
const [ avatar, setAvatar ] = useState('');
const [ isLoading, setIsLoading ] = useState(true);
const [ isError, setIsError ] = useState(false);
useEffect (() => {
fetch(`${API_URL}s/${sysID}`,{
method: 'GET'
}).then ( res => res.json()
).then (data => {
setSystem(data);
setIsLoading(false);
})
.catch (error => {
console.log(error);
setIsError(true);
setIsLoading(false);
})
}, [sysID])
useEffect(() => {
const { toHTML } = require('../Functions/discord-parser.js');
if (system.name) {
setName(system.name);
} else setName('');
if (system.avatar_url) {
var avatarsmall = system.avatar_url.replace('&format=jpeg', '');
setAvatar(avatarsmall.replace('?width=256&height=256', ''))
} else setAvatar('')
if (system.tag) {
setTag(system.tag);
} else setTag('');
if (system.tz) {
setTimezone(system.tz);
} else setTimezone('');
if (system.description) {
setDesc(toHTML(system.description));
} else setDesc("(no description)");
}, [system.description, system.tag, system.avatar_url, system.tz, system.name]);
return (match ? :
<>{ isLoading ? : isError ? Something went wrong, either the system doesn't exist, or there was an error fetching data. :
<>You are currently viewing a system.
{name} ({system.id})
{ system.avatar_url ? } className="avatar" modal>
{close => (
close()}>
)}
:
}
ID: {system.id}
Tag: {tag}
Timezone: {timezone}
Description:
{ localStorage.getItem('twemoji') ? : }
> }
>
)
}