From b05ceb0f37ddcf5ded7cf992089c875f628b734d Mon Sep 17 00:00:00 2001 From: SandraBergstrom Date: Thu, 29 Jun 2023 08:55:13 +0000 Subject: [PATCH] #51 Add traveler data and buttons to page --- src/pages/travelers/TravelerPage.js | 61 ++++++++++++++++++++++++++--- 1 file changed, 55 insertions(+), 6 deletions(-) diff --git a/src/pages/travelers/TravelerPage.js b/src/pages/travelers/TravelerPage.js index 282c4b3..06d6810 100644 --- a/src/pages/travelers/TravelerPage.js +++ b/src/pages/travelers/TravelerPage.js @@ -3,6 +3,7 @@ import React, { useEffect, useState } from "react"; import Col from "react-bootstrap/Col"; import Row from "react-bootstrap/Row"; import Container from "react-bootstrap/Container"; +import Image from "react-bootstrap/Image"; import Asset from "../../components/Asset"; @@ -14,13 +15,22 @@ import PopularTravelers from "./PopularTravelers"; import { useCurrentUser } from "../../contexts/CurrentUserContext"; import { useParams } from "react-router-dom/cjs/react-router-dom.min"; import { axiosReq } from "../../api/axiosDefaults"; -import { useSetTravelerData } from "../../contexts/TravelerDataContext"; +import { + useSetTravelerData, + useTravelerData, +} from "../../contexts/TravelerDataContext"; +import { Button } from "react-bootstrap"; function TravelerPage() { const [hasLoaded, setHasLoaded] = useState(false); const currentUser = useCurrentUser(); const { id } = useParams(); const setTravelerData = useSetTravelerData(); + const { pageTraveler } = useTravelerData(); + const [traveler] = pageTraveler.results; + const is_owner = currentUser?.username === traveler?.owner; + + const [travelerPosts, setTravelerPost] = useState({ results: [] }); useEffect(() => { const fetchData = async () => { @@ -44,16 +54,55 @@ function TravelerPage() { <> -

Image

+ -

Traveler username

-

Traveler stats

+

{traveler?.owner}

+ + +
{traveler?.posts_count}
+
posts
+ + +
{traveler?.followers_count}
+
followers
+ + +
{traveler?.following_count}
+
following
+ +
-

Follow button

+ {currentUser && + !is_owner && + (traveler?.following_id ? ( + + ) : ( + + ))} - Traveler content + {traveler?.content && {traveler.content}} + {traveler?.favorite_place && ( + {traveler.favorite_place} + )} + {traveler?.one_important_thing && ( + {traveler.one_important_thing} + )}
);