import { getAtk, readProfiles, useUserinfo } from "../stores/userinfo.tsx"; import { createSignal, Show } from "solid-js"; export default function PersonalPage() { const userinfo = useUserinfo(); const [error, setError] = createSignal(null); const [success, setSuccess] = createSignal(null); const [loading, setLoading] = createSignal(false); async function updateBasis(evt: SubmitEvent) { evt.preventDefault(); const data = Object.fromEntries(new FormData(evt.target as HTMLFormElement)); setLoading(true); const res = await fetch("/api/users/me", { method: "PUT", headers: { "Content-Type": "application/json", "Authorization": `Bearer ${getAtk()}` }, body: JSON.stringify(data) }); if (res.status !== 200) { setSuccess(null); setError(await res.text()); } else { await readProfiles(); setSuccess("Your basic information has been update."); setError(null); } setLoading(false); } async function updateAvatar(evt: SubmitEvent) { evt.preventDefault(); setLoading(true); const data = new FormData(evt.target as HTMLFormElement); const res = await fetch("/api/avatar", { method: "PUT", headers: { "Authorization": `Bearer ${getAtk()}` }, body: data }); if (res.status !== 200) { setSuccess(null); setError(await res.text()); } else { await readProfiles(); setSuccess("Your avatar has been update."); setError(null); } setLoading(false); } return (

Personalize

Customize your account and let us provide a better service to you.

); }