-
-
@@ -200,66 +232,67 @@ export default function UserPage({ params }: { params: { id: string } }) {
+
+ {callouts.map((callout) => (
+
+ ))}
+
+
+
+
+
+
+ { setSelectedPeriod("week") }}>
+ Weekly
+
+ { setSelectedPeriod("month") }}>
+ Monthly
+
+
+
+
+
+
+
+ {history.map((entry) => (
+
+ ))}
+
+
-
+
setIsShareModalOpen(false)}
+ shareLink={window.location.href} // Pass the current URL to the ShareModal
+ />
>
);
-
- // return (
- //
- //
- //
- // {loading ? (
- // Loading...
- // ) : error ? (
- // Error: {error}
- // ) : userDetail ? (
- //
- //
- //

- //
{userDetail.tag}
- //
Joined: {formatDate(userDetail.joined_date)}
- //
Callout count: {userDetail.calloutCount}
- //
- //
- //
- // {periods.map((period) => (
- // setSelectedPeriod(period)}
- // >
- // {period}
- //
- // ))}
- //
- // {callouts.map((callout) => (
- //
- //
- //

- //
- //
{callout.id}
- //
{`$${callout.price_at_creation} => $${callout.froze_price}`}
- //
- //
- //
{`${callout.gains}%`}
- //
- //
- //
- // ))}
- //
- //
- // ) : (
- // User not found
- // )}
- //
- //
- //
- // );
}
+
+export default function WrappedUserPage(props) {
+ return (
+
+
+
+ );
+}
\ No newline at end of file
diff --git a/app/users/page.tsx b/app/users/page.tsx
index 6a7e7b1..90af795 100644
--- a/app/users/page.tsx
+++ b/app/users/page.tsx
@@ -5,6 +5,7 @@ import { motion } from 'framer-motion';
import Link from 'next/link';
import Header from '@/components/Header';
import Footer from '@/components/Footer';
+import { PrivyProvider } from '@privy-io/react-auth';
interface User {
username: string;
@@ -82,4 +83,10 @@ const Page: React.FC = () => {
);
};
-export default Page;
+export default function WrappedUsersPage(props) {
+ return (
+
+
+
+ );
+}
diff --git a/components/CalloutCard.tsx b/components/CalloutCard.tsx
new file mode 100644
index 0000000..696cebc
--- /dev/null
+++ b/components/CalloutCard.tsx
@@ -0,0 +1,49 @@
+import React from 'react';
+
+interface CalloutCardProps {
+ iconUrl: string;
+ token: string;
+ ca: string;
+ priceAtCreation: number;
+ priceNow: number;
+ gains: number;
+ dexUrl: string;
+}
+
+const CalloutCard: React.FC = ({
+ iconUrl,
+ token,
+ ca,
+ priceAtCreation,
+ priceNow,
+ gains,
+ dexUrl
+}) => {
+ const truncateAddress = (address: string) => {
+ return `${address.slice(0, 6)}...${address.slice(-5)}`;
+ };
+
+ return (
+
+
+

+
+
+ {token}
+
+
+ {truncateAddress(ca)}
+
+
+
+
{`$${priceAtCreation} => $${priceNow}`}
+
0 ? 'text-green-700' : 'text-red-700'}`}>{`${(gains * 100).toFixed(2)}%`}
+
+
+
+ );
+};
+
+export default CalloutCard;
diff --git a/components/Header.tsx b/components/Header.tsx
index b44ce15..4185b66 100644
--- a/components/Header.tsx
+++ b/components/Header.tsx
@@ -44,11 +44,8 @@ const Header: React.FC = () => {
return (
-
CallFi
+
CallFi