Utoljára aktív 1711770842

gistfile1.txt Eredeti
1import { useEffect, useState } from 'react';
2import UserPage from '@/components/Global/User';
3import { NextSeo } from "next-seo";
4
5export default function UserProfilePage({ url }) {
6 const [userData, setUserData] = useState(null);
7 const apiUrl = process.env.NEXT_PUBLIC_API_URL;
8
9 useEffect(() => {
10 const fetchData = async () => {
11 try {
12 const response = await fetch(`${apiUrl}/v1/entity/${url}`);
13 if (response.ok) {
14 const data = await response.json();
15 setUserData(data.data);
16 } else {
17 console.error('Failed to fetch user data');
18 }
19 } catch (error) {
20 console.error('Error fetching user data:', error);
21 }
22 };
23
24 fetchData();
25 }, [apiUrl, url]);
26
27 return (
28 <>
29 <NextSeo
30 title="Profile"
31
32 description="View the selected user's profile"
33
34 openGraph={{
35 images: [
36 {
37 url: `https://cdn.dscinflux.xyz/assets/png/influx.png`,
38 width: 800,
39 height: 600,
40 alt: "Influx Logo",
41 },
42 ],
43 }}
44 twitter={{
45 cardType: "summary",
46 }}
47 />
48 <div>
49 {/* Render the UserPage component with fetched userData */}
50 {userData && <UserPage data={userData} />}
51 </div>
52 </>
53 );
54}
55
56// This function will be called at build time
57export async function getServerSideProps(ctx) {
58 // Extract the user URL from the context
59 const { url } = ctx.query;
60
61 // Pass the user URL as a prop to the component
62 return {
63 props: {
64 url
65 }
66 };
67}
68