import React, { useState } from 'react' import { Link, useHistory } from 'react-router-dom' import useAuth from '@wasp/auth/useAuth.js' import getUser from '@wasp/queries/getUser' import getArticlesByUser from '@wasp/queries/getArticlesByUser' import getFavoritedArticles from '@wasp/queries/getFavoritedArticles' import followUser from '@wasp/actions/followUser' import { useQuery } from '@wasp/queries' import Navbar from './Navbar' import ArticleList from './ArticleList' import smileyImageUrl from './smiley.jpg' const UserProfilePage = (props) => { const history = useHistory() const { data: me } = useAuth() const username = props.match.params.username const { data: user, error: userError } = useQuery(getUser, { username }) // NOTE: use-query will retry multiple times in case of error, making user // wait relatively long before giving up on for example 404 and returning error, // while on the other hand we would probably like it to give up on 404 immediatelly! // Should we modify react-query default settings to not do any retrying? if (userError) { console.log(userError) history.push("/") } return user ? (
{ user.username }
{ user.bio }
{ me && me.username === username && (